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/cliInteraktiver Modus
Führe die CLI ohne Argumente aus, um ein interaktives Menü zu öffnen:
nowlyEine 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-nativePresences bauen
Jede Presence bauen:
nowly buildEine Presence bauen:
nowly build youtubeBei 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 --watchEine 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 youtubeDadurch 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:
- Öffne
chrome://extensionsund aktiviere den Entwicklermodus - Entpackte Erweiterung laden → wähle den generierten Ordner
dist/extension-dev - 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/chromeZip-Drop
Wenn Nowly bereits als entpackter Dev-Build geladen ist, packe die Presence und lege sie im Debug-Bereich ab:
nowly pack youtubeDas 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:devBaue nach jeder Änderung zuerst die geänderte Presence, dann die Erweiterung neu:
nowly build youtube
pnpm build:extension:devLade unter chrome://extensions neu - die Presence ist bereits installiert und einsatzbereit.
Presences auflisten
nowly listMetadaten validieren
nowly validate