mirror of
https://github.com/msitarzewski/agency-agents.git
synced 2026-09-22 01:15:54 +03:00
fix(aider): CONVENTIONS.md is a roster index, not 3.8 million characters of agents (#871)
Aider loads a conventions file into context and keeps it there for the whole
session — that is what the file is for, and the docs say to load it with
--read so prompt caching can hold it. This integration concatenated every
agent body into it. At 279 agents that is 3,816,372 characters, roughly a
million tokens. No model takes that. Anyone who ran
./scripts/install.sh --tool aider
got a CONVENTIONS.md that either blows the context window on the first turn
or bills for a million tokens trying.
CONVENTIONS.md is now the roster index it was described as: one entry per
agent with the name, the description, the division, and the path to the
agent file. 96,823 characters, down from 3.8 million. The header explains
how to pull a single agent's full instructions into the session:
/read-only /path/to/agency-agents/engineering/engineering-frontend-developer.md
Naming an agent in a prompt still works the way it did — the description is
what the model needed for that, and it is still there.
test-convert-outputs.sh now holds the index to being an index: it fails if
CONVENTIONS.md grows past 250,000 characters, if it does not list exactly
one path per roster agent, or if any path it prints does not resolve. The
existing round-trip check on the accumulated file still covers the names and
descriptions.
This commit is contained in:
@@ -733,7 +733,7 @@ The Agency works natively with Claude Code, and ships conversion + install scrip
|
||||
- **[Gemini CLI](https://github.com/google-gemini/gemini-cli)** -- `.md` agent files -> `~/.gemini/agents/`
|
||||
- **[OpenCode](https://opencode.ai)** — `.md` agent files → `.opencode/agents/`
|
||||
- **[Cursor](https://cursor.sh)** — `.mdc` rule files → `.cursor/rules/`
|
||||
- **[Aider](https://aider.chat)** — single `CONVENTIONS.md` → `./CONVENTIONS.md`
|
||||
- **[Aider](https://aider.chat)** — `CONVENTIONS.md` roster index → `./CONVENTIONS.md`
|
||||
- **[Windsurf](https://codeium.com/windsurf)** — single `.windsurfrules` → `./.windsurfrules`
|
||||
- **[OpenClaw](https://github.com/openclaw/openclaw)** — `SOUL.md` + `AGENTS.md` + `IDENTITY.md` per agent
|
||||
- **[Qwen Code](https://github.com/QwenLM/qwen-code)** — `.md` SubAgent files → `~/.qwen/agents/`
|
||||
@@ -926,7 +926,10 @@ See [integrations/cursor/README.md](integrations/cursor/README.md) for details.
|
||||
<details>
|
||||
<summary><strong>Aider</strong></summary>
|
||||
|
||||
All agents are compiled into a single `CONVENTIONS.md` file that Aider reads automatically.
|
||||
`CONVENTIONS.md` is the roster index — every agent's name, description, and the
|
||||
path to its full instructions. Aider keeps a conventions file in context for the
|
||||
whole session, and the 279 bodies together are about a million tokens, so the
|
||||
file lists the agents rather than inlining them.
|
||||
|
||||
```bash
|
||||
cd /your/project
|
||||
@@ -938,6 +941,11 @@ Then reference agents in your Aider session:
|
||||
Use the Frontend Developer agent to refactor this component.
|
||||
```
|
||||
|
||||
When you want an agent's full instructions, read its file in:
|
||||
```
|
||||
/read-only /path/to/agency-agents/engineering/engineering-frontend-developer.md
|
||||
```
|
||||
|
||||
See [integrations/aider/README.md](integrations/aider/README.md) for details.
|
||||
</details>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user