A CLI tool where multiple AI models collaboratively review your code. Reviewers run in parallel, debate conflicting opinions, and a head agent makes the final verdict (ACCEPT / REJECT / NEEDS_HUMAN).
CodeAgora itself is free and open-source (MIT). You need API keys for LLM providers. Groq offers a free tier that works out-of-the-box.
Curated API providers including OpenAI, Anthropic, Groq, OpenRouter, OpenCode Go, and OpenCode Zen, plus local CLI tools such as Claude Code, Codex, Gemini, Antigravity, OpenCode, Pi, Copilot, and Cursor. See PROVIDERS.md for the full list.
- ACCEPT: No critical issues found. Safe to merge.
- REJECT: High-confidence critical issues detected. Fix before merging.
- NEEDS_HUMAN: Low-confidence critical findings or unresolved debates. A human should verify.
Yes. Edit .ca/config.json or run agora init to select providers/models. You can also use --provider and --model flags per-review.
Built-in review focus areas: builtin:security (OWASP), builtin:logic (race conditions, null checks), builtin:api-contract (breaking changes), builtin:general (maintainability). Assign them to reviewers in your config.
The L3 head agent makes the final ACCEPT/REJECT/NEEDS_HUMAN verdict based on all reviewer findings and debate outcomes. If the LLM-based head fails, a rule-based fallback is used automatically.
- CLI:
agora sessionsto list,agora sessions show <date>/<id>for details - Desktop app: use the official cross-platform Tauri app for session browsing, result inspection, local review launch, and export workflows
- Replay:
agora replay <date>/<id>to re-render a past review
.ca/config.json, .ca/config.yaml, or .ca/config.yml in your project root. Created by agora init.
Yes. CodeAgora supports .ca/config.json, .ca/config.yaml, and .ca/config.yml. If multiple exist, precedence is config.json > config.yaml > config.yml.
In config: set reviewers.count. Or per-review: agora review --reviewers 5.
Yes, set GITHUB_TOKEN for your GHE instance. The PR diff fetching uses gh CLI which supports GHE.
Yes. CodeAgora detects project context (package.json, tsconfig.json) to reduce false positives across package boundaries.
Yes. The review pipeline works with any language. TypeScript diagnostics (pre-analysis) are skipped for non-TS projects automatically.