Command Reference
All scripts run from the product monorepo root with pnpm run <script>.
Development
| Command | Purpose |
|---|---|
pnpm dev | Start all extension dev servers (main, popup, in-page, background) plus Firebase emulators via Turbo |
pnpm dev:main | Vite dev server for main dashboard (full-page tab) |
pnpm dev:popup | Vite dev server for extension popup |
pnpm dev:in-page | Vite 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
| Command | Output |
|---|---|
pnpm build:chrome | Chrome/Chromium extension package in apps/extension/dist |
pnpm build:firefox | Firefox extension package in apps/extension/dist |
pnpm build:edge | Microsoft Edge extension package in apps/extension/dist (same as Chrome build; Edge is Chromium-based) |
pnpm build:safari | Safari-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
| Command | What it checks |
|---|---|
pnpm lint | Manifest permission policy + ESLint + TypeScript |
pnpm lint:manifest-permissions | Manifest permission policy only (repo-manifest-lint) |
pnpm lint:es | ESLint only |
pnpm lint:ts | TypeScript type checking only |
pnpm format | Prettier auto-format |
pnpm format:check | Prettier check (no write) |
pnpm quality:check | Full CI gate: format check + lint + typecheck + test |
See Quality Gates for the full pipeline and manifest compliance rules.
Other
| Command | Purpose |
|---|---|
pnpm test | Run all package tests |
pnpm typecheck | Turborepo typecheck across packages |
pnpm prepare | Husky git hooks (runs on install) |