Fix your failed CI in 3 seconds. Stop reading logs like it’s 2009.
fixci finds the real error in your CI logs and gives you a copy-paste fix instantly. Because scrolling through 10,000 lines of logs to find one missing package is not a personality trait.
The Instant Fix Engine is the product. AI is just backup.
Most CI debugging looks like this:
- Open logs
- Scroll
- Scroll more
- Regret life choices
fixci skips all of that.
⚡ Instant fixes — no API, no waiting
🧠 AI when things get weird
🔍 Finds the actual error (not the noise)
💬 Shows up directly in your PR
You fix the issue. You move on. Revolutionary, I know.
Add this to your workflow to get PR comments on failure:
- name: fixci
uses: Bharath-970/fixci@main
if: failure()
with:
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }} # AI Backupnpm install -g fixci
cat logs.txt | fixciClaude, GPT-4o, Gemini, or even local models via Ollama. Because one AI is never enough, apparently.
| Provider | Env Var | Mode |
|---|---|---|
| Anthropic | ANTHROPIC_API_KEY |
Default (Claude 3.5 Sonnet) |
| OpenAI | OPENAI_API_KEY |
--provider openai --model gpt-4o |
GEMINI_API_KEY |
--provider google --model gemini-1.5-pro |
|
| Ollama | N/A | --provider ollama (Runs locally) |
- Zero Junk: We strip timestamps, ANSI codes, and noise before analysis.
- Local First: AI is only backup. Heuristics solve 90% of your problems instantly.
- Never-Fail: Designed to never break your CI pipeline. If analysis fails, it exits silently.
| Error | You get |
|---|---|
TS2322: Type 'string' is not assignable |
Exact file + type fix |
npm ERR! ERESOLVE |
npm install --legacy-peer-deps |
expect(received).toEqual(expected) |
Expected vs actual + test file |
Cannot read properties of undefined |
Null check + exact file:line |
3 problems (3 errors, 0 warnings) |
npx eslint --fix . |
Module build failed |
Source file + fix |
MIT
Stop debugging logs.
Start fixing problems.
Generated by fixci