Files
ECShopX/tdd-guard/.devcontainer/devcontainer.json
2026-03-27 18:01:17 +08:00

64 lines
2.0 KiB
JSON

{
"name": "TDD Guard Development",
"build": {
"dockerfile": "Dockerfile",
"args": {
"TZ": "${localEnv:TZ:Europe/Stockholm}",
"CLAUDE_CODE_VERSION": "latest",
"COMPOSER_VERSION": "2.8.10",
"GIT_DELTA_VERSION": "0.18.2",
"ZSH_IN_DOCKER_VERSION": "1.2.1",
"GO_VERSION": "1.24.0",
"RUST_VERSION": "1.89.0"
}
},
"runArgs": ["--cap-add=NET_ADMIN", "--cap-add=NET_RAW"],
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"eamodio.gitlens",
"vitest.explorer",
"ms-python.python",
"Anthropic.claude-code",
"bmewburn.vscode-intelephense-client",
"golang.go",
"Shopify.ruby-lsp",
"rust-lang.rust-analyzer"
],
"settings": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"terminal.integrated.defaultProfile.linux": "zsh",
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash",
"icon": "terminal-bash"
},
"zsh": {
"path": "zsh"
}
}
}
}
},
"remoteUser": "node",
"mounts": [
"source=claude-code-bashhistory-${devcontainerId},target=/commandhistory,type=volume",
"source=claude-code-config-${devcontainerId},target=/home/node/.claude,type=volume"
],
"containerEnv": {
"NODE_OPTIONS": "--max-old-space-size=4096",
"CLAUDE_CONFIG_DIR": "/home/node/.claude",
"POWERLEVEL9K_DISABLE_GITSTATUS": "true"
},
"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=delegated",
"workspaceFolder": "/workspace",
"postCreateCommand": "/usr/local/bin/setup-dev-environment.sh",
"postStartCommand": "npx playwright install chromium --only-shell 2>/dev/null || echo 'Playwright already installed'"
}