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

Dadurch wird der neueste Dev-Erweiterungsbuild von der CDN heruntergeladen, die von dir genannten Presences werden gebündelt und eine dev-presences.json-Datei hineingeschrieben. Danach:

  1. Öffne chrome://extensions und aktiviere den Entwicklermodus
  2. Entpackte Erweiterung laden → wähle den generierten Ordner dist/extension-dev
  3. Die Presence installiert sich automatisch - kein API-Server, keine Installationsseite, keine Custom-API-URL nötig

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

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

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

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 hast (mit presences als Submodul), kannst du die Erweiterung direkt mit jeder eingebauten Presence bauen:

pnpm build:extension:dev

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

nowly build youtube
pnpm build:extension:dev

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

Presences auflisten

nowly list

Metadaten validieren

nowly validate