Command Palette

Search for a command to run...

CLI

Nowly CLIを使って、プレゼンスをローカルで作成、ビルド、検証、テストします。

Nowly CLIはnpmで @nowly/cli として公開されています。グローバルにインストールします:

pnpm i -g @nowly/cli

対話モード

引数なしでCLIを実行すると、対話メニューが開きます:

nowly

プレゼンスを作成する

nowly init "Netflix"

対話プロンプトは、ユーザーがアカウントを連携した場合にDiscordがすでにそのプラットフォームに対応しているかどうかを尋ねます。それが metadata.jsondiscordNative に書き込まれます。直接指定することもできます:

nowly init "Spotify" --discord-native

プレゼンスをビルドする

すべてのプレゼンスをビルド:

nowly build

個別のプレゼンスをビルド:

nowly build youtube

ファイルの変更時に再ビルドします(pack を使用する場合は、再ビルドごとにパッケージ化されていない拡張機能を再読み込みするか、zipをドロップし直します):

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

プレゼンスをローカルでテストする

Nowly APIなしでビルド済みプレゼンスを読み込むには、2つの方法があります。完全な手順はローカルでの読み込みとテストを参照してください。

ビルド済み拡張機能

presences リポジトリのみをクローンした場合(コントリビューターの一般的なケース)、nowly extension を使用して、完全な nowly モノレポなしでそのまま読み込める開発ビルドを取得します:

nowly build youtube
nowly extension youtube

最新の開発版拡張機能ビルドがCDNからダウンロードされ、指定したプレゼンスがバンドルされ、dev-presences.json ファイルが書き込まれます。その後:

  1. chrome://extensions を開き、デベロッパーモードを有効にします
  2. パッケージ化されていないものを読み込み → 生成された dist/extension-dev フォルダを選択します
  3. プレゼンスが自動的にインストールされます - APIサーバーも、インストールページも、カスタムAPI URLも必要ありません

プレゼンスを編集したら、再ビルドして nowly extension <slug> を再実行し、拡張機能を再読み込みします。

CDN版の代わりに特定のローカル拡張機能ビルドを使用するには、--from を渡します:

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

zipドロップ

Nowlyがすでにパッケージ化されていない開発ビルドとして読み込まれている場合は、プレゼンスをパッケージ化してデバッグパネルにドロップします:

nowly pack youtube

zipは dist/packs/youtube.zip に書き込まれます。設定 → 高度な設定 → デバッグにドロップしてください。署名なしのzipはパッケージ化されていないビルドでのみ機能し、Chrome Web Storeからのインストールでは機能しません。デバッグUIはデベロッパーモードでのみ表示されます。

完全なモノレポがある場合

nowly 自体をクローンした場合(presences をサブモジュールとして含む)、すべてのプレゼンスを組み込んだ拡張機能を直接ビルドできます:

pnpm build:extension:dev

変更のたびに、変更したプレゼンスを再ビルドしてから拡張機能を再ビルドします:

nowly build youtube
pnpm build:extension:dev

chrome://extensions で再読み込みします - プレゼンスはすでにインストール済みで、すぐに使用できます。

プレゼンスを一覧表示する

nowly list

メタデータを検証する

nowly validate