Typical agent loop
Generate → submit → ask forgiveness
- Public visibility treated as implied permission
- Model decides whether its own output is safe
- Large or unrelated changes reach maintainers
- Verification cost is shifted upstream
Maintainer-governed by design
ContribAI separates code generation from permission to publish. It prepares small, reviewable changes, then requires explicit consent, deterministic policy checks, exact human review, and an auditable evidence receipt before any draft proposal.
$ contribai consent-check tang-vu/ContribAI
Repository tang-vu/ContribAI
Consent FOUND
Source .github/contribai.yml
Budget 4 files / 180 changed lines
Base SHA 7a93c4d1f802b6e…
Gate READY
$ contribai analyze https://github.com/owner/repo
Analysis is local-first. Submission capability remains off.
public code ≠ permission to submit
generation ≠ admission
passing checks ≠ maintainer approval
60-second proof · zero credentials
The installed CLI exercises the production consent parser, permit binding, admission controller, and Evidence v2 validator—then deliberately probes a protected workflow path.
contribai demo
The missing layer
Most coding agents optimize for output volume. Open source needs a different optimization target: maintainer intent, bounded review cost, and evidence that can be checked independently of the model that wrote the patch.
Typical agent loop
ContribAI protocol
The admission protocol
Any missing, stale, malformed, or failed gate closes the write path.
--submit explicitly enables the capability.Inspectable by people and policy engines
The capsule binds the reviewed candidate to its repository, consent source, exact base revision, changed paths, scope totals, checks, and permit expiry. A mismatched or expired capsule cannot authorize the write boundary.
Read the consent protocolschema evidence/v2
permit 5f81b87f23a6…
consent manifest:.github/contribai.yml
base 7a93c4d1f802b6e5c2f54968bd42676b751faf09
candidate 1b78d9b56a3e…
scope 2 files / 37 changed lines
checks admission ✓ quality ✓ validation ✓
mode draft_only
expires 2026-08-11T08:00:00Z
Try it safely
Exercise the safety boundary offline. Connect GitHub and an LLM only after the policy behavior matches your expectations.
curl -fsSL https://raw.githubusercontent.com/tang-vu/ContribAI/main/install.sh | sh
irm https://raw.githubusercontent.com/tang-vu/ContribAI/main/install.ps1 | iex
cargo install --git https://github.com/tang-vu/ContribAI --locked
contribai demo
Uses real admission and evidence code without reading secrets or touching the network.
contribai init
Secrets stay in environment variables or your local ignored config.
contribai consent-check tang-vu/ContribAI --json --require-consent
contribai analyze https://github.com/owner/repo
No --submit, no external proposal.
Two accountable roles
ContribAI does not invent a new social contract. It makes repository intent explicit and machine-checkable while leaving acceptance entirely with the maintainer.
For maintainers
Opt in narrowly, constrain paths and size, or approve one issue at a time.
schema_version: 1
enabled: true
max_files: 3
max_changed_lines: 120
allowed_paths:
- src/**
- tests/**
For accountable contributors
Analyze first, keep candidates bounded, and ask a human before publication.
Built for real repositories
The intelligence can evolve. The authorization boundary stays deterministic.
Tree-sitter intelligence, symbols, imports, and cross-file context.
Gemini, OpenAI, Anthropic, Ollama, Vertex AI, and Copilot routing.
Local, AST, or Docker checks with explicit isolation disclosure.
SQLite history and repository preferences without remote control-plane lock-in.
Multiple interfaces sharing the same capability-aware boundaries.
Events, quotas, circuit breaking, dashboard, and evidence receipts.
Questions worth asking
ContribAI assumes generated output is untrusted—even when the model sounds certain.
No. External writes are off by default. Submission additionally requires operator intent, maintainer consent, admission checks, exact human approval, and live revalidation. The result is always a draft pull request.
No. It calls the production consent parser, permit issuer, admission controller, Evidence v2 builder, and submission-time evidence validator. Only the repository and candidate are bundled fixtures. GitHub, LLMs, and external writes are absent.
Yes, subject to provider terms and local configuration. Analysis is not permission to publish. A separate maintainer-controlled gate governs external proposals.
Yes. Remove or disable the repository manifest, remove the approval label, or close the approved issue. Current consent is re-read before the first write.
No. It is a deterministic local audit receipt, not a remote signature or CI attestation. The protocol states that limitation explicitly.
The maintained Rust implementation is free and open source under AGPL-3.0-or-later. Network modifications remain available to their users under the license terms.
Start with observation, not authority
Run the real admission and evidence path without a token, provider, or network call.