Command Palette

Search for a command to run...

CLI

Nutze die Nowly-CLI, um Presences lokal zu erstellen, zu bauen, zu validieren und zu testen.

Die Nowly-CLI wird als @nowly/cli auf npm veröffentlicht. Installiere sie global:

pnpm i -g @nowly/cli

Interaktiver Modus

Führe die CLI ohne Argumente aus, um ein interaktives Menü zu öffnen:

nowly

Eine Presence erstellen

nowly init "Netflix"

Die interaktive Abfrage fragt, ob Discord die Plattform bereits unterstützt, wenn der Nutzer sein Konto verknüpft. Dadurch wird discordNative in metadata.json geschrieben. Du kannst es auch direkt mitgeben:

nowly init "Spotify" --discord-native

Presences bauen

Jede Presence bauen:

nowly build

Eine Presence bauen:

nowly build youtube

Bei Dateiänderungen neu bauen (nach jedem Build die entpackte Erweiterung neu laden, oder das Zip erneut ablegen, wenn du pack verwendest):

nowly build youtube --watch
nowly pack youtube --watch

Eine Presence lokal testen

Es gibt zwei Möglichkeiten, eine gebaute Presence ohne die Nowly-API zu laden. Vollständige Anleitung: Lokal laden und testen.

Vorgefertigte Erweiterung

Wenn du nur das presences-Repository geklont hast (der übliche Fall für Mitwirkende), verwende nowly extension, um einen direkt ladbaren Dev-Build ohne das vollständige nowly-Monorepo zu erhalten:

nowly build youtube
nowly extension youtube             # Chrome (standardmäßig)
nowly extension youtube --firefox
nowly extension youtube --f         # Firefox-Alias

Dadurch wird der passende Chrome- oder Firefox-Dev-Build von der CDN heruntergeladen, die von dir genannten Presences werden gebündelt und eine dev-presences.json-Datei hineingeschrieben. Danach:

  1. Chrome: Öffne chrome://extensions, aktiviere den Entwicklermodus und wähle Entpackte Erweiterung laden → dist/extension-dev
  2. Firefox: Öffne about:debugging#/runtime/this-firefox, wähle This Firefox, klicke auf Load Temporary Add-on... und wähle dist/extension-dev-firefox/manifest.json

Baue nach dem Bearbeiten der Presence neu und führe nowly extension <slug> erneut aus, danach lade die Erweiterung neu.

Verwende --chrome / --c für Chrome und --firefox / --f für Firefox. Die Optionen können nicht gemeinsam verwendet werden.

Um einen bestimmten lokalen Erweiterungsbuild statt des CDN-Builds zu verwenden, übergib --from:

nowly extension youtube --chrome --from ../nowly/apps/extension/dist/chrome
nowly extension youtube --firefox --from ../nowly/apps/extension/dist/firefox

Zip-Drop

Wenn Nowly bereits als entpackter Dev-Build geladen ist, packe die Presence und lege sie im Debug-Bereich ab:

nowly pack youtube

Das Zip wird nach dist/packs/youtube.zip geschrieben. Lege es unter Einstellungen → Erweitert → Debug ab. Unsignierte Zips funktionieren nur bei entpackten Builds, nicht bei Chrome-Web-Store-Installationen. Die Debug-UI wird nur im Entwicklermodus angezeigt.

Wenn du das vollständige Monorepo hast

Wenn du nowly selbst geklont und pnpm repos ausgeführt hast (das presences nach packages/presences klont), kannst du die Erweiterung direkt mit jeder eingebauten Presence bauen:

pnpm build:extension:dev --bundled

Baue nach jeder Änderung zuerst die geänderte Presence, dann die Erweiterung neu:

nowly build youtube
pnpm build:extension:dev --bundled

Lade unter chrome://extensions neu - die Presence ist bereits installiert und einsatzbereit.

Presences auflisten

nowly list

Metadaten validieren

nowly validate