id = "aider" name = "Aider" homepage = "https://aider.chat" description = "An AI pair programming tool in your terminal." executables = ["aider"] [dotfiles] # Aider's official configuration docs specify ~/.aider.conf.yml as the home # configuration file and document the API-key fields it can contain. # https://aider.chat/docs/config.html # https://github.com/Aider-AI/aider/blob/main/aider/website/docs/config/aider_conf.md paths = ["~/.aider.conf.yml"] secret = [] [[dotfiles.secret_paths]] file = "~/.aider.conf.yml" format = "yaml" match = { key_path = ["openai-api-key", "anthropic-api-key"] } [commands] format = 1 label = "Start Aider" description = "Start an AI pair programming session on some files, or send a single message and exit. API keys, colors, analytics and the many model-specific flags are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "docs" kind = "manual" url = "https://aider.chat/docs/config/options.html" revision = "main 2026-10" evidence = """ --model MODEL Specify the model to use for the main chat --edit-format EDIT_FORMAT Specify what edit format the LLM should use (default depends on model) --architect Use architect edit format for the main chat --weak-model WEAK_MODEL Specify the model to use for commit messages and chat history summarization --editor-model EDITOR_MODEL Specify the model to use for editor tasks --git Enable/disable looking for a git repo (default: True) --commit Commit all pending changes with a suitable commit message, then exit --dry-run Perform a dry run without modifying files (default: False) --lint Lint and fix provided files, or dirty files if none provided --test-cmd VALUE Specify command to run tests --auto-test Enable/disable automatic testing after changes --test Run tests, fix problems found and then exit --message COMMAND, --msg COMMAND, -m COMMAND Specify a single message to send the LLM, process reply then exit (disables chat mode) --file FILE specify a file to edit (can be used multiple times) --read FILE specify a read-only file (can be used multiple times) --vim Use VI editing mode in the terminal (default: False) --chat-language CHAT_LANGUAGE Specify the language to use in the chat --yes-always Always say yes to every confirmation --verbose, -v Enable verbose output """ [[commands.field]] id = "files" label = "Files to edit" type = "path" position = 0 multiple = true path = { kind = "file", role = "input" } sources = ["docs"] [[commands.field]] id = "model" label = "Model" type = "string" option = ["--model"] suggestions = [{ value = "sonnet", label = "Claude Sonnet" }, { value = "opus", label = "Claude Opus" }, { value = "haiku", label = "Claude Haiku" }] sources = ["docs"] [[commands.field]] id = "message" label = "Single message" description = "Send this message, apply the reply and exit." type = "string" option = ["--message", "-m"] sources = ["docs"] [[commands.field]] id = "read" label = "Read-only files" type = "path" option = ["--read"] multiple = true path = { kind = "file", role = "input" } sources = ["docs"] [[commands.field]] id = "architect" label = "Architect mode" type = "boolean" option = ["--architect"] sources = ["docs"] [[commands.field]] id = "editor_model" label = "Editor model" type = "string" option = ["--editor-model"] sources = ["docs"] [[commands.field]] id = "weak_model" label = "Weak model" type = "string" option = ["--weak-model"] sources = ["docs"] [[commands.field]] id = "test_cmd" label = "Test command" type = "string" option = ["--test-cmd"] effect = "exec" sources = ["docs"] [[commands.field]] id = "auto_test" label = "Auto-test after changes" type = "boolean" option = ["--auto-test"] sources = ["docs"] [[commands.field]] id = "dry_run" label = "Dry run" type = "boolean" option = ["--dry-run"] sources = ["docs"] [[commands.field]] id = "yes_always" label = "Say yes to everything" type = "boolean" option = ["--yes-always"] sources = ["docs"] [[commands.field]] id = "chat_language" label = "Chat language" type = "string" option = ["--chat-language"] sources = ["docs"] [[commands.field]] id = "verbose" label = "Verbose" type = "boolean" option = ["--verbose", "-v"] sources = ["docs"] [[commands.task]] id = "chat" label = "Chat about files" fields = ["files", "model", "read"] required = ["files"] [[commands.task]] id = "one_shot" label = "Send one message" fields = ["files", "model", "message", "dry_run"] required = ["message"] [[commands.group]] id = "basic" label = "Basic" fields = ["files", "model", "message", "read", "architect"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["editor_model", "weak_model", "test_cmd", "auto_test", "dry_run", "yes_always", "chat_language", "verbose"]