Prerequisites
- Node.js 20+
- pnpm 10+
- Chrome/Chromium for extension testing
- portless installed globally for end-to-end workflows
Source of Truth vs Generated Output
- Author extension code in
packages/extension-src - Do not edit files in
extension/directly extension/is generated build output (ignored in git)- Node package runtime output lives in
packages/*/dist(ignored in git)
Local Setup
pnpm install
pnpm run build
pnpm run checkCommon Commands
pnpm run build: compile packages, build extension, sync manifestpnpm run typecheck: TypeScript checkspnpm run lint: ESLint across JS/TS/TSXpnpm run test:unit: package build and Vitest suitepnpm run test:smoke: smoke validation for built assets and CLI shimspnpm run test:pack-smoke: tarball install smoke test
Contribution Expectations
- Preserve CLI command and flag compatibility for v1.x
- Preserve config and workspace registry format compatibility
- Preserve extension storage key migration behavior
- Keep PRs focused and include tests for behavior changes
