CLI
Usa la CLI de Nowly para crear, compilar, validar y probar presencias localmente.
La CLI de Nowly se publica como @nowly/cli en npm. Instálala de forma global:
pnpm i -g @nowly/cliModo interactivo
Ejecuta la CLI sin argumentos para abrir un menú interactivo:
nowlyCrear una presencia
nowly init "Netflix"El prompt interactivo pregunta si Discord ya admite la plataforma cuando el usuario vincula su cuenta. Eso escribe discordNative en metadata.json. También puedes pasarlo:
nowly init "Spotify" --discord-nativeCompilar presencias
Compila todas las presencias:
nowly buildCompila una presencia:
nowly build youtubeRecompila al cambiar archivos (recarga la extensión unpacked después de cada rebuild, o vuelve a soltar el zip con pack):
nowly build youtube --watch
nowly pack youtube --watchProbar una presencia localmente
Hay dos formas de cargar una presencia compilada sin la API de Nowly. Guía completa: Cargar y probar en local.
Extensión precompilada
Si solo has clonado el repositorio presences (el caso más común para colaboradores), usa nowly extension para obtener una build de desarrollo lista para cargar, sin el monorepo nowly completo:
nowly build youtube
nowly extension youtube # Chrome (por defecto)
nowly extension youtube --firefox
nowly extension youtube --f # Alias de FirefoxEsto descarga la build de desarrollo correspondiente de Chrome o Firefox desde el CDN, empaqueta las presencias indicadas y escribe dev-presences.json. Después:
- Chrome: abre
chrome://extensions, activa el modo desarrollador y elige Cargar extensión sin empaquetar →dist/extension-dev - Firefox: abre
about:debugging#/runtime/this-firefox, elige This Firefox, pulsa Load Temporary Add-on... y seleccionadist/extension-dev-firefox/manifest.json
Después de editar la presencia, recompílala, vuelve a ejecutar nowly extension <slug> y recarga la extensión.
Usa --chrome / --c para Chrome y --firefox / --f para Firefox. No se pueden usar ambas opciones a la vez.
Para usar una build local específica en lugar de la del CDN, pasa --from:
nowly extension youtube --chrome --from ../nowly/apps/extension/dist/chrome
nowly extension youtube --firefox --from ../nowly/apps/extension/dist/firefoxSoltar un zip
Si Nowly ya está cargada como build de desarrollo unpacked, empaqueta la presencia y suelta el zip en el panel Debug:
nowly pack youtubeEl zip se escribe en dist/packs/youtube.zip. Suéltalo en Ajustes → Avanzado → Debug. Los zips sin firma solo funcionan en unpacked, no en instalaciones de Chrome Web Store. El modo desarrollador solo muestra la interfaz Debug.
Si tienes el monorepo completo
Si has clonado nowly en sí y ejecutado pnpm repos (que clona presences en packages/presences), puedes compilar la extensión con todas las presencias incluidas directamente:
pnpm build:extension:dev --bundledRecompila la presencia modificada y luego la extensión después de cada cambio:
nowly build youtube
pnpm build:extension:dev --bundledRecarga en chrome://extensions - la presencia ya está instalada y lista para usar.
Listar presencias
nowly listValidar metadatos
nowly validate