aider-ce (aka cecli, pronounced like "Cecily") is a community-driven fork of the Aider AI pair programming tool.
Aider is a fantastic piece of software with a wonderful community but it has been painfully slow in receiving updates in the quickly evolving AI tooling space.
We aim to foster an open, collaborative ecosystem where new features, experiments, and improvements can be developed and shared rapidly. We believe in genuine FOSS principles and actively welcome contributors of all skill levels.
If you are looking for bleeding-edge features or want to get your hands dirty with the internals of an AI coding agent, here's your sign. LLMs are a part of our lives from here on out so join us in learning about and crafting the future.
Discord Chat đźž„ Changelog đźž„ Issue Queue
- Agent Mode
- MCP Configuration
- TUI Configuration
- Skills
- Session Management
- Advanced Model Configuration
- Aider Original Documentation (still mostly applies)
You can see a selection of the enhancements and updates by comparing the help output:
diff -uw --color <(aider --help) <(cecli --help)This project can be installed using several methods:
pip install aider-ceor
uv pip install --native-tls aider-ceThe package exports an aider-ce command that accepts all of Aider's configuration options
uv tool install --native-tls --python python3.12 aider-ceUse the tool installation so aider doesn't interfere with your development environment
The documentation above contains the full set of allowed configuration options
but I highly recommend using an .aider.conf.yml file. A good place to get started is:
model: <model of your choice>
agent: true
analytics: false
auto-commits: true
auto-save: true
auto-load: false
cache-prompts: true
check-update: true
debug: false
enable-context-compaction: true
context-compaction-max-tokens: 64000
env-file: .aider.env
multiline: true
preserve-todo-list: true
show-model-warnings: true
use-enhanced-map: true
watch-files: false
tui: true
agent-config:
large_file_token_threshold: 12500
skip_cli_confirmations: false
mcp-servers:
mcpServers:
context7:
transport: http
url: https://mcp.context7.com/mcpUse the adjacent .aider.env file to store model api keys as environment variables, e.g:
ANTHROPIC_API_KEY="..."
GEMINI_API_KEY="..."
OPENAI_API_KEY="..."
OPENROUTER_API_KEY="..."
DEEPSEEK_API_KEY="..."
If you are in the directory with your .aider.conf.yml file, then simply running aider-ce or cecli will start the agent with your configuration. If you want additional sandboxing, we publish a docker container that can be ran as follows:
docker pull dustinwashington/aider-ce
docker run \
-it \
--user $(id -u):$(id -g) \
--volume $(pwd):/app dustinwashington/aider-ce \
--volume $(pwd)/.aider.conf.yml:/.aider.conf.yml \
--volume $(pwd)/.aider.env:/.aider/.env \
--config /app/.aider.conf.ymlThis command will make sure all commands ran by the coding agent happen in context of the docker container to protect the host file system from any infamous agentic mishap
The current priorities are to improve core capabilities and user experience of the Aider project
- Base Asynchronicity (aider-ce coroutine-experiment branch)
- Refactor codebase to have the main loop run asynchronously
- Update test harness to work with new asynchronous methods
- Repo Map Accuracy - Discussion
- Bias page ranking toward active/editable files in repo map parsing
- Include import information in repo map for richer context
- Handle non-unique symbols that break down in large codebases
- Context Discovery - Discussion
- Develop AST-based search capabilities
- Enhance file search with ripgrep integration
- Implement RAG (Retrieval-Augmented Generation) for better code retrieval
- Build an explicit workflow and local tooling for internal discovery mechanisms
- Context Delivery - Discussion
- Use workflow for internal discovery to better target file snippets needed for specific tasks
- Add support for partial files and code snippets in model completion messages
- TUI Experience - Discussion
- Add a full TUI (probably using textual) to have a visual interface competitive with the other coding agent terminal programs
- Re-integrate pretty output formatting
- Implement a response area, a prompt area with current auto completion capabilities, and a helper area for managing utility commands
- Agent Mode - Discussion
- Renaming "navigator mode" to "agent mode" for simplicity
- Add an explicit "finished" internal tool
- Add a configuration json setting for agent mode to specify allowed local tools to use, tool call limits, etc.
- Add a RAG tool for the model to ask questions about the codebase
- Make the system prompts more aggressive about removing unneeded files/content from the context
- Add a plugin-like system for allowing agent mode to use user-defined tools in simple python files
- Add a dynamic tool discovery tool to allow the system to have only the tools it needs in context