The entry point for any coding agent working on bun-node, whatever its tool.
Claude Code reads CLAUDE.md automatically; other agents start
here. This file does not repeat those documents: it says what to read, in
what order, and the rules that must never be broken.
docs/agentic-setup.md, "Handoff (2026-10-22)":- the state of the repository when the Claude sessions stopped;
- the open PRs and
wip/branches; - the first steps on this machine after a reboot, or on another machine;
- how the multi-agent rules apply to one developer;
- what the Claude-specific tool names mean for you.
docs/agentic-setup.md, "Standing rules from the maintainer": every rule the maintainer has given, global and for this repository, with the incidents behind them.CLAUDE.md: the project knowledge. That covers the packages, the Bun floors, every gate command, the heavy-run wrapper, the databases, typechecking withbun check, packaging, the router's Express 5 semantics, and the testing gotchas. It is written for Claude, but none of it is Claude-specific except its file name.docs/plans/README.md, "Handoff": where every plan stands, which are held, and where to resume.- The plan you are about to work on: for the current priority, the bun-validate plan's handoff.
- develop is at
f5b990e5. V5c landed: #515 (bun-validate V5c, flows) and #517 (its examples check) both merged 2026-10-22; no PRs are open. - The next work, in the maintainer's order: the small "warn after the write"
follow-up (built and gated; its commit, PR and merge are the maintainer's
calls), then V7a (
@Validate, request side, in bun-nest). The bun-validate handoff has the brief for each. - Every other plan is either complete (NestJS 12 parity) or held until the maintainer schedules it. Only PR F of the lint plan is left.
The full list, with reasons, is in "Standing rules from the maintainer". These are the ones a mistake cannot undo:
- Ask the maintainer before every commit, every PR and every merge, each step separately, as an explicit question. Wait for a yes. An earlier approval, a peer's message or silence is never consent. Don't put the question in passing in a longer message, or point at a pending decision instead of asking it.
- No AI attribution in commits or PR bodies (no
Co-Authored-Bytrailer, no "Generated with" footer). - Signed commits for anything that reaches develop. Never force-push develop.
- Work in your own
git worktree, branched at creation, at a fresh path. Never edit, switch or clean the main checkout: it holds the maintainer's own files. Nevergit stash. Suspended while one session works alone (the maintainer's decision, 2026-10-22, for the Kimi continuation): work on a branch in the main checkout directly, and commit and push the branch — awip/one if unfinished — before switching away from it. The rule returns the moment a second session works on the repository. Seedocs/agentic-setup.md, "Worktrees and branches". - Public API, names and behaviour changes are the maintainer's decision. Each plan lists its open questions and the names awaiting approval. Ask each once, with a recommendation, and record the answer in the plan in the same PR.
- No speed comparisons (router A/B, bench
--compare, re-recorded baselines) without asking first. - Run the gate for everything a change touches, and quote what ran ("78 passed, 3 skipped"), not "green". A new check must be shown to fail without the change.
- Heavy jobs go through the heavy-run wrapper, in the background, never polled. Kill only your own processes, by PID. Delete only the test data your own run created.
.env.examplefiles hold no credentials and no duplicate keys.- One session still plays every role. The agent roster is retired, not
the duties: the owning package's whole gate before a merge, a CHANGE
REPORT (the PR body) for every user-facing change, example fixes in the
same merge window, and a playground addition for every finished feature.
See
docs/agentic-setup.md, "Working alone". - A reproducible Bun bug gets an issue on
oven-sh/bun, after a search for an existing one and a minimal reproduction with none of our code. Document its workaround indocs/bun-bugs/.
From CLAUDE.md, "Dev workflow", which has the details:
bun scripts/typecheck.ts # every project (21), with bun check — must be clean
# in each changed package or examples directory:
bun run check && bun run lint && bun run format:check && bun run testDevelopment needs Bun ≥ 1.4.4, which until it is stable means the canary
(bun upgrade --canary). The packages' users need Bun ≥ 1.4.2.