{
  "id": "aider",
  "name": "Aider",
  "homepage": "https://aider.chat",
  "description": "An AI pair programming tool in your terminal.",
  "executables": [
    "aider"
  ],
  "dotfiles": {
    "paths": [
      "~/.aider.conf.yml"
    ],
    "secret": [],
    "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
    },
    "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\n--edit-format EDIT_FORMAT  Specify what edit format the LLM should use (default depends on model)\n--architect  Use architect edit format for the main chat\n--weak-model WEAK_MODEL  Specify the model to use for commit messages and chat history summarization\n--editor-model EDITOR_MODEL  Specify the model to use for editor tasks\n--git  Enable/disable looking for a git repo (default: True)\n--commit  Commit all pending changes with a suitable commit message, then exit\n--dry-run  Perform a dry run without modifying files (default: False)\n--lint  Lint and fix provided files, or dirty files if none provided\n--test-cmd VALUE  Specify command to run tests\n--auto-test  Enable/disable automatic testing after changes\n--test  Run tests, fix problems found and then exit\n--message COMMAND, --msg COMMAND, -m COMMAND  Specify a single message to send the LLM, process reply then exit (disables chat mode)\n--file FILE  specify a file to edit (can be used multiple times)\n--read FILE  specify a read-only file (can be used multiple times)\n--vim  Use VI editing mode in the terminal (default: False)\n--chat-language CHAT_LANGUAGE  Specify the language to use in the chat\n--yes-always  Always say yes to every confirmation\n--verbose, -v  Enable verbose output\n"
      }
    ],
    "field": [
      {
        "id": "files",
        "label": "Files to edit",
        "type": "path",
        "position": 0,
        "multiple": true,
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "docs"
        ]
      },
      {
        "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"
        ]
      },
      {
        "id": "message",
        "label": "Single message",
        "description": "Send this message, apply the reply and exit.",
        "type": "string",
        "option": [
          "--message",
          "-m"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "read",
        "label": "Read-only files",
        "type": "path",
        "option": [
          "--read"
        ],
        "multiple": true,
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "docs"
        ]
      },
      {
        "id": "architect",
        "label": "Architect mode",
        "type": "boolean",
        "option": [
          "--architect"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "editor_model",
        "label": "Editor model",
        "type": "string",
        "option": [
          "--editor-model"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "weak_model",
        "label": "Weak model",
        "type": "string",
        "option": [
          "--weak-model"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "test_cmd",
        "label": "Test command",
        "type": "string",
        "option": [
          "--test-cmd"
        ],
        "effect": "exec",
        "sources": [
          "docs"
        ]
      },
      {
        "id": "auto_test",
        "label": "Auto-test after changes",
        "type": "boolean",
        "option": [
          "--auto-test"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "dry_run",
        "label": "Dry run",
        "type": "boolean",
        "option": [
          "--dry-run"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "yes_always",
        "label": "Say yes to everything",
        "type": "boolean",
        "option": [
          "--yes-always"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "chat_language",
        "label": "Chat language",
        "type": "string",
        "option": [
          "--chat-language"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "verbose",
        "label": "Verbose",
        "type": "boolean",
        "option": [
          "--verbose",
          "-v"
        ],
        "sources": [
          "docs"
        ]
      }
    ],
    "task": [
      {
        "id": "chat",
        "label": "Chat about files",
        "fields": [
          "files",
          "model",
          "read"
        ],
        "required": [
          "files"
        ]
      },
      {
        "id": "one_shot",
        "label": "Send one message",
        "fields": [
          "files",
          "model",
          "message",
          "dry_run"
        ],
        "required": [
          "message"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "files",
          "model",
          "message",
          "read",
          "architect"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "editor_model",
          "weak_model",
          "test_cmd",
          "auto_test",
          "dry_run",
          "yes_always",
          "chat_language",
          "verbose"
        ]
      }
    ]
  }
}
