Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
"service": "app",
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/anthropics/devcontainer-features/claude-code:1": {}
},
// "features": {
// "ghcr.io/anthropics/devcontainer-features/claude-code:1": {}
// },
"customizations": {
"vscode": {
"extensions": [
Expand Down
9 changes: 9 additions & 0 deletions .devcontainer/post-create.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,15 @@
# Keep steps idempotent so re-running on an existing container is safe.
set -euo pipefail

# Install the Claude Code CLI via the official installer. Faster than the
# devcontainer feature, which pulls in Node.js first and tends to lag behind
# on the Claude Code version it installs.
curl -fsSL https://claude.ai/install.sh | bash
# The installer places the binary in ~/.local/bin and wires PATH into shell
# rc files, but this script runs non-interactively so those rc files are
# never sourced here. Add it to PATH now so `claude` below resolves.
export PATH="$HOME/.local/bin:$PATH"

# Install Claude Code plugins that project settings enable but a fresh container cannot fetch.
# `.claude/settings.json` only *enables* plugins; the actual bits are cloned per machine, and a
# fresh container starts with an empty ~/.claude plugin state.
Expand Down