Claude Code の勢いがすさまじいですね。
ベストプラクティスっぽいものを考えたのでメモです。以下の要素がある人向けです。
- Claude Code を使いたい
- セキュリティ確保のため、devcontainer を使いたい
- でも、VSCode / JetBrain製品 は起動したくない
- 共通の devcontainer.json を利用したい
Dev Container CLI を install しましょう。特に書かれていないですが、brew でも install できます。
brew install devcontainer
共通の devcontainer.json
を用意します。~/.config/devcontainer/claude/devcontainer.json
とかに配置するとよいでしょう。
ちなみに、私のはこんな感じです。
.claude
を共有することで、devcontainerであることを気にすることなく、利用することができます。
{
"name": "Claude Code",
"image": "mcr.microsoft.com/vscode/devcontainers/base:ubuntu-24.04",
"features": {
"ghcr.io/anthropics/devcontainer-features/claude-code:latest": {},
"ghcr.io/devcontainers/features/node:1": {
"version": "lts"
},
"ghcr.io/devcontainers/features/go:1": {},
"ghcr.io/devcontainers/features/github-cli:1": {}
},
"mounts": [
"type=bind,source=${localEnv:HOME}/.gitconfig,target=/home/vscode/.gitconfig,readonly",
"type=bind,source=${localEnv:HOME}/.claude,target=/home/vscode/.claude",
"type=bind,source=${localEnv:HOME}/.claude/settings.json,target=/home/vscode/.claude/settings.json,readonly"
]
}
開発したいリポジトリに移動します。
まずは、コンテナを立ち上げます。(もちろん、Docker は使える状態である必要があります。)
devcontainer up --workspace-folder . --config ~/.config/devcontainer/claude/devcontainer.json
以下で、Claude Code を実行します。
devcontainer exec --workspace-folder . --config ~/.config/devcontainer/claude/devcontainer.json claude
注意点として、コンテナが残り続けてしまいますが、Dev Container CLI では削除できないので、docker コマンドを使う必要があります。
Claude Code だけを使うなら、VSCode の中で対話するよりミニマムでよいかもしれません。並列作業もしやすそうです。
私は、.zshrc
に alias を登録しました。これで、devclaude
だけで立ち上がるので便利です。
alias devclaude="devcontainer up --workspace-folder . --config ~/.config/devcontainer/claude/devcontainer.json && devcontainer exec --workspace-folder . --config ~/.config/devcontainer/claude/devcontainer.json claude"
Enjoy!