1+ {
2+ "name" : " Claude Code Sandbox (Cursor)" ,
3+ "build" : {
4+ "dockerfile" : " Dockerfile" ,
5+ "args" : {
6+ "TZ" : " ${localEnv:TZ:Asia/Seoul}" ,
7+ "CLAUDE_CODE_VERSION" : " latest" ,
8+ "GIT_DELTA_VERSION" : " 0.18.2" ,
9+ "ZSH_IN_DOCKER_VERSION" : " 1.2.0"
10+ }
11+ },
12+ "runArgs" : [
13+ " --cap-add=NET_ADMIN" ,
14+ " --cap-add=NET_RAW"
15+ ],
16+ "customizations" : {
17+ "vscode" : {
18+ "extensions" : [
19+ " anthropic.claude-code" ,
20+ " dbaeumer.vscode-eslint" ,
21+ " esbenp.prettier-vscode" ,
22+ " eamodio.gitlens"
23+ ],
24+ "settings" : {
25+ "editor.formatOnSave" : true ,
26+ "editor.defaultFormatter" : " esbenp.prettier-vscode" ,
27+ "editor.codeActionsOnSave" : {
28+ "source.fixAll.eslint" : " explicit"
29+ },
30+ "terminal.integrated.defaultProfile.linux" : " zsh" ,
31+ "terminal.integrated.profiles.linux" : {
32+ "bash" : {
33+ "path" : " bash" ,
34+ "icon" : " terminal-bash"
35+ },
36+ "zsh" : {
37+ "path" : " zsh"
38+ }
39+ }
40+ }
41+ }
42+ },
43+ "remoteUser" : " node" ,
44+ "mounts" : [
45+ " source=claude-code-bashhistory-${devcontainerId},target=/commandhistory,type=volume" ,
46+ " source=claude-code-config-${devcontainerId},target=/home/node/.claude,type=volume"
47+ ],
48+ "containerEnv" : {
49+ "NODE_OPTIONS" : " --max-old-space-size=4096" ,
50+ "CLAUDE_CONFIG_DIR" : " /home/node/.claude" ,
51+ "POWERLEVEL9K_DISABLE_GITSTATUS" : " true"
52+ },
53+ "workspaceMount" : " source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=delegated" ,
54+ "workspaceFolder" : " /workspace" ,
55+ "postStartCommand" : " sudo /usr/local/bin/init-firewall.sh" ,
56+ "waitFor" : " postStartCommand"
57+ }
0 commit comments