Thank you for contributing.
This project is local-first and protocol-sensitive. Changes are easiest to review when they are small, reproducible, and documented with clear behavioral intent.
- Read
README.mdfor setup and command surface. - Read
docs/architecture.mdfor invariants and boundaries. - Read protocol references in
docs/protocol/for app-server semantics. - Read
docs/ops.md+docs/operations/for validation and troubleshooting flows.
From repository root:
pnpm install
cp apps/api/.env.example apps/api/.env
cp apps/web/.env.example apps/web/.env
pnpm dev- Create a focused branch.
- Make minimal, coherent changes.
- Run relevant validation locally.
- Update docs in the same change when behavior/workflow/config changes.
Recommended validation before opening a PR:
pnpm gen
pnpm typecheck
pnpm test
pnpm build
pnpm smoke:runtime
pnpm test:e2eUse explicit staging. Do not use blanket staging commands.
Good:
git add README.md docs/ops.md apps/api/src/index.tsAvoid:
git add .Use clear commit messages. Conventional commit style is preferred (for example: feat: ..., fix: ..., docs: ..., test: ...).
Each PR should include:
- What changed.
- Why the change was needed.
- Any behavior/config/workflow impacts.
- Validation commands run and their results.
If the change affects API surface, protocol handling, approvals, session lifecycle, or operational setup, update docs under docs/ in the same PR.
At the end of each implementation turn, assess whether external behavior or workflows changed.
If yes:
- update documentation in the same commit.
If no:
- no docs changes are required.
When docs and implementation diverge, implementation is considered incomplete until docs are corrected.
Please include:
- environment (
node,pnpm,codex --version) - reproduction steps
- expected behavior
- actual behavior
- relevant logs (
.data/logs/codex.logand API console output)