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 youtubeEsto descarga la última build de desarrollo de la extensión desde el CDN, empaqueta la(s) presencia(s) indicadas y escribe un archivo dev-presences.json dentro. Luego:
- Abre
chrome://extensions, activa el modo desarrollador - Cargar extensión sin empaquetar → selecciona la carpeta generada
dist/extension-dev - La presencia se instala automáticamente - sin servidor API, sin página de instalación, sin URL de API personalizada
Después de editar la presencia, recompílala y vuelve a ejecutar nowly extension <slug>, y recarga la extensión.
Para usar una build local específica en lugar de la del CDN, pasa --from:
nowly extension youtube --from ../nowly/apps/extension/dist/chromeSoltar 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í (con presences como submódulo), puedes compilar la extensión con todas las presencias incluidas directamente:
pnpm build:extension:devRecompila la presencia modificada y luego la extensión después de cada cambio:
nowly build youtube
pnpm build:extension:devRecarga en chrome://extensions - la presencia ya está instalada y lista para usar.
Listar presencias
nowly listValidar metadatos
nowly validate