From afa66a66724d4a24ef13f0c2889ae8aae95434bd Mon Sep 17 00:00:00 2001 From: Michael Xiao Date: Wed, 1 Apr 2026 10:15:17 -0400 Subject: [PATCH] Remove references to Claude Code, Gemini CLI, and Node.js features from all devcontainer.json files, VSCode docker configuration, and startup scripts --- feature-versions/state.json | 10 ------- .../.devcontainer.json | 5 ---- src/nemo_jupyter/.devcontainer.json | 5 ---- src/r-analysis/.devcontainer.json | 5 ---- src/vscode/.devcontainer.json | 5 ---- src/vscode/Dockerfile | 26 ------------------- src/vscode/docker-compose.yaml | 4 +-- .../.devcontainer.json | 5 ---- startupscript/setup-bashrc.sh | 11 -------- 9 files changed, 1 insertion(+), 75 deletions(-) delete mode 100644 src/vscode/Dockerfile diff --git a/feature-versions/state.json b/feature-versions/state.json index 6bf9e112..9e21f719 100644 --- a/feature-versions/state.json +++ b/feature-versions/state.json @@ -24,16 +24,6 @@ "installed": "sha256:dbf431d6b42d55cde50fa1df75c7f7c3999a90cde6d73f7a7071174b3c3d0cc4", "filter": ".*\\/\\.devcontainer\\.json" }, - "ghcr.io/devcontainers/features/node": { - "tag": "1", - "installed": "sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6", - "filter": ".*\\/\\.devcontainer\\.json" - }, - "ghcr.io/anthropics/devcontainer-features/claude-code": { - "tag": "1.0", - "installed": "sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a", - "filter": ".*\\/\\.devcontainer\\.json" - }, "us-west2-docker.pkg.dev/shared-pub-buckets-94mvrf/workbench-artifacts/app-wondershaper": { "tag": "latest", "installed": "sha256:0b297a607d08782070c8a81080ed97d8cbf0af7740adae7b1a71a8b36edea960", diff --git a/src/custom-workbench-jupyter-template/.devcontainer.json b/src/custom-workbench-jupyter-template/.devcontainer.json index 49a7b6b4..3384b3e2 100644 --- a/src/custom-workbench-jupyter-template/.devcontainer.json +++ b/src/custom-workbench-jupyter-template/.devcontainer.json @@ -21,11 +21,6 @@ "${templateOption:login}" ], "features": { - "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" - }, - "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, - "./.devcontainer/features/gemini-cli": { "username": "jupyter" }, "./.devcontainer/features/workbench-tools": { "libEnv": "/opt/conda/envs/jupyter", // Use the jupyter conda environment "cloud": "${templateOption:cloud}", diff --git a/src/nemo_jupyter/.devcontainer.json b/src/nemo_jupyter/.devcontainer.json index 76282c29..2c7e9b06 100644 --- a/src/nemo_jupyter/.devcontainer.json +++ b/src/nemo_jupyter/.devcontainer.json @@ -24,11 +24,6 @@ "version": "17" }, "ghcr.io/dhoeric/features/google-cloud-cli@sha256:fa5d894718825c5ad8009ac8f2c9f0cea3d1661eb108a9d465cba9f3fc48965f": {}, - "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" - }, - "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, - "./.devcontainer/features/gemini-cli": { "username": "jupyter" }, "./.devcontainer/features/workbench-tools": { "libPythonVersion": "3.12", // Must match python version in nemo image "cloud": "${templateOption:cloud}", diff --git a/src/r-analysis/.devcontainer.json b/src/r-analysis/.devcontainer.json index 484ce5d5..076652f9 100644 --- a/src/r-analysis/.devcontainer.json +++ b/src/r-analysis/.devcontainer.json @@ -29,11 +29,6 @@ }, "ghcr.io/devcontainers/features/aws-cli@sha256:17cb4a40151f59144b46957b9264683663b0214371a041ecd53dccc015a4b923": {}, "ghcr.io/dhoeric/features/google-cloud-cli@sha256:fa5d894718825c5ad8009ac8f2c9f0cea3d1661eb108a9d465cba9f3fc48965f": {}, - "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" - }, - "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, - "./.devcontainer/features/gemini-cli": { "username": "rstudio" }, "./.devcontainer/features/workbench-tools": { "cloud": "${templateOption:cloud}", "username": "rstudio", diff --git a/src/vscode/.devcontainer.json b/src/vscode/.devcontainer.json index c10cd33d..5f60ff61 100644 --- a/src/vscode/.devcontainer.json +++ b/src/vscode/.devcontainer.json @@ -18,13 +18,8 @@ "ghcr.io/devcontainers/features/java@sha256:9663ce0219ff85786e87901ce5f0a59f488edd5f99b46015192cda48468b233a": { "version": "17" }, - "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" - }, "ghcr.io/devcontainers/features/aws-cli@sha256:17cb4a40151f59144b46957b9264683663b0214371a041ecd53dccc015a4b923": {}, "ghcr.io/dhoeric/features/google-cloud-cli@sha256:fa5d894718825c5ad8009ac8f2c9f0cea3d1661eb108a9d465cba9f3fc48965f": {}, - "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, - "./.devcontainer/features/gemini-cli": { "username": "abc" }, "./.devcontainer/features/workbench-tools": { "cloud": "${templateOption:cloud}", "username": "abc", diff --git a/src/vscode/Dockerfile b/src/vscode/Dockerfile deleted file mode 100644 index edcf42a9..00000000 --- a/src/vscode/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -FROM lscr.io/linuxserver/code-server:4.100.3 - -# Gemini: https://open-vsx.org/extension/Google/geminicodeassist -# Claude: https://open-vsx.org/extension/Anthropic/claude-code -RUN apt-get update \ - && apt-get install -y --no-install-recommends jq \ - && rm -rf /var/lib/apt/lists/* \ - && mkdir -p /config/extensions \ - && chown abc:abc /config /config/extensions - -USER abc -ENV HOME=/config - -RUN curl -fsSL 'https://open-vsx.org/api/Google/geminicodeassist/latest' \ - | jq -r '.files.download' \ - | xargs curl -fL --compressed -o /tmp/geminicodeassist.vsix \ - && curl -fsSL 'https://open-vsx.org/api/Anthropic/claude-code/latest' \ - | jq -r '.files.download' \ - | xargs curl -fL --compressed -o /tmp/claudecode.vsix \ - && /app/code-server/bin/code-server --extensions-dir /config/extensions --install-extension /tmp/geminicodeassist.vsix \ - && /app/code-server/bin/code-server --extensions-dir /config/extensions --install-extension /tmp/claudecode.vsix \ - && rm /tmp/geminicodeassist.vsix /tmp/claudecode.vsix - -USER root - -WORKDIR /config diff --git a/src/vscode/docker-compose.yaml b/src/vscode/docker-compose.yaml index 01f6af64..d6ef4668 100644 --- a/src/vscode/docker-compose.yaml +++ b/src/vscode/docker-compose.yaml @@ -2,9 +2,7 @@ version: "2.4" services: app: container_name: "application-server" - build: - context: . - dockerfile: Dockerfile + image: "lscr.io/linuxserver/code-server:4.100.3" restart: always volumes: - .:/workspace:cached diff --git a/src/workbench-jupyter-parabricks/.devcontainer.json b/src/workbench-jupyter-parabricks/.devcontainer.json index 9690a166..f012df86 100644 --- a/src/workbench-jupyter-parabricks/.devcontainer.json +++ b/src/workbench-jupyter-parabricks/.devcontainer.json @@ -25,11 +25,6 @@ }, "ghcr.io/dhoeric/features/google-cloud-cli@sha256:fa5d894718825c5ad8009ac8f2c9f0cea3d1661eb108a9d465cba9f3fc48965f": {}, "ghcr.io/devcontainers/features/aws-cli@sha256:17cb4a40151f59144b46957b9264683663b0214371a041ecd53dccc015a4b923":{}, - "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6": { - "version": "24.11.0" - }, - "ghcr.io/anthropics/devcontainer-features/claude-code@sha256:cfc2e7d3e9fd3b9b01f8d5cb158508a884c8c0ede2e23ed10f32dea5d4ffe69a": {}, - "./.devcontainer/features/gemini-cli": { "username": "jupyter" }, "./.devcontainer/features/workbench-tools": { "cloud": "${templateOption:cloud}", "username": "jupyter", diff --git a/startupscript/setup-bashrc.sh b/startupscript/setup-bashrc.sh index ad1d4575..c1cdb21f 100644 --- a/startupscript/setup-bashrc.sh +++ b/startupscript/setup-bashrc.sh @@ -91,14 +91,3 @@ export AWS_VAULT_FILE_PASSPHRASE="" EOF fi - -# Headless devcontainers: no real display/browser for gcloud, Claude Code, Gemini CLI. -emit "Adding headless CLI environment to ~/.bashrc ..." - -cat << 'EOF' >> "${USER_BASHRC}" - -# Headless Workbench (gcloud, Claude Code, Gemini CLI) -export DISPLAY= -export BROWSER= -export NO_BROWSER=1 -EOF