Auto-fix GitLab bugs with AI agents — bring your own CLI or free API.
Project description
FixFleet
Auto-fix GitLab bugs with AI agents — directly in VSCode.
Reads open Bug issues, parses stack traces, pre-narrows the search to the right files, dispatches to your AI of choice, and scores fix confidence. All local. No commits. Bring your own AI.
Install • How it works • AI backends • FAQ
📦 Install
🪄 VSCode Extension (recommended — premium UI)
Or paste in terminal:
code --install-extension YashKoladiya30.fixfleet
🐍 Python CLI (terminal-only users)
pip3 install --user fixfleet
fixfleet
⚠️ If
fixfleet: command not found— add user-bin to PATH:echo 'export PATH="$(python3 -m site --user-base)/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
⚡ Quick start (60 seconds)
- Install the VSCode extension (1 click above)
- Get a GitLab token at https://gitlab.com → Settings → Access Tokens (scope:
read_api) - Click 🚀 FixFleet icon in VSCode activity bar → Configure → paste token + project URL → save
- Click any bug in sidebar → premium detail panel opens
- Click ✨ Fix This Bug with AI → AI agent reads the code, fixes the bug, scores confidence
- Review the diff, commit yourself — FixFleet never commits or pushes
🧠 How it works
┌─ Open GitLab bug issue
│
├─ Parse: description, steps, expected/actual, stack traces, logs
│
├─ Locate: extract file paths, symbols, stack frames → rank candidates → inline top file
│
├─ Dispatch to AI agent (Claude / Codex / Gemini / Cursor / Aider / Qwen / any free API)
│
├─ Score confidence: diff focus + self-rating + file relevance + hedge density
│
└─ Done — local-only changes ready for your review
Token-aware: per-issue, session, and daily budgets prevent paid-plan overruns.
Multi-backend: detected CLI agents shown as installed; pick one per session.
Confidence scored: every fix gets a 0.0–1.0 score so you know which to review first.
🤖 Supported AI agents
CLI backends (uses your existing paid plans)
| Agent | Plan source |
|---|---|
| 🟪 Claude Code | Claude Pro / Max |
| 🟢 Codex | ChatGPT Plus / Pro |
| 🟦 Gemini CLI | Google AI free tier |
| ⚫ Cursor Agent | Cursor Pro |
| 🟧 Aider | Bring your own key |
| 🟨 Qwen Code | Alibaba free tier |
API backends (free-tier friendly)
One OpenAI-compatible client serves all:
| Provider | Free | Get key |
|---|---|---|
| Groq | ✅ | https://console.groq.com/keys |
| Google Gemini | ✅ | https://aistudio.google.com/apikey |
| OpenRouter | ✅ | https://openrouter.ai/keys |
| Cerebras | ✅ | https://cloud.cerebras.ai |
| Ollama (local) | ✅ | https://ollama.com |
| LM Studio (local) | ✅ | https://lmstudio.ai |
🎯 Why FixFleet
vs. doing it manually
Triages 50 bugs in the time it takes you to read 5.
vs. AI inside the issue (e.g. GitLab Duo)
- Costs nothing extra — uses AI plans you already pay for
- Edits actual files locally, not just comments
- You pick the AI — not locked to one vendor
- Works on private/self-hosted GitLab without exposing source to a SaaS
vs. running Claude/Codex CLI manually
- Structured prompts — extracts steps/logs automatically
- Pre-narrows file scope — saves 60–80% tokens
- Confidence scoring — review only uncertain fixes
- Budget caps — never blows through paid quotas
❓ FAQ
Does this use any paid backend / hidden costs?
No. FixFleet runs 100% locally on your machine. No FixFleet servers, no Azure, no cloud component. You pay for nothing beyond AI plans you already own. The VSCode extension is free. The PyPI package is free. Updates forever, free.
What's the difference between the VSCode extension and the CLI?
Same engine, two interfaces:
- CLI (
pip install fixfleet) — interactive terminal flow, beautiful styled output - VSCode extension — premium UI sidebar + click-to-fix workflow, calls the CLI under the hood
Install both if you want flexibility. Extension auto-installs the CLI on first run if missing.
Will it ever commit or push my changes?
Never. FixFleet edits files locally and leaves your working tree dirty. You review the diff (git diff), then commit + push manually. This is intentional — AI fixes need human review before shipping.
Does it work with self-hosted GitLab?
Yes. Paste your full URL (e.g. https://gitlab.mycompany.com/group/project) and FixFleet auto-detects the host. No config needed.
Which AI should I use?
- Best quality → Claude Code (Claude Pro)
- Fastest → Groq (free Llama 3.3 70B)
- Biggest free quota → Google Gemini API
- Fully offline → Ollama with
qwen2.5-coder:7b
How is FixFleet different from Cursor / Cody / Copilot?
Those are autocomplete + chat tools. FixFleet is a bug-triage automator — reads your bug tracker, dispatches each ticket to an AI, scores the fix. They complement each other.
Is my code sent to FixFleet servers?
There are no FixFleet servers. Your code goes from your machine → directly to whichever AI provider you pick (Anthropic / OpenAI / Google / Groq / Ollama / etc.) using your own credentials. FixFleet is open-source — read the code and verify.
🛡️ Privacy & Security
- 🔒 Tokens typed via
getpass— never echoed, never written to repo - 🛡️ Issue content fenced in prompts to prevent prompt-injection from malicious issue authors
- 📂 Config + state stored in
~/.bugfixer.json/~/.bugfixer-state.json(your home dir, never in any repo) - 🚫 Never commits, never pushes, never collects telemetry
📜 License
GPL-3.0-or-later — see LICENSE.
This means anyone can use, study, modify, and redistribute FixFleet — but derivative works must also be open-source under GPL-3. No closed-source forks. No proprietary repackaging.
Built by Yash Koladiya • © 2026.
If FixFleet saved you time, drop a ⭐ on the repo.
Report a bug · Request feature · VSCode Extension · PyPI Package
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fixfleet-0.3.1.tar.gz.
File metadata
- Download URL: fixfleet-0.3.1.tar.gz
- Upload date:
- Size: 56.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31fbfa8bf0ce6978e2259b1f9fa380384d3dca70d247f2b8c301e7aada65661b
|
|
| MD5 |
e570c2cda2cfe4a5ad85980d38e62644
|
|
| BLAKE2b-256 |
8a27b78c126ff8d04838704b40c01993dccd05d12a3639ec68024a1b10a3404c
|
Provenance
The following attestation bundles were made for fixfleet-0.3.1.tar.gz:
Publisher:
publish-pypi.yml on Yash-Koladiya30/fixfleet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fixfleet-0.3.1.tar.gz -
Subject digest:
31fbfa8bf0ce6978e2259b1f9fa380384d3dca70d247f2b8c301e7aada65661b - Sigstore transparency entry: 1711158666
- Sigstore integration time:
-
Permalink:
Yash-Koladiya30/fixfleet@7dcbe94ca0d0e442468309a6cb0f9f5239d1a8b0 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/Yash-Koladiya30
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@7dcbe94ca0d0e442468309a6cb0f9f5239d1a8b0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fixfleet-0.3.1-py3-none-any.whl.
File metadata
- Download URL: fixfleet-0.3.1-py3-none-any.whl
- Upload date:
- Size: 55.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1580ab0efaf6ea41c186e6a52907afb261f6926cd1f392409235751b38381427
|
|
| MD5 |
526631caff9a561c050fdf7bbcecc022
|
|
| BLAKE2b-256 |
77f844927e2b4e80d74e094ad768ea75f8b6651026aebc9d6bd3995c8ad12d92
|
Provenance
The following attestation bundles were made for fixfleet-0.3.1-py3-none-any.whl:
Publisher:
publish-pypi.yml on Yash-Koladiya30/fixfleet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fixfleet-0.3.1-py3-none-any.whl -
Subject digest:
1580ab0efaf6ea41c186e6a52907afb261f6926cd1f392409235751b38381427 - Sigstore transparency entry: 1711158778
- Sigstore integration time:
-
Permalink:
Yash-Koladiya30/fixfleet@7dcbe94ca0d0e442468309a6cb0f9f5239d1a8b0 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/Yash-Koladiya30
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@7dcbe94ca0d0e442468309a6cb0f9f5239d1a8b0 -
Trigger Event:
push
-
Statement type: