---
name: aider
description: "AI pair programming in the terminal — best for surgical file changes, SQL corrections, and known-file edits using local models via llama-swap"
version: 1.0.0
author: Hermes Agent
license: MIT
platforms: [linux, macos]
metadata:
  hermes:
    tags: [aider, coding-agent, local-models, editing, pair-programming]
    related_skills: [autonomous-coding-agents, ai-cli-selection]
---

# Aider

## Overview

Aider is an open-source AI pair programming tool that works in the terminal. On this server, it's configured to use local models via llama-swap (`http://127.0.0.1:9292/v1`).

**Installation:** `uv tool install aider-chat` — or via pipx
**Config location:** `~/.aider.conf.yml` (global), `~/.aider.model.settings.yml` (model specs)
**Launcher:** `aider-local [model-alias] [prompt...]`

## When to Use (Delegation Rules)

| Task Type | Use Aider? | Why |
|-----------|-----------|-----|
| Known-file surgical changes | **Yes** | Aider's repo-map + whole-edit is ideal |
| SQL corrections | **Yes** | Precise, file-aware, testable |
| Small refactors (1-3 files) | **Yes** | Fast, well-scoped |
| Unfamiliar repo exploration | No → OpenCode | Aider lacks OpenCode's discovery pass |
| Multi-file implementations (>3 files) | No → Codex/OpenCode | Aider scope-creeps on large changes |
| Root-cause debugging | No → Codex CLI | Codex has better autonomous debugging |
| Data transformation / batch processing | No → Open Interpreter | OI is purpose-built for this |

## Local Model Aliases

```bash
aider-local              # default: qwen36-35b-mtp
aider-local qwen36       # Qwen 3.6 35B MoE + MTP
aider-local qwopus       # Qwopus 9B Coder + MTP
aider-local gemma12      # Gemma 4 12B QAT
aider-local qwen35       # Qwen 3.5 9B (uncensored)
aider-local bonsai       # Bonsai 8B (fast, 1-bit, limited reasoning)
```

## Key Flags

| Flag | Use |
|------|-----|
| `--model <name>` | Override model |
| `--no-auto-commits` | Don't auto-commit |
| `--lint` | Lint after each edit |
| `--test` | Run tests after edits |
| `--show-repo-map` | Always show repo context |

## Verification Workflow

**Always independently inspect Aider's diff and re-run verification. Never trust Aider's self-report of completion.**

```bash
# After Aider finishes:
git diff --stat          # See what changed
git diff                 # Inspect each change
pytest -x -q --tb=short  # Re-run tests
ruff check               # Re-lint
```

## Pitfalls

- **Local models don't support tool calling** — use whole-edit format, not diff/edit formats
- **Cold load** — first request to any model takes 10-50s (llama-swap loads on demand)
- **Aider prompts the user for file additions** — use `--yes` flag to skip confirmation
- **`yes:` config key renamed to `yes-always:`** — Aider 0.86+ rejects `yes:` in config. Replace with `yes-always: true`
- **Never run `aider --yes` on production code without Hermes pre-review**
- **`auto-commits: false` in global config** — Aider won't commit unless explicitly told

## Reference Data

Full model capability matrix and cold-load timings for all 7 local models at `autonomous-coding-agents/references/local-model-testing-20260612.md`.

## Triage

When Hermes receives a task, determine if it maps to Aider:

1. Is the change well-scoped to 1-3 known files?
2. Is the task well-defined (no exploration needed)?
3. Is the user asking for surgical editing or fixes?

If yes → use Aider. If unfamiliar repo / broad scope → use OpenCode. If multi-file / debugging → use Codex CLI.
