Aider (Composez Fork)
This is fork of https://github.com/Aider-AI/aider, modified to allow changing the command set and to add new features in support of the composez novel editing features.
You can find the composez repo at https://github.com/kmewhort/composez.
Modifications to aider
Autonomy system
The fork replaces the old architect and agent edit formats with a new
autonomy layer (aider/coders/autonomy.py) that is orthogonal to the edit
mode. Three autonomy levels are available:
| Level | Description |
|---|---|
| direct | Single-turn — one prompt, one response, edits applied. |
| compose | Two-phase — an LLM plans changes, then a separate editor coder implements them (replaces the old architect mode). |
| agent | Multi-step — the LLM produces a YAML plan that is executed via slash commands (requires composez_core.agent_runner). |
Autonomy is selected via /chat compose, /chat agent, or /chat direct and
is tracked on each coder instance via coder.autonomy_strategy.
New coders
- SelectionCoder (
aider/coders/selection_coder.py) — operates on a user-highlighted text range using LSP-styleRangecoordinates. The LLM receives context lines around the selection and responds with a replacement block delimited by--[REPLACEMENT TEXT START]-->/<--[REPLACEMENT TEXT END]--. - AgentCoder (
aider/coders/agent_coder.py) — produces structured YAML plans for multi-step orchestration (used by theagentautonomy strategy). - QueryCoder (
aider/coders/query_coder.py) — replacesAskCoder. Read-only queries against the project; renamed to better fit the novel-editing workflow.
Composez integration hooks
The coder creation path (Coder.create()) includes soft-dependency hooks into
composez_core:
- Novel mode activation — calls
composez_core.novel_coderto apply novel-specific prompts and constraints based on the coder type. - Role-based model resolution — reads a
.composezconfig file to map (edit_format, autonomy) combinations to six named model roles:admin_model,query_model,edit_model,selection_model,compose_model,agent_model. - Pluggable path validator —
coder.edit_path_validatorcallback to enforce file-editing constraints (e.g. narrative file rules). - Novel commands —
Commands.novel_commandslazily loadscomposez_core.NovelCommands, which can add, override, or hide slash commands.
All composez_core imports are guarded by try/except ImportError so the fork
runs standalone as a regular aider instance when composez_core is not installed.
Command and branding changes
- All user-facing strings rebrand "aider" to "composez" (
args.py,commands.py,repo.py, etc.). /askrenamed to/query;/codealiased as/edit./chatnow shows edit modes (help, query, edit, selection) and autonomy levels (direct, compose, agent) as separate categories./helpsimplified to show the command list (removed the interactive RAG-based help system)./reportcommand removed.- New
--auto-contextCLI flags.
Other changes
- Auto-context — when enabled, mentioned files are added to the chat automatically without prompting.
- Auto-create files — files in
coder.auto_create_fnamesare created without confirmation (e.g.SUMMARY.md,PROSE.md). - ConfirmGroup for multi-file edits —
apply_editsandallowed_to_editnow useConfirmGroupso users can approve/skip all files at once. - Lint skipped for query/selection — auto-lint is bypassed when the edit
format is
queryorselection.
License
Licensed under Apache Version 2.0. See `license.txt' for details.
Metadata
Release files for composez-aider-fork 0.86.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| composez_aider_fork-0.86.2.tar.gz | 1.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| composez_aider_fork-0.86.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.7 MB
Release files / composez_aider_fork-0.86.2.tar.gz
| Download URL | composez_aider_fork-0.86.2.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8e3beb89eb41b8bc2000ac72b78a44779bd056ca435eaf3af1e5a83d945d90b2
|
|
BLAKE2b-256 checksum How to use checksums |
eaaa9a810b8cc94a3e0d546f0effa1a5d9a254ec7e5f63cf687c27574edec075
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.4
|
Release files / composez_aider_fork-0.86.2-py3-none-any.whl
| Download URL | composez_aider_fork-0.86.2-py3-none-any.whl |
|---|---|
| Size | 387.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
39e3a4bf6902aa20cf076ffdf435747812e83edf3e2b9b30e8d9d92270241580
|
|
BLAKE2b-256 checksum How to use checksums |
4dad136c7673cc1c6f87531f3da2f6acb4c8755cfa00265eae5c13b9e23cccde
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.4
|