Contributing
September 17, 2026 · View on GitHub
Setup
Node.js 24 and pnpm 11.9.0. From the repository root:
pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
pnpm exec playwright install chromium
pnpm test:e2e
Do not put TypeSafe keys, client tokens, or raw judgment text in Git, logs, fixtures, or pull requests.
Layout
packages/contracts— function DSL and HTTP bodiesapps/server— SQLite, auth, invoke, TypeSafe provider, integrationsapps/web— local admin UIapps/mcp/apps/pi-extension— HTTP clients only; they do not read the database or the vendor keyspecs/— the behavior source of truthtests/— Vitest and Playwright; fixtures are explicit test/demo only
Changes
Match existing TypeScript style. Run pnpm format before a review. If behavior, APIs, or data change, update the unique spec under specs/ first. Do not add a second fallback provider. Do not rewrite a user’s Agent config except through the plan/apply adapters.