{ "name": "webapp", "image": "mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm", "runArgs": ["--env-file", "${localEnv:HOME}/.config/ep-dev/devcontainer.env"], "mounts": [ "source=claude-config-${devcontainerId},target=/home/node/.claude,type=volume", "source=${localEnv:HOME}/.ssh/config,target=/home/node/.ssh/config,type=bind,readonly", "source=${localEnv:HOME}/.ssh/known_hosts,target=/home/node/.ssh/known_hosts,type=bind,readonly", "source=npm-cache,target=/home/node/.npm,type=volume" ], "forwardPorts": [3000], "containerEnv": { "NEXT_TELEMETRY_DISABLED": "1", "NPM_CONFIG_UPDATE_NOTIFIER": "false", "DISABLE_AUTOUPDATER": "1", "ENABLE_CLAUDEAI_MCP_SERVERS": "false" }, "portsAttributes": { "3000": { "label": "App", "onAutoForward": "openBrowser" } }, "postCreateCommand": "sudo chown -R node:node /home/node/.claude /home/node/.npm && npm install -g @anthropic-ai/claude-code@2.1.312 && cd frontend-starter && npm install", "postStartCommand": "cd frontend-starter && npm install --no-audit --no-fund", "postAttachCommand": "cd frontend-starter && npx -y kill-port 3000 && npm run dev", "customizations": { "vscode": { "settings": { "extensions.autoUpdate": false, "extensions.autoCheckUpdates": false, "git.branchProtection": ["main"], "git.branchProtectionPrompt": "alwaysCommitToNewBranch", "git.branchPrefix": "feat/", "git.branchRandomName.enable": true, "git.postCommitCommand": "push", "git.autofetch": true, "json.schemaDownload.trustedDomains": { "https://ui.shadcn.com": true }, }, "extensions": [ "anthropic.claude-code@2.1.314", "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "bradlc.vscode-tailwindcss" ] } } }