Skip to content

feat(docker): richer multi-stage agent image - #4

Merged
thunderock merged 5 commits into
mainfrom
docker
Jun 30, 2026
Merged

thunderock merged 5 commits into
mainfrom
docker

Conversation

@thunderock

Copy link
Copy Markdown
Owner

Rebuild forge-agent:latest as a multi-stage Dockerfile: parallel rust/go/tools builder stages + the existing agent base. Adds uv+Python 3.11, Rust 1.93, Go 1.24.4, AWS CLI v2, lazygit/delta/bat/starship, ruff/black/isort/mypy, tmux/htop/direnv, and curated secret-free dotfiles + vim-gitgutter. NOTE: not built locally (Colima VM had no egress); verify build in CI / on a networked machine before merge.

Rebuild forge-agent:latest as a multi-stage Dockerfile: parallel rust/go/tools builder stages + the existing agent base. Adds uv+Python 3.11, Rust 1.93, Go 1.24.4, AWS CLI v2, lazygit/delta/bat/starship, ruff/black/isort/mypy, tmux/htop/direnv, and curated secret-free dotfiles + vim-gitgutter. NOTE: not built locally (Colima VM had no egress); verify build in CI / on a networked machine before merge.
Point the default agent image at thunderockforge/forge-agent:latest so Docker-mode tasks pull it from Hub instead of building locally (DEFAULT_DOCKER_IMAGE, DOCKER_DEFAULT_IMAGE, and the store/persistence/ui defaults). Add .github/workflows/docker-image.yml: PRs touching docker/** build (amd64) to verify; push to main builds multi-arch on native runners and publishes :latest. Requires DOCKERHUB_USERNAME + DOCKERHUB_TOKEN secrets.
Slim the shipped agent image and bake the gsd (get-shit-done) workflow
layer in so Docker-mode agents have it available.

- Remove starship, tmux, and the `set -o emacs` readline mode
- Bake gsd into the /home/agent skeleton (~/.claude via get-shit-done-cc
  --global + secret-free ~/.gsd/defaults.json)
- Seed gsd into each task's per-agent $HOME at container start (pty.ts);
  cp -an is no-clobber so a shared-auth .claude bind mount keeps creds
- Antigravity (agy) intentionally kept

Local image build is blocked by the Colima VM egress; the gsd install
step is verified by the CI `verify` job.
@thunderock
thunderock merged commit 5d9f301 into main Jun 30, 2026
4 checks passed
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.

1 participant