Skip to main content

Command Reference

All scripts run from the product monorepo root with pnpm run <script>.

Development

CommandPurpose
pnpm devStart all extension dev servers (main, popup, in-page, background) plus Firebase emulators via Turbo
pnpm dev:mainVite dev server for main dashboard (full-page tab)
pnpm dev:popupVite dev server for extension popup
pnpm dev:in-pageVite dev server for content script (injected into pages)

Use pnpm dev for a single command; it starts all dev tasks in parallel. Run pnpm build:chrome in another terminal to produce the assembled extension in apps/extension/dist. Load that folder in Chrome as an unpacked extension.

Backends: pnpm dev includes Firebase emulators (when using Firebase backend). If you use Supabase, run supabase functions serve --env-file envs/.env.supabase.local separately; Supabase edge functions are not started by pnpm dev. For Custom backend, run your API locally and set env vars to point at it.

To run only extension apps (no Firebase emulators): turbo run dev --filter=./apps/main --filter=./apps/popup --filter=./apps/in-page --filter=./apps/background.

Build

CommandOutput
pnpm build:chromeChrome/Chromium extension package in apps/extension/dist
pnpm build:firefoxFirefox extension package in apps/extension/dist
pnpm build:edgeMicrosoft Edge extension package in apps/extension/dist (same as Chrome build; Edge is Chromium-based)
pnpm build:safariSafari-compatible package via Apple packager (macOS only; runs build:chrome then xcrun safari-web-extension-packager)

Chromium-based browsers (Chrome, Brave, Edge, Opera) use the Chrome or Edge build; Gecko-based browsers (Firefox, Zen) use the Firefox build. For Safari, see the Safari guide.

Lint & Quality

CommandWhat it checks
pnpm lintManifest permission policy + ESLint + TypeScript
pnpm lint:manifest-permissionsManifest permission policy only (repo-manifest-lint)
pnpm lint:esESLint only
pnpm lint:tsTypeScript type checking only
pnpm formatPrettier auto-format
pnpm format:checkPrettier check (no write)
pnpm quality:checkFull CI gate: format check + lint + typecheck + test

See Quality Gates for the full pipeline and manifest compliance rules.

Other

CommandPurpose
pnpm testRun all package tests
pnpm typecheckTurborepo typecheck across packages
pnpm prepareHusky git hooks (runs on install)