Autonomous AI agent that discovers, analyzes, and submits
Pull Requests to open source projects on GitHub.
Getting Started Β· Features Β· Commands Β· Architecture Β· Hall of Fame
Set it up once. Wake up to merged PRs.
|
Notable Contributions: π |
See the full Hall of Fame β for every PR with links.
βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Discovery ββββββΆβ Analysis ββββββΆβ Generator ββββββΆβ PR + CI ββββββΆβ Patrol β
β β β β β β β β β β
β Search reposβ β 13-lang AST β β LLM-powered β β Fork, commitβ β Auto-fix β
β by language β β 17 skills β β code gen + β β create PR β β review β
β and stars β β security, β β self-review β β sign CLA β β feedback β
β β β quality, β β + scoring β β monitor CI β β & reply β
β β β performance β β β β β β β
βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ
# Build from source (recommended)
git clone https://github.com/tang-vu/ContribAI.git && cd ContribAI
cargo install --path crates/contribai-rs
# Or one-line install
curl -fsSL https://raw.githubusercontent.com/tang-vu/ContribAI/main/install.sh | bash
# Windows:
irm https://raw.githubusercontent.com/tang-vu/ContribAI/main/install.ps1 | iexcontribai init # Interactive setup wizard
contribai login # Verify auth + switch LLM providerscontribai hunt # Autonomous: discover β analyze β PR
contribai target <repo_url> # Target a specific repo
contribai analyze <repo_url> # Dry-run analysis (no PRs)
contribai interactive # Browse in ratatui TUIπ Example config.yaml
github:
token: "ghp_your_token" # or set GITHUB_TOKEN env var
llm:
provider: "gemini" # gemini | openai | anthropic | ollama | vertex
model: "gemini-3-flash-preview"
api_key: "your_api_key" # or set GEMINI_API_KEY env var
# base_url: "https://api.openai.com/v1" # Optional: override default endpoint for OpenAI-compatible providers
discovery:
languages: # default: all 15 languages
- python
- javascript
- typescript
- go
- rust
stars_range: [100, 5000]See config.yaml.template for all options.
|
|
| Deep AST (tree-sitter) | Fallback Parser |
|---|---|
| Python Β· JavaScript Β· TypeScript Β· Go Β· Rust Β· Java | Kotlin β Java |
| C Β· C++ Β· Ruby Β· PHP Β· C# Β· HTML Β· CSS | Swift β Java Β· Vue/Svelte β HTML |
ContribAI ships with 40+ commands accessible via CLI or interactive menu.
π₯ Hunt & Contribute
contribai hunt # Autonomous discovery + PRs
contribai hunt --dry-run # Analyze only, no PRs
contribai run # Single pipeline run
contribai target <url> # Target specific repo
contribai analyze <url> # Dry-run analysis
contribai solve <url> # Solve open issuesπ Monitor & Stats
contribai patrol # Respond to PR reviews
contribai status # PR status table
contribai stats # Contribution statistics
contribai leaderboard # Merge rate by repo
contribai system-status # DB, rate limits, schedulerπ₯οΈ Interactive & Config
contribai # Interactive menu (22 items)
contribai interactive # ratatui TUI browser
contribai init # Setup wizard
contribai login # Interactive auth + provider config
contribai config-list # Show all config
contribai config-get llm.provider # Get config value
contribai config-set llm.provider openai # Set config value
contribai profile security-focused # Named profileπ Servers & Tools
contribai web-server # Dashboard at :8787
contribai schedule # Cron scheduler
contribai mcp-server # MCP stdio server
contribai cleanup # Remove stale forks
contribai notify-test # Test Slack/Discord/TelegramContribAI/
βββ crates/contribai-rs/src/ β Rust v5.8.1 (primary)
β βββ cli/ 40+ commands + ratatui TUI
β βββ core/ Config, events, error types
β βββ github/ REST v3 + GraphQL client
β βββ analysis/ 13-lang AST + 17 skills
β βββ generator/ LLM code generation + scoring
β βββ orchestrator/ Pipeline + SQLite memory (72h TTL)
β βββ llm/ Multi-provider + 5 sub-agents
β βββ pr/ PR lifecycle + patrol + CI
β βββ mcp/ 21-tool MCP server (stdio)
β βββ web/ axum dashboard + webhooks
β βββ sandbox/ Docker + local fallback
β βββ tools/ Tool protocol interface
β
βββ python/ Legacy v4.1.0 (reference only)
π§ Tech Stack
| Layer | Technology |
|---|---|
| Language | Rust 2021 (primary), Python 3.11+ (legacy) |
| Async | Tokio (full), async/await throughout |
| HTTP | reqwest 0.12 (async, rustls-tls) |
| Database | SQLite (rusqlite, bundled) |
| LLM | Gemini 3.x, OpenAI, Anthropic, Ollama, Vertex AI |
| GitHub | REST API v3 + GraphQL |
| AST | tree-sitter (13 languages) |
| Web | axum 0.7 + tower-http |
| TUI | ratatui + crossterm |
| CLI | clap v4 + dialoguer + colored |
| Tests | 418 tests (mockall, wiremock, tokio-test) |
See docs/system-architecture.md for the full design.
cargo test # Run all 418 tests
cargo test -- --nocapture # With stdout output
cargo test ast_intel # AST module tests only
cargo clippy # Lint checkUse ContribAI as a tool provider for Claude Desktop or Antigravity IDE:
{
"mcpServers": {
"contribai": {
"command": "contribai",
"args": ["mcp-server"]
}
}
}21 tools available: repo analysis, PR management, GitHub search, issue solving, memory queries, and more.
docker compose up -d dashboard # Dashboard at :8787
docker compose run --rm runner run # One-shot pipeline run
docker compose up -d dashboard scheduler # Dashboard + cron scheduler| Document | Description |
|---|---|
| Hall of Fame | 10 merged Β· 14 closed across 21+ repos |
| AGENTS.md | AI agent guide β architecture, patterns, CLI reference |
| Deployment Guide | Install, Docker, config, all 22 CLI commands |
| System Architecture | Pipeline, middleware, events, LLM routing |
| Codebase Summary | Module map, tech stack, data structures |
| Project Roadmap | Version history and future plans |
AGPL-3.0 + Commons Clause β see LICENSE for details.
Built with Rust π¦ and LLMs π€
Releases Β· Issues Β· Hall of Fame
