pjullrich/devcontainer
Changelog
2026-05-29
Added
- Makefile commands: Added
dc.claude.updateanddc.tidewave.updateto update Claude Code and Tidewave inside the devcontainer. Addeddc.makefile.pullto pull the latest Makefile from the GitHub repo. Addeddc.bun.installto install the assets withmix bun. Addeddc.rebuild.forceto force rebuild the devcontainer without cache. - Allowed domains: Added default domains for Crates.io, Cloudflare, and Stripe.
2026-03-30
Added
- Devcontainer guard: All Makefile targets that should only run inside the container now check the
DEVCONTAINERenv var and exit with a clear error message if run on the host
2026-03-12
Added
- Status command:
make dc.statusshows whether the devcontainer is running
Improved
- Better
dc.downoutput: PrintsDevcontainer removed: <id>andVolume removed: <name>(or corresponding "nothing to remove" messages) instead of raw Docker output
2026-03-10
Added
- Isolated
node_modules:assets/node_modulesis now stored in a per-project Docker volume (<project>-node-modules) instead of being shared with the host, avoiding platform mismatches and improving install/build performance. The volume is cleaned up automatically onmake dc.down
2026-03-04
Fixed
- Signal handling in Makefile: Added
execto all interactive/long-running targets (dc.server,dc.shell,dc.claude,dc.tidewave,dc.logs.*) to prevent orphaned processes on CTRL+C dc.stop/dc.downwithout running container: No longer errors when no devcontainer is running; prints a message instead
2026-03-02
Fixed
- First-run
.claudedirectory: AddedinitializeCommandto create the.claudefolder before the container starts, preventing a bind-mount failure on fresh projects
2026-02-26
Added
- Git identity: Bind-mounts the host's
~/.gitconfiginto the container so git commits use your name and email - Git support: Pre-configured
safe.directoryso git works inside the container; enabled git status in the zsh prompt - Git worktrees:
make dc.worktree.new/list/removetargets andwtshell function for switching between worktrees - Parallel Claude workflow: Run multiple Claude instances in separate worktrees via multiple
make dc.shellsessions - Zsh tab completion: Enabled
compinitand make target completion (make <TAB>) - Download script: One-liner curl/tar command in README to fetch
.devcontainer/into any project - Stop command:
make dc.stopstops the devcontainer without removing it, allowing fast restart withmake dc.up - Tidewave logs command:
make dc.logs.tidewavenow shows the tidewave logs
Fixed
- No more orphaned volumes: Removed named Docker volumes for mix, hex, and bash history; these now live in the container layer and are cleaned up automatically on
make dc.down
Changed
- Smaller image: Replaced
vimwithvim-tiny,build-essentialwithgcc/make/libc-dev, cleaned docs/man pages and npm cache (~95-145MB savings)