Was Aider kann, was Zed nicht kann – und wie CI-Pipelines mit KI aussehen
Wer Zed mit Agent Panel und Claude-Integration nutzt, fragt sich irgendwann zu Recht: Brauche ich Aider überhaupt noch? Die ehrliche Antwort ist: für viele tägliche Workflows nicht. Aber Aider löst Probleme, die kein Editor-Plugin löst – und eines davon liegt komplett außerhalb des Editors.
Was Aider eigentlich ist
Aider ist kein Autocomplete-Tool und kein Chat-Interface. Es ist ein autonomer Coding-Agent, der direkt im Repository arbeitet: Dateien lesen, Änderungen schreiben, Tests ausführen, committen. Der Unterschied zu Editor-AI: Aider operiert auf dem gesamten Repository, nicht auf dem aktuell geöffneten Kontext.
Das Herzstück ist die Repository-Map — eine automatisch generierte Übersicht aller Dateien, Klassen, Funktionen und ihrer Abhängigkeiten im Repository. Aider schickt diese Map bei jedem Request mit, ohne dass man manuell Dateien auswählen muss. Das Modell weiß dadurch, wo UserService definiert ist, welche Komponenten ihn importieren und was sich ändert, wenn eine Signatur angepasst wird — über 20, 50 oder 100 Dateien hinweg.
# Aider startet und analysiert das komplette Repo
aider --model anthropic/claude-sonnet-4-6
# Kein /add nötig für bekannte Symbole — Aider findet sie selbst
Refaktoriere den AuthService: trenne Login-Logik von Token-Management,
erstelle separate Klassen, passe alle Imports an
Aider schreibt die Änderungen dann in alle betroffenen Dateien gleichzeitig, zeigt einen Diff und committed – mit einer automatisch generierten Commit-Message, die die Änderungen beschreibt.
Das /add-Kommando gibt es trotzdem — für Dateien, die Aider nicht über die Repository-Map findet, oder um den Kontext gezielt klein zu halten und Token zu sparen.
Git als natürliches Interface
Jede Aider-Änderung landet als Git-Commit. Das ist kein Feature, das man aktivieren muss — es ist das Standardverhalten. Der Vorteil: jede Änderung ist sofort rückgängig zu machen, auch wenn Aider mehrere Dateien gleichzeitig angefasst hat.
# Letzte Änderung rückgängig
/undo
# Mehrere Schritte zurück
/undo
/undo
# Tests ausführen, Ergebnis in Kontext laden
/run npm test
# Wenn Tests grün: weiter
/run npm run build
Das erlaubt einen Workflow, den Editor-AI-Tools nicht bieten: Aider ändert, Tests laufen, bei Fehler /undo, Anpassung am Prompt, neuer Versuch — alles in einer Session, vollständig in Git nachverfolgbar.
Modell-Agnostik in der Praxis
Aider unterstützt jeden Anbieter, der eine API hat: Anthropic, OpenAI, Google Gemini, Mistral, und lokale Modelle via Ollama. Modellwechsel per Kommando, ohne Neustart:
/model anthropic/claude-sonnet-4-6 # Für komplexe Multi-File-Tasks
/model openai/gpt-4o # Für schnelle Korrekturen
/model ollama/llama3 # Lokal, ohne API-Kosten
Das ist relevant für Teams mit gemischten Setups oder für Workflows, bei denen günstigere Modelle für einfache Tasks und stärkere für komplexe reserviert bleiben.
Aider in CI/CD
Das ist der Bereich, in dem Aider keine Konkurrenz durch Editor-Tools hat: Aider läuft headless — ohne Display, ohne Benutzer, vollständig skriptbar.
Ein typischer Einsatz in GitHub Actions: Aider reagiert auf einen PR-Kommentar, analysiert den Code, generiert einen Fix und committed ihn direkt in den Branch.
# .github/workflows/aider-fix.yml
name: Aider Auto-Fix
on:
issue_comment:
types: [created]
jobs:
fix:
if: contains(github.event.comment.body, '/aider')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Aider
run: pipx install aider-chat
- name: Extract prompt from comment
id: prompt
run: |
COMMENT="${{ github.event.comment.body }}"
PROMPT="${COMMENT#/aider }"
echo "prompt=$PROMPT" >> $GITHUB_OUTPUT
- name: Run Aider
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
aider --model anthropic/claude-sonnet-4-6 \
--yes \
--message "${{ steps.prompt.outputs.prompt }}"
- name: Push changes
run: |
git push origin HEAD
Wenn ein Reviewer im PR /aider Schreibe fehlende Tests für AuthService kommentiert, läuft der Workflow automatisch, Aider generiert die Tests, committed sie und pusht in den Branch.
Test-Generierung auf geänderten Dateien
Ein anderer Ansatz: Aider greift sich bei jedem Push die geänderten Dateien und generiert automatisch fehlende Tests.
- name: Get changed files
id: changed
run: |
FILES=$(git diff --name-only HEAD~1 HEAD | grep -E '\.(ts|js)$' | tr '\n' ' ')
echo "files=$FILES" >> $GITHUB_OUTPUT
- name: Generate tests with Aider
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
aider --model anthropic/claude-sonnet-4-6 \
--yes \
--message "Schreibe Unit-Tests für alle geänderten Funktionen. \
Nutze das bestehende Test-Pattern im Repository." \
${{ steps.changed.outputs.files }}
Dependency-Updates und Migrations
Aider eignet sich für Migrations-Tasks, die sich wiederholen: API-Versionen updaten, Deprecated-Patterns ersetzen, Coding-Standards durchsetzen. Für automatisierte Dependency-Updates ohne manuellen Eingriff lohnt ein Blick auf Renovate und Dependabot, die diesen Bereich systematischer abdecken. Der Workflow:
# Lokal testen, dann als CI-Job
aider --model anthropic/claude-sonnet-4-6 \
--yes \
--message "Ersetze alle fetch()-Aufrufe durch den neuen apiClient. \
Der neue Client liegt in src/lib/apiClient.ts. \
Passe alle Imports an."
Aider findet alle betroffenen Stellen via Repository-Map, ersetzt sie konsistent und committed jede Datei einzeln — vollständig nachvollziehbar im Git-Log.
Voraussetzungen
Python 3.9+ und Git — auf macOS und Linux vorhanden, in CI-Environments standard.
API-Key als Umgebungsvariable:
export ANTHROPIC_API_KEY=sk-ant-...
# Dauerhaft in ~/.zshrc / ~/.bashrc
Aider installieren
# Empfohlen: pipx (isolierte Umgebung)
pipx install aider-chat
# Alternativ: uv
uv tool install aider-chat
# Test
aider --version
Projektkonfiguration über .aider.conf.yml im Repository-Root:
model: anthropic/claude-sonnet-4-6
auto-commits: true
Aider in Zed: Terminal-Integration
Das integrierte Terminal öffnet sich in Zed über das Menü (View → Terminal). Aider läuft dort identisch wie in jedem anderen Terminal — kein zusätzliches Setup.
cd mein-projekt
aider --model anthropic/claude-sonnet-4-6
/add src/auth/login.ts src/auth/tokens.ts
Implementiere JWT-Refresh-Token-Logik mit automatischem Ablauf nach 7 Tagen
Zed erkennt die Dateiänderungen im Hintergrund und aktualisiert geöffnete Tabs sofort. Nützliche Befehle:
/drop datei.ts— aus dem Kontext entfernen (spart Token)/model anthropic/claude-opus-4-6— Modell wechseln/undo— letzten Commit rückgängig machen/run npm test— Tests ausführen und Ergebnis in den Kontext laden
Ollama für lokale Nutzung
ollama pull llama3
aider --model ollama/llama3
Lokale Modelle eignen sich für einfache Refactorings oder Experimente ohne API-Kosten — für komplexe Multi-File-Tasks liefern sie schwächere Ergebnisse.
Aider in Zed: ACP-Integration
Das Community-Projekt aider-acp verbindet Aider über Zeds Agent Client Protocol direkt mit dem Editor-Panel.
git clone https://github.com/jorgejhms/aider-acp.git
cd aider-acp
# Setup gemäß aktuellem README
aider-acp startet einen lokalen Server. In Zed: Agent Panel öffnen (Cmd+?), + klicken, Aider auswählen oder als Custom Agent mit http://localhost:PORT eintragen.
Diffs erscheinen dann inline im Agent Panel statt als reine Dateiänderungen. Für Workflows, bei denen der Chat-Kontext wichtiger ist als der Terminal-Workflow, eine kompaktere Oberfläche.
Vergleich
| Terminal-Integration | ACP-Integration | CI/CD | |
|---|---|---|---|
| Setup-Aufwand | Keiner | Mittel | pipx + YAML |
| Stabilität | Hoch | Community-Projekt | Hoch |
| Diffs | Im Editor sichtbar | Inline im Panel | Git-Log |
| Modellwechsel | /model | Server-Konfig | Flag im Command |
| Headless | Nein | Nein | Ja |
Zed + Aider vs. Cursor
Cursor hat eine tiefere, proprietäre KI-Integration out of the box – kein CLI-Setup, keine API-Keys. Es basiert weiterhin auf dem VS-Code-Core (Open-Source-Basis, nicht Microsofts proprietäre Erweiterungen) und hinkt dem Upstream gelegentlich einige Wochen hinterher. Alle Prompts und Code-Snippets laufen über Cursor-Server.
Zed alleine ist funktional bereits nah an Cursor — mit offener Architektur, eigenem API-Key, ohne Code auf Drittservern. Aider kommt als Ergänzung für Aufgaben, bei denen Zed an seine Grenzen stößt: große Refactorings, CI-Automation, headless-Workflows.
Einordnung
Aider ist technisch überzeugend — die Repository-Map, die Git-native Arbeitsweise, die CI-Fähigkeit. Trotzdem: Für mich im täglichen Einsatz bleibt es vorerst ein Werkzeug mit Friction.
Zed mit Claude deckt den Großteil meiner Arbeit bereits ab. Der konkrete Bedarf für Repository-weite Refactorings über viele Dateien oder für headless CI-Workflows entsteht nicht täglich. Und die vielen automatischen Commits, die Aider produziert, sind gewöhnungsbedürftig — nicht weil sie falsch sind, sondern weil sie eine andere Vorstellung von Git-History mitbringen: granulare, agentenerzeugte Commits statt bewusst gesetzter Wegmarken.
Das ist keine Ablehnung, sondern eine Frage des richtigen Moments — und hängt davon ab, wie weit man KI-Agenten bereits in den Entwicklungsworkflow integriert hat. Aider macht Sinn, wenn die Aufgabe groß genug ist, dass der Setup-Aufwand sich rechnet — und wenn das Vertrauen in den Agenten weit genug gewachsen ist, um ihm die Git-History zu überlassen. Bis dahin: Zed, Terminal, Claude Code, Codex.