Documentation

Contributing

Local development workflow, expectations, and source-of-truth guidance.

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 check

Common Commands

  • pnpm run build: compile packages, build extension, sync manifest
  • pnpm run typecheck: TypeScript checks
  • pnpm run lint: ESLint across JS/TS/TSX
  • pnpm run test:unit: package build and Vitest suite
  • pnpm run test:smoke: smoke validation for built assets and CLI shims
  • pnpm 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