Skip to content

Development workflow

From the repository root:

CommandPurpose
pnpm installInstall dependencies
pnpm typecheckMonorepo gate — orchestrates core, cli, and per-app checks (web:typecheck, landing:typecheck, docs:typecheck, report:typecheck, worker build, extension webview, …)
pnpm testVitest
pnpm buildProduction build chain — CLI (includes embedded report HTML via cli:build), web, landing, docs, extension, worker compile gates (see root package.json)
pnpm cli:buildtsupdist/ only (run before pnpm test if integration tests execute dist/cli.js)
pnpm dev -- --helpRun CLI via tsx
pnpm generate:languagesRegenerate languages.json
pnpm docs:syncOne-shot copy docs/apps/docs/content/
pnpm docs:sync:verifyCI gate — verify docs:sync is idempotent (uses apps/docs/scripts/verify.mjs)
pnpm docs:devVitePress dev (port 8282, or next free if busy) plus live sync — edits under docs/ mirror into apps/docs/content/ (apps/docs/scripts/dev.mjs)
pnpm --filter @i18nprune/docs dev:no-watchOne sync then VitePress only (no file watcher)
pnpm web:devRuntime web console (apps/web, web.i18nprune.dev)
pnpm web:buildProduction build of runtime web (apps/web/dist)
pnpm landing:devProduct landing site (apps/landing)
pnpm landing:buildProduction build of landing (apps/landing/dist)
pnpm report:devReport SPA dev (apps/report)
pnpm report:buildReport SPA bundle (apps/report/dist) — also run via cli:build
pnpm git:devGit analytics SPA dev (apps/git, git.i18nprune.dev, port 5190)
pnpm git:buildGit analytics production build (apps/git/dist)
pnpm docs:buildStatic export

Docs site navigation: the left nav is hand-curated in apps/docs/.vitepress/sidebar.ts (plus top nav in config.mts). After significant docs/ IA moves, update those entries so the sidebar matches new paths.

Authoritative prose lives under docs/. Use pnpm docs:dev for normal editing (watch keeps content/ in sync). For a single export without starting the server, run pnpm docs:sync.