Created by Rahul Chaube
More powerful than Cursor. Smarter than Aider. Multi-Agent AI that lives in your terminal.
"The AI coding assistant that thinks like a team of senior engineers." โ Rahul Chaube
| Feature | Description |
|---|---|
| ๐ค Multi-LLM | OpenAI, Anthropic Claude, DeepSeek, Gemini, Groq, Mistral, Ollama (local), and any litellm-supported model |
| ๐บ๏ธ Repo Map | Automatically maps your entire codebase so the AI understands structure and context |
| โ๏ธ Smart Editing | 4 editing formats: SEARCH/REPLACE blocks, whole-file, unified diffs, architect mode |
| ๐๏ธ Architect Mode | Two-pass: strong model plans โ fast model implements |
| ๐ฅ Multi-Agent System | 8 specialist agents (Planner, Coder, Reviewer, Tester, Debugger, DocWriter, Security, Refactor) work collaboratively |
| ๐ Git Integration | Auto-commits, diffs, undo, branch management |
| ๐จ Beautiful UI | Rich terminal output with syntax highlighting, Markdown rendering, live streaming |
| ๐ฌ Interactive REPL | Full-featured REPL with history, tab completion, multi-line input |
| ๐ Web Context | Fetch any URL and add it as context (/web https://...) |
| ๐ Clipboard | Paste clipboard content into the conversation (/paste) |
| ๐ Auto Lint | Automatically run your linter after each edit; ask AI to fix errors |
| ๐งช Auto Test | Run your test suite and fix failures automatically |
| ๐ Security Audit | Dedicated security agent audits your code for vulnerabilities |
| โ๏ธ Configurable | Project-level .qgo.conf + user-level ~/.qgo.conf + env vars |
| ๐ Local Models | Full Ollama support โ run llama3, codellama, mistral, qwen locally |
| ๐ฆ 100+ Languages | Python, JS/TS, Go, Rust, Java, C/C++, Ruby, PHP, Swift, Kotlin, and more |
QGo's multi-agent system is what sets it apart. Instead of a single AI trying to do everything, QGo orchestrates a team of 8 specialist agents that collaborate like a real engineering team:
User Request
โ
โผ
โโโโโโโโโโโโโโโ Plans sub-tasks
โ ๐ PLANNER โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโ โ
โผ
โโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โโ๏ธ CODER โ โ๐ REVIEW โ โ๐งช TEST โ โ๐ DEBUG โ โ๐ SECURI-โ
โ โ โ โ โ โ โ โ โ TY โ
โโโโโโฌโโโโโ โโโโโโฌโโโโโโ โโโโโฌโโโโโ โโโโโโฌโโโโโโ โโโโโโฌโโโโโโ
โ โ โ โ โ
โโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโ
โ
โโโโโโโโผโโโโโโโ
โ ๐ DOC + โ
โ โป๏ธ REFACTOR โ
โโโโโโโโฌโโโโโโโ
โ
โโโโโโโโผโโโโโโโ
โ Final โ
โ Report โ
โโโโโโโโโโโโโโโ
| Agent | Icon | Speciality |
|---|---|---|
| Planner | ๐ | Decomposes tasks into ordered sub-tasks, assigns to specialists |
| Coder | โ๏ธ | Writes clean, production-quality code with type hints |
| Reviewer | ๐ | Reviews for correctness, performance, and best practices |
| Tester | ๐งช | Writes comprehensive pytest suites with edge cases |
| Debugger | ๐ | Root-cause analysis and minimal bug fixes |
| DocWriter | ๐ | Google-style docstrings, README sections, inline comments |
| Security | ๐ | Audits for injections, path traversal, exposed secrets, CVEs |
| Refactor | โป๏ธ | Improves structure (DRY, SRP, naming) without breaking behaviour |
# Run full multi-agent pipeline (auto-plans and executes)
qgo agent "add authentication to the Flask API"
# Run a specific agent directly
qgo agent --agent coder "implement pagination for list_users()"
qgo agent --agent security "audit auth.py for vulnerabilities"
qgo agent --agent tester "write tests for the payment module"
# Interactive: use /agent command in REPL
[QGo] > /agent add rate limiting to the APIpip install qgoOr install from source for the latest features:
git clone https://github.com/Rahulchaube1/QGo
cd QGo
pip install -e .# Interactive session (most common)
qgo
# One-shot command
qgo "add docstrings to all functions in utils.py"
# Add specific files to context
qgo --file main.py --file utils.py "refactor the error handling"
# Use a specific model
qgo --model claude-3-7-sonnet-20250219
qgo --model deepseek/deepseek-chat
qgo --model ollama/llama3.2 --api-base http://localhost:11434# OpenAI
export OPENAI_API_KEY=sk-...
# Anthropic
export ANTHROPIC_API_KEY=sk-ant-...
# DeepSeek
export DEEPSEEK_API_KEY=sk-...
# Google Gemini
export GEMINI_API_KEY=...
# Or pass directly
qgo --api-key sk-... --model gpt-4o[QGo] > /add src/main.py src/utils.py
โ Added: src/main.py
โ Added: src/utils.py
[QGo] > add type hints to all functions
QGo is thinking...
# ... AI edits the files with SEARCH/REPLACE blocks ...
๐ฆ Committed: a1b2c3d4 add type hints to all functions
[QGo] > /diff
# shows the diff...
[QGo] > /undo
โ Undid last commit (changes kept in working tree)
# Fix a bug
qgo --file main.py "fix the null pointer exception in parse_config()"
# Add a feature
qgo --file api.py --file models.py "add pagination to the list_users endpoint"
# Write tests
qgo --file calculator.py "write comprehensive pytest tests for all functions"
# Explain code
qgo --file complex_algo.py "explain what this algorithm does"# Uses a strong model to plan, then a fast model to implement
qgo --edit-format architect "implement a REST API with authentication"| Format | Flag | Best For |
|---|---|---|
| editblock | --edit-format editblock |
Default. Most reliable. SEARCH/REPLACE blocks |
| whole | --edit-format whole |
Small files. Complete file replacement |
| udiff | --edit-format udiff |
When you need standard unified diffs |
| architect | --edit-format architect |
Complex multi-file changes. Two-pass approach |
| Provider | Models |
|---|---|
| OpenAI | gpt-4o, gpt-4o-mini, gpt-4-turbo, o1, o1-mini, o3-mini |
| Anthropic | claude-3-7-sonnet, claude-3-5-sonnet, claude-3-opus, claude-3-haiku |
| DeepSeek | deepseek-chat, deepseek-coder, deepseek-r1 |
| gemini-1.5-pro, gemini-1.5-flash, gemini-2.0-flash | |
| Groq | llama3-8b, llama3-70b, mixtral-8x7b (ultra-fast) |
| Mistral | mistral-large, codestral |
| Cohere | command-r, command-r-plus |
| Ollama | llama3.2, codellama, mistral, qwen2.5-coder, deepseek-coder-v2 (local) |
# List all models
qgo models
# List by provider
qgo models --provider anthropic| Command | Description |
|---|---|
/add <files> |
Add files to context (supports globs: /add src/*.py) |
/drop <files> |
Remove files from context |
/files |
List files currently in context |
/diff |
Show uncommitted git diff |
/commit [msg] |
Manually commit changes |
/undo |
Undo last git commit (keeps changes) |
/clear |
Clear conversation history |
/model <name> |
Switch to a different model |
/models |
List all available models |
/tokens |
Show token usage estimate |
/map |
Show repository map |
/run <cmd> |
Run a shell command, add output to context |
/web <url> |
Fetch a URL and add content to context |
/git <cmd> |
Run any git command |
/paste |
Paste clipboard content into conversation |
/ls [path] |
List directory contents |
/config |
Show current configuration |
/help |
Show help |
/exit |
Exit QGo |
QGo reads configuration from (highest priority first):
- CLI flags
- Environment variables (
QGO_*) - Project-level
.qgo.conf - User-level
~/.qgo.conf
model: claude-3-7-sonnet-20250219
edit_format: editblock
auto_commits: true
show_diffs: true
map_tokens: 2048
auto_lint: true
lint_cmd: ruff check
auto_test: false
test_cmd: pytest
stream: true| Variable | Description |
|---|---|
QGO_MODEL |
Default model |
QGO_API_KEY |
API key |
QGO_API_BASE |
Custom API base URL |
QGO_EDIT_FORMAT |
Edit format |
QGO_AUTO_COMMITS |
Enable/disable auto-commits |
QGO_MAP_TOKENS |
Max tokens for repo map |
QGO_AUTO_LINT |
Enable auto-linting |
QGO_LINT_CMD |
Linter command |
QGO_AUTO_TEST |
Enable auto-testing |
QGO_TEST_CMD |
Test command |
qgo/
โโโ agents/ # Multi-agent orchestration system
โ โโโ orchestrator.py # Coordinates all agents (AgentOrchestrator)
โ โโโ base_agent.py # Abstract BaseAgent, AgentMessage, AgentResult
โ โโโ specialist_agents.py # Planner, Coder, Reviewer, Tester, Debugger, DocWriter, Security, Refactor
โโโ llm/ # Universal LLM backends
โ โโโ litellm_provider.py # 100+ models via litellm
โ โโโ model_info.py # Model metadata & costs
โ โโโ streaming.py # Streaming response handling
โโโ coders/ # Code editing engines
โ โโโ base_coder.py # Core chat+edit loop
โ โโโ editblock_coder.py # SEARCH/REPLACE (default)
โ โโโ whole_coder.py # Full file replacement
โ โโโ udiff_coder.py # Unified diff
โ โโโ architect_coder.py # Two-pass plan+implement
โโโ repo/ # Repository understanding
โ โโโ repo_map.py # Codebase symbol mapping
โ โโโ git_repo.py # Git operations
โ โโโ file_watcher.py # Live file watching
โโโ ui/ # Terminal user interface
โ โโโ terminal.py # Rich-based I/O
โ โโโ repl.py # Interactive REPL
โ โโโ commands.py # Slash-command handler
โโโ utils/ # Utilities
โ โโโ file_utils.py # File operations + diffs
โ โโโ token_counter.py # tiktoken-based counting
โ โโโ web_scraper.py # URL fetching
โโโ config.py # Configuration management
โโโ models.py # Data types
โโโ main.py # CLI entry point
# Clone and install dev dependencies
git clone https://github.com/Rahulchaube1/QGo
cd QGo
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
# Lint
ruff check qgo/
# Format
black qgo/ tests/Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new features
- Run
ruff checkandpytestbefore submitting - Open a pull request
Apache 2.0 โ see LICENSE for details.
QGo is created and maintained by Rahul Chaube.
Copyright (c) 2024 Rahul Chaube. All Rights Reserved.
Licensed under the Apache License, Version 2.0.
You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Author: Rahul Chaube
GitHub: https://github.com/Rahulchaube1
Project: https://github.com/Rahulchaube1/QGo
All source files, documentation, assets, and configuration in this repository are the intellectual property of Rahul Chaube. The QGo name, logo, and branding are owned by Rahul Chaube.