OSS + multi-contributor projects
0dai was built around a single-developer workflow first. The multi-contributor and OSS shape is real and supported — but the design choices need to be explicit so you know what you're committing to.
The short version
- Yes, commit
ai/. It's the shared brain — same idea as committingpackage.jsonorpyproject.toml. - Yes, commit generated configs (
CLAUDE.md,AGENTS.md,.gemini/settings.json, etc.). They're reproducible fromai/, but committing them means contributors don't need 0dai installed to use the agent configs. - Contributor without 0dai installed? Fine — they read the committed configs natively from their agent CLI. They just can't regenerate them without installing.
- Contributors using different agents? Fine — 0dai already generates configs for all 6 supported CLIs (Claude Code, Codex, Gemini, OpenCode, Aider, Qoder) from one
ai/dir. Each contributor picks their agent; the configs are already there.
What to commit
| Path | Commit? | Why |
|---|---|---|
ai/manifest/ | YES | Project metadata — shared truth |
ai/personas/ | YES | Role definitions agents use |
ai/playbooks/ | YES | Reusable team workflows |
ai/docs/ | YES | Decisions / glossary / runbooks |
ai/experience/accepted/ | YES | Promoted team knowledge |
ai/experience/events/ + outbox/ | USUALLY NO | Per-session telemetry; noisy in PRs. Use .gitignore unless you intentionally archive. |
CLAUDE.md, AGENTS.md, .gemini/, .codex/, opencode.json, .qoder/ | YES | Generated configs — committed so contributors without 0dai installed still get them |
What to .gitignore
# 0dai per-session noise — keep these per-contributor, not shared
ai/experience/events/
ai/experience/outbox/
ai/experience/reports/
ai/swarm/active/
ai/swarm/done/
# Local agent state — never shared
.0dai/
.0dai-state/Multi-contributor workflow
Maintainer (first install)
npm install -g @0dai-dev/cli
cd your-repo
0dai init # creates ai/ + generated configs
git add ai/ CLAUDE.md AGENTS.md .gemini .codex .qoder
git commit -m "feat: add 0dai project layer"
git pushSubsequent contributor (uses Aider, never installed 0dai)
git pull
# Their Aider CLI reads AGENTS.md natively — no 0dai install needed
# They contribute code; 0dai is invisible to themSubsequent contributor (uses Claude Code, has 0dai)
git pull
# Claude Code reads CLAUDE.md natively
# If they want to add a persona / playbook / rule:
0dai sync # regenerates configs after ai/ edits
git commit + pushEdit conflicts on ai/
Standard git merge conflict resolution. ai/manifest/ files are YAML/JSON; ai/playbooks/ are markdown; ai/personas/ are YAML. Merge tools handle them like any other text. After resolving, run 0dai sync to regenerate per-agent configs from the merged ai/ tree.
Honest limits
- 200+ contributors: not extensively battle-tested. The smallest known repo using 0dai with 50+ contributors is currently a dogfooded set; no public 200+ contributor adoption yet. If you're considering this scale, your friction will probably be in the "contributor PR adds a new persona" case — there's no review gate on
ai/changes by default. - Per-contributor agent preference:
ai/generates configs for all 6 supported CLIs at once. There's no way to say "this contributor only uses Aider, hide the Claude config from their checkout". The committed configs are shared. - Maintainer control of
ai/: no CODEOWNERS-style enforcement in 0dai itself. If you want one maintainer to gateai/changes, use standard GitHub CODEOWNERS or branch protection onai/**. - Privacy: experience harvesting: if you commit
ai/experience/events/, contributor activity becomes public. Default.gitignoreabove keeps it local.
Why this page exists
An OSS maintainer told us in the May 2026 focus group that the README assumed single-developer flow and didn't address what happens when 200 contributors use different AI tools. This page is the honest answer — what works, what's untested, what you have to handle yourself. If your repo hits a case this page doesn't cover, tell the maintainers and we'll either add it or honestly say it's not designed for that yet.