CLI

Use the Nowly CLI to create, build, validate, and test presences locally.

The Nowly CLI is published as @nowly/cli on npm. Install it globally:

pnpm i -g @nowly/cli

Interactive Mode

Run the CLI without arguments to open an interactive menu:

nowly

Create a Presence

nowly init "Netflix"

Build Presences

Build every presence:

nowly build

Build one presence:

nowly build youtube

Test a Presence Locally

If you only cloned the presences repository (the common case for contributors), use nowly extension to get a ready-to-load dev build without the full nowly monorepo:

nowly build youtube
nowly extension youtube

This downloads the latest dev extension build from the CDN, bundles the presence(s) you list, and writes a dev-presences.json file into it. Then:

  1. Open chrome://extensions, enable Developer mode
  2. Load unpacked → select the generated dist/extension-dev folder
  3. The presence installs automatically — no API server, no install page, no Custom API URL needed

After editing the presence, rebuild and rerun nowly extension <slug>, then reload the extension.

To use a specific local extension build instead of the CDN one, pass --from:

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

If you have the full monorepo

If you cloned nowly itself (with presences as a submodule), you can build the extension with every presence baked in directly:

pnpm build:extension:dev

Rebuild the changed presence then the extension after each change:

nowly build youtube
pnpm build:extension:dev

Reload at chrome://extensions — the presence is already installed and ready to use.

List Presences

nowly list

Validate Metadata

nowly validate