Colibri is a documentation-first project. The active canon is docs/. No Node.js source code exists yet — Phase 0 bootstrap has not started.
Colibri is maintained for correctness, traceability, and safe docs updates. The only long-lived integration branch is main; executor work should stay on short-lived feature branches and feature worktrees.
First time contributing to Colibri? Pick one of these no-build-environment PRs — they take 20-30 minutes and need nothing but a text editor:
-
Fix a typo in the docs — Find a typo in any file under
docs/and fix it. Start indocs/index.mdif you need suggestions. Read: any Greek-letter concept page reachable fromdocs/world-schema.md. -
Add a missing term to the glossary — Browse
docs/reference/glossary.mdand add a term you think is missing from Colibri's vocabulary. Read:docs/reference/glossary.md. -
Add a Mermaid diagram to a concept — Pick a concept page reachable from
docs/world-schema.mdthat lacks a diagram and sketch one. (If the concept needs a system flow, architecture box, or timeline, you just found a good starter contribution.) Read: the concept doc you're diagramming. -
Cross-link two related docs — Find two concept or reference docs that should cite each other and add wikilinks. For example, if concept A mentions a tool that's explained in reference doc B, add a
[[link]]. Read:docs/index.mdto map the landscape. -
Expand a tool reference with examples — Pick one tool in
docs/reference/mcp-tools-phase-0.mdand add a before/after request–response example. Read: the tool reference. -
Add framework comparison entries — If you know another MCP framework or orchestration system, note how Colibri's 19-tool stdio surface compares in a short note under
docs/reference/mcp-tools-phase-0.md. Read: the Phase 0 tool reference. -
Write an FAQ for a concept — Pick a concept doc without an FAQ section and add 3–5 questions + answers that you would ask yourself reading it. Read: the concept doc.
-
Document a Phase 0 task in more detail — Pick an unfinished task from
docs/guides/implementation/task-breakdown.mdand expand its description with acceptance criteria or architecture notes. Read: the task breakdown and the relevant concept docs.
No prior experience with Colibri required. Just follow Your First PR after picking your task above.
Heads up: Colibri is in the spec phase. Phase 0 (the first code release) hasn't started yet. That means:
- ✅ All current PRs are documentation, diagrams, glossary, or spec refinements — no TypeScript code to build or test.
- ✅ No build environment needed — just a text editor and git.
- ✅ Low barrier to entry — perfect for learning how Colibri works while improving the project at the same time.
- ❌ No feature code PRs yet — if you want to build src/, wait for Phase 0 bootstrap (task P0.1 and P0.2).
So if you're reading this and thinking "I want to contribute but I'm not sure I'm ready," you're actually the perfect person to help right now. Newcomers catch unclear explanations and missing examples that maintainers have gotten used to.
- Read README.md for the current repo surface.
- Read the relevant page in
docs/before editing public documentation or release/distribution guidance. - Read
docs/guides/deploy.mdbefore changing release wording or packaging guidance. - Run the repository's actual validation lane, not a custom one.
The CI workflow checks docs integrity — no npm or package.json is present. Run the docs-integrity checks as defined in .github/workflows/ci.yml.
- Branch names:
feature/...,bugfix/...,docs/...,refactor/... - Treat
mainas the single relevant integration branch; do not use it as a direct executor workspace. - Work in a feature worktree for non-trivial changes, especially public docs or release surfaces.
- Commit style: conventional commits such as
feat:,fix:,docs:,refactor:,test:,build:
- Keep the root small and visitor-friendly.
- Put canonical user-facing documentation under
docs/. - Put historical or report-style material under
docs/archive/. - Put planning artifacts under
docs/internal/only when they still help future maintainers. - Do not reintroduce stale
projects/unified-mcp/...,projects/ckamal/, orprojects/peer-to-peer/paths into public docs — those directories have been deleted. - Do not hardcode absolute paths. Use
$COLIBRI_ROOTor<COLIBRI_ROOT>placeholders instead. - No
src/directory exists. Do not referencesrc/server.jsas an entrypoint in public docs until Phase 0 bootstrap is complete.
Colibri contributions follow a strict discipline model:
- Every tool use must be justified.
- Every change must be tracked in AMS.
- Every public-facing change must have AMS proof.
- No path hardcoding.
- Use the full AMS capability surface: audit, memory, context, and proof primitives.
| Phase | Required Action |
|---|---|
| Init | unified_init, unified_vitals, unified_help, unified_set_project |
| Plan | thought_plan with clear goals and constraints |
| Execute | task_update to in_progress, work with traceability |
| Verify | audit_verify_chain to confirm integrity |
| Close | audit_verify_chain, merkle_finalize, merkle_root, task_update to done, thought_record summary, memory_pack |
Colibri development is guided by the colibri roadmap:
- Scope and discipline
- Tool chain registry
- Integration patterns
- Verification and proof
See roadmap_list and roadmap_get with roadmap_id: "colibri" for current state.
- Public docs point at the correct root paths.
- Tests pass locally or the gap is explicitly explained.
- Repo-facing changes keep GitHub Pages, releases, and metadata coherent.
- PRs that touch public release surfaces must target
main, include the AMS task or intake id, and note the audit session used for verification. - No hardcoded absolute paths are introduced in documentation.
- AMS task references are included in commit messages where applicable.
- The PR template fields for task, audit, branch, worktree, and proof update are complete.
- Docs integrity CI passes (no broken extraction references, no missing frontmatter).
When reporting a bug, include:
- what you ran
- what you expected
- what happened instead
- relevant logs or command output
- OS and client details if the issue involves MCP setup
- related AMS task or intake id if one exists
Please follow CODE_OF_CONDUCT.md.