Development setup
Requirements: Node.js 24 or later. The package pins [email protected] as its package manager.
npm installCore commands
Section titled “Core commands”| Command | What it does |
|---|---|
npm run dev | Starts the Vite dev server |
npm run build | Production build |
npm run test | Vitest, interactive |
npm run test:run | Vitest, single run |
npm run lint | Biome lint across src, shared, electron/main, worker, echo, echo-local, cli, extension/chrome, extension/vscode, tests, scripts |
npm run format | Biome format, write mode |
npm run architecture:check | Enforces runtime dependency directions, cycles, and file-size ratchets |
npm run validate | The full gate: static/type/architecture checks, root and workspace tests with coverage, all production builds, Electron runtime-import verification, and size budgets |
The type-check vs type-check:all gotcha
Section titled “The type-check vs type-check:all gotcha”npm run type-check runs tsc --noEmit against the root tsconfig.json only. That config’s exclude array is:
["node_modules", "dist", "out", "worker", "electron/main", "cli", "extension", "docs-site"]npm run type-check:all is the command that actually covers them: it runs the base renderer check, the TypeScript-tooling and checked-JavaScript ratchets, five more tsc --noEmit -p <tsconfig> project builds (electron/tsconfig.json, src/features/http/tsconfig.json, worker/tsconfig.json, echo/tsconfig.json, echo-local/tsconfig.json), plus the CLI, Chrome extension, and VS Code workspace type-checks. npm run validate — and CI — use type-check:all, not the plain type-check.