Personal dev container features for richardTowers.
Supported base images: these features target Debian-based containers only (Debian, Ubuntu, and the
mcr.microsoft.com/devcontainers/baseimages). Install scripts assumeapt-getis available and do not supportapk/dnf/yum.
Installs the Codex CLI using the official standalone installer. Codex login and configuration are stored in a named Docker volume shared by devcontainers that use this feature on the same machine.
{
"features": {
"ghcr.io/richardTowers/devcontainers/codex:1": {}
}
}| Option | Default | Description |
|---|---|---|
version |
"latest" |
Codex CLI release to install, such as "0.1.0" |
Installs the Claude Code CLI using the native installer — no Node.js dependency required.
~/.claude is mounted from a Docker volume named claude-code-devcontainer-feature,
shared across all devcontainers on the same machine that use this feature. This
means you only need to log in once, and config/session state persists across
container rebuilds. Note that this state is shared between projects, not
isolated per-project.
Add to your devcontainer.json:
{
"features": {
"ghcr.io/richardTowers/devcontainers/claude-code:1": {}
}
}| Option | Default | Description |
|---|---|---|
version |
"latest" |
Version to install: "latest", "stable", or a semver like "1.0.58" |
{
"features": {
"ghcr.io/richardTowers/devcontainers/claude-code:1": {
"version": "stable"
}
}
}A grab-bag of tools that should always be in a shell, so a fresh container never leaves you reaching for something obvious. Currently installs:
- GitHub CLI (
gh), from GitHub's official apt repository - mise (mise-en-place), the polyglot runtime / tool
version manager, system-wide with activation added to
/etc/bash.bashrc jq,vim-nox, and a handful of other common utilities (less,unzip,curl)postgresql-client, including thepsqlcommand-line client
It's intended to grow — add whatever you notice is missing to the package list
in src/shell-essentials/install.sh.
{
"features": {
"ghcr.io/richardTowers/devcontainers/shell-essentials:1": {}
}
}- Create a new directory under
src/with adevcontainer-feature.jsonandinstall.sh. - Add tests under
test/<feature-name>/test.sh. - Update the test matrix in
.github/workflows/test.yaml. - Run the release workflow to publish to GHCR.
See the dev container feature spec for details.