diff --git a/.claude/rules/devcontainer.md b/.claude/rules/devcontainer.md index c34a46f..726e9bd 100644 --- a/.claude/rules/devcontainer.md +++ b/.claude/rules/devcontainer.md @@ -12,6 +12,10 @@ paths: // README at: {relevant-reference-url} ``` +## Comments + +Skip a comment that only repeats the line below it in other words, such as `// Show workspace folder name in window title` above `"window.title"`. Extension descriptions are not that: they say what an extension ID does. + ## node_modules Mount Always include to keep node_modules off the host: diff --git a/.devcontainer/claude-sandbox/devcontainer.json b/.devcontainer/claude-sandbox/devcontainer.json index c62ed6d..5bf037f 100644 --- a/.devcontainer/claude-sandbox/devcontainer.json +++ b/.devcontainer/claude-sandbox/devcontainer.json @@ -43,7 +43,6 @@ "source.fixAll": "explicit", "source.organizeImports": "explicit" }, - // Show workspace folder name in window title "window.title": "${localWorkspaceFolderBasename}", // Sandbox visual identity — Claude Dark theme with coral remote indicator "workbench.colorTheme": "Claude Dark", @@ -51,7 +50,6 @@ "statusBarItem.remoteBackground": "#C15F3C", "statusBarItem.remoteForeground": "#ffffff" }, - // Allow Claude Code to skip permission prompts in sandbox "claudeCode.allowDangerouslySkipPermissions": true } } @@ -59,7 +57,6 @@ "mounts": [ "source=devcontainers-sandbox-config-${devcontainerId},target=/home/node/.claude,type=volume", "source=devcontainers-sandbox-zsh-history-${devcontainerId},target=/commandhistory,type=volume", - // Mount firewall script into the expected path "source=${localWorkspaceFolder}/.devcontainer/claude-sandbox/init-firewall.sh,target=/usr/local/bin/init-firewall.sh,type=bind" ], "containerEnv": { @@ -71,7 +68,6 @@ }, // Plugins before firewall (network still open during postCreateCommand) "postCreateCommand": "sudo chown -R node /home/node/.claude /commandhistory && bash /workspace/.devcontainer/init-plugins.sh", - // Firewall locks down the network "postStartCommand": "sudo /usr/local/bin/init-firewall.sh", "waitFor": "postStartCommand" } diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 931e2f7..439d7fc 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -34,7 +34,6 @@ "zsh": { "path": "zsh" }, "bash": { "path": "bash", "icon": "terminal-bash" } }, - // Suppress extension recommendation prompts "extensions.ignoreRecommendations": true, // ── Formatter settings (customize per project) ────────────────── // Change "editor.defaultFormatter" to match your tooling: @@ -46,7 +45,6 @@ "source.fixAll": "explicit", "source.organizeImports": "explicit" }, - // Show workspace folder name in window title "window.title": "${localWorkspaceFolderBasename}", // Visual identity — Claude Dark theme with coral remote indicator "workbench.colorTheme": "Claude Dark", @@ -58,9 +56,7 @@ } }, "mounts": [ - // Persist Claude Code configuration between container rebuilds "source=devcontainers-claude-config-${devcontainerId},target=/home/node/.claude,type=volume", - // Persist zsh history between container rebuilds "source=devcontainers-zsh-history-${devcontainerId},target=/commandhistory,type=volume" ], "containerEnv": { diff --git a/bun/.devcontainer/devcontainer.json b/bun/.devcontainer/devcontainer.json index 20aa935..05e4e47 100644 --- a/bun/.devcontainer/devcontainer.json +++ b/bun/.devcontainer/devcontainer.json @@ -11,9 +11,7 @@ "source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume" ], - // Configure tool-specific properties. "customizations": { - // Configure properties specific to VS Code. "vscode": { // Use zsh as the default shell for better VS Code integration "settings": { diff --git a/claude-bun/.devcontainer/devcontainer.json b/claude-bun/.devcontainer/devcontainer.json index a4bb0f0..804d1b0 100644 --- a/claude-bun/.devcontainer/devcontainer.json +++ b/claude-bun/.devcontainer/devcontainer.json @@ -21,13 +21,10 @@ // Persist shell history between container rebuilds. zsh writes here // (HISTFILE in the Dockerfile); the volume name is legacy. "source=claude-code-bashhistory-${devcontainerId},target=/commandhistory,type=volume", - // Persist Claude Code configuration between container rebuilds "source=claude-code-config-${devcontainerId},target=/home/bun/.claude,type=volume" ], - // Configure tool-specific properties. "customizations": { - // Configure properties specific to VS Code. "vscode": { // Use zsh as the default shell for better VS Code integration "settings": { @@ -43,10 +40,8 @@ }, // Suppress extension recommendation prompts (e.g., Container Tools in Codespaces) "extensions.ignoreRecommendations": true, - // Format on save with Biome "editor.formatOnSave": true, "editor.defaultFormatter": "biomejs.biome", - // Biome auto-fix on save "editor.codeActionsOnSave": { "source.fixAll.biome": "explicit", "source.organizeImports.biome": "explicit" @@ -81,7 +76,6 @@ }, "workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=delegated", "workspaceFolder": "/workspace", - // Initialize firewall after container starts "postStartCommand": "sudo /usr/local/bin/init-firewall.sh", "waitFor": "postStartCommand" } diff --git a/claude-code/.devcontainer/claude-sandbox/devcontainer.json b/claude-code/.devcontainer/claude-sandbox/devcontainer.json index bc7c1ad..2db7413 100644 --- a/claude-code/.devcontainer/claude-sandbox/devcontainer.json +++ b/claude-code/.devcontainer/claude-sandbox/devcontainer.json @@ -95,7 +95,6 @@ "statusBarItem.remoteBackground": "#C15F3C", "statusBarItem.remoteForeground": "#ffffff" }, - // Allow Claude Code to skip permission prompts in sandbox "claudeCode.allowDangerouslySkipPermissions": true } } diff --git a/claude-code/.devcontainer/devcontainer.json b/claude-code/.devcontainer/devcontainer.json index b505dca..37fb196 100644 --- a/claude-code/.devcontainer/devcontainer.json +++ b/claude-code/.devcontainer/devcontainer.json @@ -75,7 +75,6 @@ "zsh": { "path": "zsh" }, "bash": { "path": "bash", "icon": "terminal-bash" } }, - // Suppress extension recommendation prompts "extensions.ignoreRecommendations": true, // ── Formatter settings (customize per project) ────────────────── // Change "editor.defaultFormatter" to match your tooling: @@ -87,7 +86,6 @@ "source.fixAll": "explicit", "source.organizeImports": "explicit" }, - // Show workspace folder name in window title "window.title": "${localWorkspaceFolderBasename}" } } diff --git a/hugo-bun-node/.devcontainer/devcontainer.json b/hugo-bun-node/.devcontainer/devcontainer.json index dae2d43..61355d6 100644 --- a/hugo-bun-node/.devcontainer/devcontainer.json +++ b/hugo-bun-node/.devcontainer/devcontainer.json @@ -11,9 +11,7 @@ "source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume" ], - // Configure tool-specific properties. "customizations": { - // Configure properties specific to VS Code. "vscode": { // Use zsh as the default shell for better VS Code integration "settings": { diff --git a/hugo-bun/.devcontainer/devcontainer.json b/hugo-bun/.devcontainer/devcontainer.json index dae2d43..61355d6 100644 --- a/hugo-bun/.devcontainer/devcontainer.json +++ b/hugo-bun/.devcontainer/devcontainer.json @@ -11,9 +11,7 @@ "source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume" ], - // Configure tool-specific properties. "customizations": { - // Configure properties specific to VS Code. "vscode": { // Use zsh as the default shell for better VS Code integration "settings": {