A Docker image for running AI coding assistants in an isolated environment, with all the compilers, package managers, and dev tools they need pre-installed — without polluting your host machine.
Ships with Claude, Codex, Copilot, and Gemini plus Java, Node, Python, Go, Rust, and Deno.
docker pull ghcr.io/sugarfreebytes/aidevtools:latestgit clone https://github.com/sugarfreebytes/aidevtools.git
cp aidevtools/aidevtools.sh /usr/local/bin/aidevtoolsRun it from your project directory. It mounts your project into the container
and persists each AI tool's config in a local .ai/ folder so auth and settings survive between runs.
# Drop into a shell with all tools available
aidevtools
# Run a specific AI assistant directly
aidevtools claude
aidevtools codex
aidevtools copilot
aidevtools gemini
# Use a custom image
aidevtools -i my-custom-imageThe container runs as a non-root devuser with no sudo access. Your current directory is mounted
at /home/devuser/repo inside the container.
By default, no host credentials (SSH keys, git config, etc.) are shared with the container.
To opt in, edit the OPTIONAL_MOUNTS array in aidevtools.sh.
Run aidevtools -h for all options.
If you don't need config persistence, you can run the image directly:
docker run -it \
-v .:/home/devuser/repo \
-w /home/devuser/repo \
ghcr.io/sugarfreebytes/aidevtools zshNote: AI tool configs will be lost when the container exits.
| Tool | Flag |
|---|---|
| Claude CLI | INSTALL_CLAUDE |
| OpenAI Codex | INSTALL_CODEX |
| GitHub Copilot CLI | INSTALL_COPILOT |
| Google Gemini CLI | INSTALL_GEMINI |
| Cursor CLI | INSTALL_CURSOR |
| Stack | Flag |
|---|---|
| Java | INSTALL_JAVA |
| Node.js | INSTALL_NODE |
| Python | INSTALL_PYTHON |
| Go | INSTALL_GO |
| Rust | INSTALL_RUST |
| Deno | INSTALL_DENO |
| Tool | Flag |
|---|---|
GitHub CLI (gh) |
INSTALL_GH |
| neovim | INSTALL_NEOVIM |
| tmux | INSTALL_TMUX |
| direnv | INSTALL_DIRENV |
| Playwright system deps | INSTALL_PLAYWRIGHT |
The pre-built image includes everything. If you want a smaller image, clone the repo and build with specific tools
disabled.
All flags default to true — set any to false to skip:
docker build \
--build-arg INSTALL_JAVA=false \
--build-arg INSTALL_GO=false \
--build-arg INSTALL_RUST=false \
--build-arg INSTALL_PYTHON=false \
-t aidevtools .Pinned versions can also be overridden:
docker build \
--build-arg GO_VERSION=1.26.1 \
--build-arg GEMINI_VERSION=0.35.3 \
-t aidevtools .Available version args: JAVA_VERSION, NODE_VERSION, PYTHON_VERSION, GO_VERSION,
NVM_VERSION, CODEX_VERSION, GEMINI_VERSION, DENO_VERSION.