| name | ci-fixer |
| description | Debug and fix CI/CD pipeline failures. Analyze workflow logs, identify issues, and apply fixes. Use when CI is failing, build errors occur, tests fail in CI, or pipeline is broken. |
| allowed-tools | Read, Grep, Glob, Bash |
CI Fixer
Diagnoses and fixes CI/CD pipeline failures.
When to Use
- "CI is failing"
- "Build broke"
- "Tests fail in CI but pass locally"
- "Pipeline error"
- "Deploy failed"
CI Workflows
| Workflow | Trigger | Purpose |
|---|---|---|
ci.yml |
PR, push | Typecheck, lint, build, test |
deploy.yml |
push to main | Migrations, Vercel deploy |
evals.yml |
PR, push | LLM evaluations |
ios-testflight.yml |
manual | iOS deployment |
Common Failures
1. TypeScript Errors
Symptom: tsc --noEmit fails
Diagnosis:
pnpm typecheck
Fixes:
- Add missing type annotations
- Fix type mismatches
- Update type imports
2. ESLint Errors
Symptom: eslint . fails
Diagnosis:
pnpm lint
Auto-fix:
pnpm eslint . --fix
pnpm format
3. Build Failures
Symptom: pnpm -C apps/web build fails
Common causes:
- Missing environment variables
- Import errors
- TypeScript errors not caught by tsc
Diagnosis:
pnpm -C apps/web build
4. Integration Test Failures
Symptom: pnpm test:integration fails
Common causes:
- Database not running
- Server not started
- Rate limiting (disable in CI)
- Missing test user
CI-specific:
- Uses GitHub Actions PostgreSQL service
DISABLE_RATE_LIMIT=trueALLOW_DEV_TOKENS=true
5. Migration Failures
Symptom: migrate:apply fails in deploy
Common causes:
- Schema mismatch
- Missing migration file
- Database connection error
Diagnosis:
pnpm -C packages/db migrate:apply
6. Dependency Issues
Symptom: pnpm install fails
Fixes:
rm -rf node_modules pnpm-lock.yaml
pnpm install
Procedure
Step 1: Identify Failing Workflow
Check which workflow failed and what step.
Step 2: Read Workflow File
Read: .github/workflows/{workflow}.yml
Step 3: Reproduce Locally
Run the exact commands from the workflow:
# For ci.yml
pnpm install
pnpm tsc --noEmit
pnpm eslint .
pnpm -C apps/web build
pnpm -C packages/db migrate:apply
pnpm test:integration
Step 4: Check Environment
CI uses specific environment variables:
DATABASE_URL- PostgreSQL connectionDISABLE_RATE_LIMIT=trueALLOW_DEV_TOKENS=true
Step 5: Apply Fix
Based on diagnosis, apply appropriate fix.
Step 6: Verify
Run full CI check locally:
pnpm typecheck && pnpm lint && pnpm -C apps/web build
Environment Differences
| Local | CI |
|---|---|
| Docker PostgreSQL | GitHub Actions service |
| Docker Redis | GitHub Actions service |
| Manual server start | wait-on + background |
| Rate limiting enabled | DISABLE_RATE_LIMIT=true |
| Real tokens | ALLOW_DEV_TOKENS=true |
Guardrails
- DO NOT modify workflow files without understanding impact
- DO NOT bypass failing checks without fixing root cause
- Always reproduce failure locally before fixing
- If fix is unclear, describe findings and ask for guidance