Skip to content

Add aider kit#24

Open
ealeyner wants to merge 1 commit into
docker:mainfrom
ealeyner:add-aider-kit
Open

Add aider kit#24
ealeyner wants to merge 1 commit into
docker:mainfrom
ealeyner:add-aider-kit

Conversation

@ealeyner
Copy link
Copy Markdown
Contributor

@ealeyner ealeyner commented May 5, 2026

Summary

  • Adds a kind: agent kit for Aider, an AI pair programming tool
  • Installs Aider via uv with Python 3.12 at sandbox creation time
  • Wires Anthropic, OpenAI, and Gemini auth through the SBX proxy (serviceDomains + serviceAuth)
  • Pre-seeds ~/.aider.conf.yml with sensible defaults (model alias, auto-commits, analytics off)

Spec choices worth flagging

--python 3.12 on the install command: The base image ships Python 3.13, but aider's numpy dependency resolves to a version that only has prebuilt wheels for Python ≤3.12. The base image has no C compiler, so uv tool install aider-chat fails trying to build numpy from source. Pinning --python 3.12 causes uv to download a standalone CPython 3.12 runtime (~28 MB) from releases.astral.sh (already covered by *.astral.sh in allowedDomains) and install aider against it. Confirmed working end-to-end.

*.astral.sh wildcard in allowedDomains: Same rationale as the openhands kit (#22) — the uv install script at astral.sh redirects binary and Python runtime downloads to releases.astral.sh. Without the wildcard, those fetches get a 403 from the proxy. serviceDomains stays narrow (only the three LLM API endpoints) to avoid TLS interception on install-time CDN traffic.

--with pip on the install command: Aider uses pip internally for some operations. Without this flag, uv tool install omits pip from the isolated environment and aider fails at runtime.

No aiFilename/memory:: Aider doesn't have a single canonical "memory file" analogous to CLAUDE.md or AGENTS.md. Users pass project conventions via --read <file> or .aider.conf.yml. The README covers this.

Test plan

  • sbx kit validate ./aider/ — passes
  • sbx run --kit ./aider/ aider — sandbox created successfully
  • Manual install verified: aider 0.86.2 installed and --version returns correctly
  • sbx policy log — no blocked domains during install; *.astral.sh, pypi.org, files.pythonhosted.org all resolve as forward-bypass
  • TCK (go test) — CI will run this; requires Docker, not available in this environment

Origin

Designed and tested locally against a Docker SBX sandbox. Followed the amp kit pattern for auth wiring.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Eli Aleyner <eli@aleyner.com>
@ealeyner ealeyner requested a review from a team as a code owner May 5, 2026 06:46
Comment thread aider/spec.yaml
Comment on lines +64 to +66
- command: "curl -LsSf https://astral.sh/uv/install.sh | sh"
user: "1000"
description: Install uv
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uv is already preinstalled in the shell template

Comment thread aider/README.md
Comment on lines +26 to +30
$ sbx secret set-custom -g \
--host api.anthropic.com \
--env ANTHROPIC_API_KEY \
--placeholder "sk-ant-{rand}" \
--value "$ANTHROPIC_API_KEY"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do these need to be created with set-custom? can't the kit use the pre-existing anthropic, google, openai secret services?

Comment thread aider/README.md
Comment on lines +46 to +47
$ sbx run --kit "git+https://github.com/docker/sbx-kits-contrib.git#dir=aider" \
aider -e AIDER_MODEL=gpt-4o
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no -e flag on sbx run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants