Composez aider fork to support pluggability and novel editing
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file composez_aider_fork-0.86.2.tar.gz.
File metadata
- Download URL: composez_aider_fork-0.86.2.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e3beb89eb41b8bc2000ac72b78a44779bd056ca435eaf3af1e5a83d945d90b2
|
|
| MD5 |
5039210b2d1463536923f3d5565c4b69
|
|
| BLAKE2b-256 |
eaaa9a810b8cc94a3e0d546f0effa1a5d9a254ec7e5f63cf687c27574edec075
|
File details
Details for the file composez_aider_fork-0.86.2-py3-none-any.whl.
File metadata
- Download URL: composez_aider_fork-0.86.2-py3-none-any.whl
- Upload date:
- Size: 387.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39e3a4bf6902aa20cf076ffdf435747812e83edf3e2b9b30e8d9d92270241580
|
|
| MD5 |
d7e2d58f20f53cd0811172efa1448478
|
|
| BLAKE2b-256 |
4dad136c7673cc1c6f87531f3da2f6acb4c8755cfa00265eae5c13b9e23cccde
|