Command Palette

Search for a command to run...

CLI

Use a CLI do Nowly para criar, compilar, validar e testar presences localmente.

A CLI do Nowly é publicada como @nowly/cli no npm. Instale-a globalmente:

pnpm i -g @nowly/cli

Modo interativo

Execute a CLI sem argumentos para abrir um menu interativo:

nowly

Criar uma presence

nowly init "Netflix"

A pergunta interativa verifica se o Discord já suporta a plataforma quando o usuário vincula a conta. Isso grava discordNative em metadata.json. Você também pode passá-lo:

nowly init "Spotify" --discord-native

Compilar presences

Compile todas as presences:

nowly build

Compile uma presence:

nowly build youtube

Recompile quando os arquivos mudarem (recarregue a extensão não compactada após cada compilação, ou solte o zip novamente se usar pack):

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

Testar uma presence localmente

Há duas maneiras de carregar uma presence compilada sem a API do Nowly. Guia completo: Carregar e testar localmente.

Extensão pré-compilada

Se você apenas clonou o repositório presences (o caso comum para contribuidores), use nowly extension para obter um build de desenvolvimento pronto para carregar sem o monorepo completo do nowly:

nowly build youtube
nowly extension youtube             # Chrome (padrão)
nowly extension youtube --firefox
nowly extension youtube --f         # Alias do Firefox

Isso baixa o build de desenvolvimento correspondente do Chrome ou Firefox pelo CDN, inclui as presences listadas e grava um arquivo dev-presences.json. Em seguida:

  1. Chrome: abra chrome://extensions, ative o Modo desenvolvedor e escolha Carregar sem compactação → dist/extension-dev
  2. Firefox: abra about:debugging#/runtime/this-firefox, escolha This Firefox, clique em Load Temporary Add-on... e selecione dist/extension-dev-firefox/manifest.json

Depois de editar a presence, recompile, execute nowly extension <slug> novamente e recarregue a extensão.

Use --chrome / --c para Chrome e --firefox / --f para Firefox. As opções não podem ser usadas juntas.

Para usar um build local específico em vez do CDN, passe --from:

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

Zip solto

Se o Nowly já está carregado como um build de desenvolvimento não compactado, empacote a presence e solte-a no painel de Depuração:

nowly pack youtube

O zip é gravado em dist/packs/youtube.zip. Solte-o em Configurações → Avançado → Depuração. Zips não assinados só funcionam em builds não compactados, não em instalações da Chrome Web Store. A UI de depuração só aparece no modo desenvolvedor.

Se você tiver o monorepo completo

Se você clonou o próprio nowly e executou pnpm repos (que clona o presences em packages/presences), pode compilar a extensão com todas as presences incorporadas diretamente:

pnpm build:extension:dev --bundled

Recompile a presence alterada e depois a extensão a cada mudança:

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

Recarregue em chrome://extensions - a presence já está instalada e pronta para uso.

Listar presences

nowly list

Validar metadados

nowly validate