Every change follows: Issue → Branch → Commit → PR → Review → Merge → Cleanup
- Create an issue — describe the bug, feature, or refactor
- Branch —
feat/<issue>-short-desc|fix/<issue>-short-desc|refactor/<issue>-short-desc - Implement — follow conventions below
- Commit — conventional commits:
feat:,fix:,refactor:,docs:,test: - PR — fill template, reference issue with
Closes #N - Review — architect reviews, CI passes
- Merge — squash merge, delete branch
- Cleanup —
git checkout main && git pull --ff-only && git branch -D <branch>
- Source file:
src/four-opencode-brain.ts(notsrc/index.ts) - Language: TypeScript, strict mode, ESM
- Target: Bun
- Format: No semicolons, single quotes, 2-space indent
feat: short description #42
fix: short description #42
docs: short description #50
Always reference the issue number.
bun run build # Full build (Bun server + tsc TUI + vec0 extraction)
bun test # Run testsEvery code change must end with a successful bun run build. Dist is gitignored.
Three internal engines:
- Ingest — File walker, hash dedup, chunker, embeddings
- Search — Unified hybrid search (FTS5 + vec0)
- Memory — Session/project-scoped notes (SQLite)
See ROADMAP.md for the evolution plan.