Thanks for helping with opencodex.
- Start with the canonical guide: Contributing
- Public user docs live in
docs-site/ - Current maintainer invariants live in
structure/ - Maintainer roles and merge policy live in
MAINTAINERS.md - Historical investigations live in
docs/
dev— default integration target for pull requests.dev2-go— parallel integration line for the Go native port (go/, the native runtime entrypoint, and the Go release-asset tooling). Open for pull requests alongsidedev. Send work here only when it belongs to the Go port; anything else goes todev. The automated check accepts both targets and cannot tell them apart, so scope is settled in review.main— releases only; moves by maintainer-controlled promotion fromdev.preview— prerelease train.
Porting and rebase pull requests are welcome: carrying a fix across integration lines, or rebasing a stale branch onto the current head, is normal contribution. Note the source commits in the description.
Agent-facing repository and review rules live in AGENTS.md.
For local development commands, architecture notes, and release workflow details, use the hosted contributing guide above instead of duplicating instructions here.
Source development requires the bun CLI on your PATH. The published npm package bundles its own
Bun runtime for end users, but contributor commands such as bun install, bun run test, and
bun run prepush run from your local Bun installation.
After cloning, run once to install a local pre-push hook that runs the typecheck,
GUI eslint, unit-test, privacy-scan, and (when gui/ changed) React Doctor
portions of the CI gate:
bun run setup:hooksThis installs a pre-push hook (into the hooks dir git reports, so worktrees and
core.hooksPath work) that runs bun run prepush — typecheck, lint:gui,
test, privacy:scan, and doctor:gui:if-changed — before every git push.
The same checks run on ubuntu-latest, macos-latest, and windows-latest in CI (CI
additionally builds the GUI and smoke-tests the CLI). Skip in an emergency with
git push --no-verify.