Aider · Capability

Aider CLI — Full Command Surface

Aider — Command Surface. 39 operations across files, editing, git, models, chat, modes, quality, IO, voice, web, map, settings, and session lifecycle. Lead operation: Aider Request Code Edit (the default `/code` flow that drives a multi-file diff-based edit against the user's local Git working tree). Self-contained Naftiko capability covering one Aider business surface.

Run with Naftiko AiderCLIAI Pair ProgrammingBYO LLM

What You Can Do

POST
Addfiles — Aider Add Files to Chat
/v1/files
DELETE
Dropfiles — Aider Drop Files From Chat
/v1/files
GET
Listfiles — Aider List Files in Session
/v1/files
POST
Addreadonlyfiles — Aider Add Read-Only Files
/v1/files/read-only
POST
Requestcodeedit — Aider Request Code Edit
/v1/edits
POST
Architectmode — Aider Enter Architect Mode
/v1/edits
POST
Askquestion — Aider Ask Question About Code
/v1/questions
PUT
Switchchatmode — Aider Switch Chat Mode
/v1/chat-mode
GET
Showdiff — Aider Show Diff Since Last Message
/v1/git/diff
POST
Undolastcommit — Aider Undo Last Aider Commit
/v1/git/undo
POST
Commitchanges — Aider Commit Changes Outside Chat
/v1/git/commit
POST
Rungitcommand — Aider Run Git Command
/v1/git/exec
PUT
Switchmainmodel — Aider Switch Main Model
/v1/models/main
PUT
Switchweakmodel — Aider Switch Weak Model
/v1/models/weak
PUT
Switcheditormodel — Aider Switch Editor Model
/v1/models/editor
GET
Listavailablemodels — Aider List Available Models
/v1/models
DELETE
Clearchathistory — Aider Clear Chat History
/v1/chat/history
POST
Resetsession — Aider Reset Session
/v1/session/reset
GET
Reporttokenusage — Aider Report Token Usage
/v1/tokens
PUT
Setreasoningeffort — Aider Set Reasoning Effort
/v1/settings/reasoning-effort
PUT
Setthinkingtokens — Aider Set Thinking Token Budget
/v1/settings/think-tokens
GET
Showsettings — Aider Show Current Settings
/v1/settings
GET
Showrepositorymap — Aider Show Repository Map
/v1/map
POST
Refreshrepositorymap — Aider Refresh Repository Map
/v1/map
POST
Runshellcommand — Aider Run Shell Command
/v1/shell
POST
Runtestcommand — Aider Run Test Command
/v1/tests
POST
Runlint — Aider Run Lint and Fix
/v1/lint
POST
Recordvoiceinput — Aider Record Voice Input
/v1/voice
POST
Scrapewebpage — Aider Scrape Web Page
/v1/web
POST
Pastefromclipboard — Aider Paste Clipboard Content
/v1/clipboard/paste
POST
Copylastmessage — Aider Copy Last Assistant Message
/v1/clipboard/copy
POST
Copychatcontext — Aider Copy Chat Context as Markdown
/v1/clipboard/copy-context
POST
Openeditorprompt — Aider Open Editor for Prompt
/v1/editor/prompt
POST
Loadcommandscript — Aider Load Command Script
/v1/scripts/load
POST
Savecommandscript — Aider Save Command Script
/v1/scripts/save
GET
Gethelp — Aider Ask Help Question
/v1/help
POST
Opengithubissue — Aider Report a Problem
/v1/issues
POST
Exitsession — Aider Exit Session
/v1/session/exit
GET
Getlaunchconfig — Aider Get Launch Configuration
/v1/launch/config
PUT
Updatelaunchconfig — Aider Update Launch Configuration
/v1/launch/config

MCP Tools

add-files

Aider Add Files to Chat

drop-files

Aider Drop Files From Chat

add-read-only-files

Aider Add Read-Only Files

list-files

Aider List Files in Session

read-only idempotent
request-code-edit

Aider Request Code Edit

architect-mode

Aider Enter Architect Mode

ask-question

Aider Ask Question About Code

read-only
switch-chat-mode

Aider Switch Chat Mode

show-diff

Aider Show Diff Since Last Message

read-only idempotent
undo-last-commit

Aider Undo Last Aider Commit

commit-changes

Aider Commit Changes Outside Chat

run-git-command

Aider Run Git Command

switch-main-model

Aider Switch Main Model

idempotent
switch-weak-model

Aider Switch Weak Model

idempotent
switch-editor-model

Aider Switch Editor Model

idempotent
list-available-models

Aider List Available Models

read-only idempotent
clear-chat-history

Aider Clear Chat History

idempotent
reset-session

Aider Reset Session

idempotent
report-token-usage

Aider Report Token Usage

read-only idempotent
set-reasoning-effort

Aider Set Reasoning Effort

idempotent
set-thinking-tokens

Aider Set Thinking Token Budget

idempotent
show-settings

Aider Show Current Settings

read-only idempotent
show-repository-map

Aider Show Repository Map

read-only idempotent
refresh-repository-map

Aider Refresh Repository Map

idempotent
run-shell-command

Aider Run Shell Command

run-test-command

Aider Run Test Command

read-only
run-lint

Aider Run Lint and Fix

record-voice-input

Aider Record Voice Input

scrape-web-page

Aider Scrape Web Page

read-only
paste-from-clipboard

Aider Paste Clipboard Content

copy-last-message

Aider Copy Last Assistant Message

read-only idempotent
copy-chat-context

Aider Copy Chat Context as Markdown

read-only idempotent
open-editor-prompt

Aider Open Editor for Prompt

load-command-script

Aider Load Command Script

save-command-script

Aider Save Command Script

idempotent
get-help

Aider Ask Help Question

read-only idempotent
open-github-issue

Aider Report a Problem

exit-session

Aider Exit Session

idempotent
get-launch-config

Aider Get Launch Configuration

read-only idempotent
update-launch-config

Aider Update Launch Configuration

idempotent

Capability Spec

aider-cli.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "Aider CLI — Full Command Surface"
  description: >-
    Aider — Command Surface. 39 operations across files, editing, git, models,
    chat, modes, quality, IO, voice, web, map, settings, and session lifecycle.
    Lead operation: Aider Request Code Edit (the default `/code` flow that
    drives a multi-file diff-based edit against the user's local Git working
    tree). Self-contained Naftiko capability covering one Aider business surface.
  tags:
    - Aider
    - CLI
    - AI Pair Programming
    - BYO LLM
  created: "2026-05-30"
  modified: "2026-05-30"

binds:
  - namespace: env
    keys:
      ANTHROPIC_API_KEY: ANTHROPIC_API_KEY
      OPENAI_API_KEY: OPENAI_API_KEY

capability:

  # ── 1. Consumes — the upstream HTTP API this capability speaks to ─────
  # Note: Aider does not expose an HTTP API. This consumes block models
  # the documented CLI surface as if it were callable via REST so the
  # capability can be reasoned about by Naftiko-aware runtimes. The actual
  # invocation is `aider <flags>` plus in-chat slash commands.
  consumes:
    - type: http
      namespace: "aider-cli"
      baseUri: "cli://aider"
      description: "Aider CLI command surface. Self-contained, no shared references."
      authentication:
        type: bearer
        token: "{{env.ANTHROPIC_API_KEY}}"
      resources:
        - name: "commands"
          path: "/commands"
          operations:
            - name: "addFiles"
              method: POST
              description: "Aider Add Files to Chat"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "AddFilesRequest payload with file paths and read_only flag."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "dropFiles"
              method: POST
              description: "Aider Drop Files From Chat"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: false
                  description: "DropFilesRequest payload listing files to remove."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "addReadOnlyFiles"
              method: POST
              description: "Aider Add Read-Only Files"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "AddFilesRequest payload (treated as read-only)."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "listFiles"
              method: GET
              description: "Aider List Files in Session"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "requestCodeEdit"
              method: POST
              description: "Aider Request Code Edit"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "EditRequest payload with prompt and edit_format."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "architectMode"
              method: POST
              description: "Aider Enter Architect Mode"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "EditRequest payload routed through the architect/editor split."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "askQuestion"
              method: POST
              description: "Aider Ask Question About Code"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "AskRequest payload — no files are modified."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "switchChatMode"
              method: POST
              description: "Aider Switch Chat Mode"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "ChatModeRequest payload (mode: code|architect|ask|help|context)."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "showDiff"
              method: GET
              description: "Aider Show Diff Since Last Message"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "undoLastCommit"
              method: POST
              description: "Aider Undo Last Aider Commit"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "commitChanges"
              method: POST
              description: "Aider Commit Changes Outside Chat"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: false
                  description: "CommitRequest payload with optional message override."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "runGitCommand"
              method: POST
              description: "Aider Run Git Command"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "ShellRequest payload to run a git subcommand."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "switchMainModel"
              method: POST
              description: "Aider Switch Main Model"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "ModelSelection payload — LiteLLM model id."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "switchWeakModel"
              method: POST
              description: "Aider Switch Weak Model"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "ModelSelection payload for the weak/summarization model."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "switchEditorModel"
              method: POST
              description: "Aider Switch Editor Model"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "ModelSelection payload for the architect-mode editor model."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "listAvailableModels"
              method: GET
              description: "Aider List Available Models"
              inputParameters:
                - name: query
                  in: query
                  type: string
                  required: false
                  description: "Substring filter applied to model identifiers."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "clearChatHistory"
              method: POST
              description: "Aider Clear Chat History"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "resetSession"
              method: POST
              description: "Aider Reset Session"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "reportTokenUsage"
              method: GET
              description: "Aider Report Token Usage"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "setReasoningEffort"
              method: POST
              description: "Aider Set Reasoning Effort"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "ReasoningEffortRequest payload (low|medium|high or numeric)."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "setThinkingTokens"
              method: POST
              description: "Aider Set Thinking Token Budget"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "ThinkingTokensRequest payload (8k, 32k, 0.5M, etc)."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "showSettings"
              method: GET
              description: "Aider Show Current Settings"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "showRepositoryMap"
              method: GET
              description: "Aider Show Repository Map"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "refreshRepositoryMap"
              method: POST
              description: "Aider Refresh Repository Map"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "runShellCommand"
              method: POST
              description: "Aider Run Shell Command"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "ShellRequest payload to run an arbitrary shell command."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "runTestCommand"
              method: POST
              description: "Aider Run Test Command"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "ShellRequest payload — test output is added to chat on non-zero exit."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "runLint"
              method: POST
              description: "Aider Run Lint and Fix"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: false
                  description: "LintRequest payload — omit to lint all dirty files."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "recordVoiceInput"
              method: POST
              description: "Aider Record Voice Input"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "scrapeWebPage"
              method: POST
              description: "Aider Scrape Web Page"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "WebFetchRequest payload with the URL to fetch and convert to markdown."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "pasteFromClipboard"
              method: POST
              description: "Aider Paste Clipboard Content"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "copyLastMessage"
              method: POST
              description: "Aider Copy Last Assistant Message"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "copyChatContext"
              method: POST
              description: "Aider Copy Chat Context as Markdown"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "openEditorPrompt"
              method: POST
              description: "Aider Open Editor for Prompt"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "loadCommandScript"
              method: POST
              description: "Aider Load Command Script"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "FilePathRequest payload with the script file to load."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "saveCommandScript"
              method: POST
              description: "Aider Save Command Script"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "FilePathRequest payload with the destination script file."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "getHelp"
              method: GET
              description: "Aider Ask Help Question"
              inputParameters:
                - name: query
                  in: query
                  type: string
                  required: false
                  description: "The help question to ask."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "openGitHubIssue"
              method: POST
              description: "Aider Report a Problem"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "exitSession"
              method: POST
              description: "Aider Exit Session"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "getLaunchConfig"
              method: GET
              description: "Aider Get Launch Configuration"
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "updateLaunchConfig"
              method: PUT
              description: "Aider Update Launch Configuration"
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: "LaunchConfig payload — composite of YAML + env + flags."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  # ── 2. REST exposer — Spectral-compliant /v1 surface, 1:1 with consumes ──
  exposes:
    - type: rest
      namespace: "aider-cli-rest"
      port: 8080
      description: "REST adapter for the Aider CLI command surface. One Spectral-compliant resource per consumed operation, prefixed with /v1."
      resources:
        - path: "/v1/files"
          name: "files"
          description: "REST surface for chat file management."
          operations:
            - method: POST
              name: "addFiles"
              description: "Aider Add Files to Chat"
              call: "aider-cli.addFiles"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: "dropFiles"
              description: "Aider Drop Files From Chat"
              call: "aider-cli.dropFiles"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: GET
              name: "listFiles"
              description: "Aider List Files in Session"
              call: "aider-cli.listFiles"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/files/read-only"
          name: "read-only-files"
          description: "REST surface for read-only file references."
          operations:
            - method: POST
              name: "addReadOnlyFiles"
              description: "Aider Add Read-Only Files"
              call: "aider-cli.addReadOnlyFiles"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/edits"
          name: "edits"
          description: "REST surface for code edits."
          operations:
            - method: POST
              name: "requestCodeEdit"
              description: "Aider Request Code Edit"
              call: "aider-cli.requestCodeEdit"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: "architectMode"
              description: "Aider Enter Architect Mode"
              call: "aider-cli.architectMode"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/questions"
          name: "questions"
          description: "REST surface for asking about the codebase."
          operations:
            - method: POST
              name: "askQuestion"
              description: "Aider Ask Question About Code"
              call: "aider-cli.askQuestion"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/chat-mode"
          name: "chat-mode"
          description: "REST surface for chat-mode switching."
          operations:
            - method: PUT
              name: "switchChatMode"
              description: "Aider Switch Chat Mode"
              call: "aider-cli.switchChatMode"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/git/diff"
          name: "git-diff"
          description: "REST surface for showing diffs."
          operations:
            - method: GET
              name: "showDiff"
              description: "Aider Show Diff Since Last Message"
              call: "aider-cli.showDiff"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/git/undo"
          name: "git-undo"
          description: "REST surface for undoing aider commits."
          operations:
            - method: POST
              name: "undoLastCommit"
              description: "Aider Undo Last Aider Commit"
              call: "aider-cli.undoLastCommit"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/git/commit"
          name: "git-commit"
          description: "REST surface for explicit commits."
          operations:
            - method: POST
              name: "commitChanges"
              description: "Aider Commit Changes Outside Chat"
              call: "aider-cli.commitChanges"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/git/exec"
          name: "git-exec"
          description: "REST surface for arbitrary git invocations."
          operations:
            - method: POST
              name: "runGitCommand"
              description: "Aider Run Git Command"
              call: "aider-cli.runGitCommand"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/models/main"
          name: "main-model"
          description: "REST surface for the main model selection."
          operations:
            - method: PUT
              name: "switchMainModel"
              description: "Aider Switch Main Model"
              call: "aider-cli.switchMainModel"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/models/weak"
          name: "weak-model"
          description: "REST surface for the weak model selection."
          operations:
            - method: PUT
              name: "switchWeakModel"
              description: "Aider Switch Weak Model"
              call: "aider-cli.switchWeakModel"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/models/editor"
          name: "editor-model"
          description: "REST surface for the editor model selection."
          operations:
            - method: PUT
              name: "switchEditorModel"
              description: "Aider Switch Editor Model"
              call: "aider-cli.switchEditorModel"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/models"
          name: "models"
          description: "REST surface for listing available models."
          operations:
            - method: GET
              name: "listAvailableModels"
              description: "Aider List Available Models"
              call: "aider-cli.listAvailableModels"
              with:
                query: "rest.query"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/chat/history"
          name: "chat-history"
          description: "REST surface for clearing chat history."
          operations:
            - method: DELETE
              name: "clearChatHistory"
              description: "Aider Clear Chat History"
              call: "aider-cli.clearChatHistory"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/session/reset"
          name: "session-reset"
          description: "REST surface for resetting the session."
          operations:
            - method: POST
              name: "resetSession"
              description: "Aider Reset Session"
              call: "aider-cli.resetSession"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/tokens"
          name: "tokens"
          description: "REST surface for token usage reporting."
          operations:
            - method: GET
              name: "reportTokenUsage"
              description: "Aider Report Token Usage"
              call: "aider-cli.reportTokenUsage"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/settings/reasoning-effort"
          name: "reasoning-effort"
          description: "REST surface for setting reasoning effort."
          operations:
            - method: PUT
              name: "setReasoningEffort"
              description: "Aider Set Reasoning Effort"
              call: "aider-cli.setReasoningEffort"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/settings/think-tokens"
          name: "think-tokens"
          description: "REST surface for setting thinking token budget."
          operations:
            - method: PUT
              name: "setThinkingTokens"
              description: "Aider Set Thinking Token Budget"
              call: "aider-cli.setThinkingTokens"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/settings"
          name: "settings"
          description: "REST surface for current settings."
          operations:
            - method: GET
              name: "showSettings"
              description: "Aider Show Current Settings"
              call: "aider-cli.showSettings"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/map"
          name: "map"
          description: "REST surface for the repository map."
          operations:
            - method: GET
              name: "showRepositoryMap"
              description: "Aider Show Repository Map"
              call: "aider-cli.showRepositoryMap"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: "refreshRepositoryMap"
              description: "Aider Refresh Repository Map"
              call: "aider-cli.refreshRepositoryMap"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/shell"
          name: "shell"
          description: "REST surface for shell command execution."
          operations:
            - method: POST
              name: "runShellCommand"
              description: "Aider Run Shell Command"
              call: "aider-cli.runShellCommand"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/tests"
          name: "tests"
          description: "REST surface for running the test suite."
          operations:
            - method: POST
              name: "runTestCommand"
              description: "Aider Run Test Command"
              call: "aider-cli.runTestCommand"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/lint"
          name: "lint"
          description: "REST surface for running the linter."
          operations:
            - method: POST
              name: "runLint"
              description: "Aider Run Lint and Fix"
              call: "aider-cli.runLint"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/voice"
          name: "voice"
          description: "REST surface for voice transcription."
          operations:
            - method: POST
              name: "recordVoiceInput"
              description: "Aider Record Voice Input"
              call: "aider-cli.recordVoiceInput"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/web"
          name: "web"
          description: "REST surface for web scraping."
          operations:
            - method: POST
              name: "scrapeWebPage"
              description: "Aider Scrape Web Page"
              call: "aider-cli.scrapeWebPage"
              with:
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/clipboard/paste"
          name: "clipboard-paste"
          description: "REST surface for clipboard paste."
          operations:
            - method: POST
              name: "pasteFromClipboard"
              description: "Aider Paste Clipboard Content"
              call: "aider-cli.pasteFromClipboard"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/clipboard/copy"
          name: "clipboard-copy"
          description: "REST surface for copying the last message."
          operations:
            - method: POST
              name: "copyLastMessage"
              description: "Aider Copy Last Assistant Message"
              call: "aider-cli.copyLastMessage"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/clipboard/copy-context"
          name: "clipboard-copy-context"
          description: "REST surface for copying full chat context."
          operations:
            - method: POST
              name: "copyChatContext"
              description: "Aider Copy Chat Context as Markdown"
              call: "aider-cli.copyCh

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aider/refs/heads/main/capabilities/aider-cli.yaml