From 4e40f3e4854dfc9f633a591d74150ea78ec1f90c Mon Sep 17 00:00:00 2001 From: Eli Fine Date: Tue, 13 Oct 2026 16:42:13 +0000 Subject: [PATCH 1/4] chore: disable Biome in nested workspace folders The Biome VS Code extension starts a session per workspace folder and warns when folders nest. The root folder's session already covers nested ones, so the on-create script writes a gitignored .vscode/settings.json disabling Biome in each nested folder listed in a .code-workspace file that includes the root. --- .devcontainer/devcontainer.json | 2 +- .../on-create-command-boilerplate.sh | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index e93fd88f2..404ead997 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -71,5 +71,5 @@ "initializeCommand": "sh .devcontainer/initialize-command.sh", "onCreateCommand": "sh .devcontainer/on-create-command.sh", "postStartCommand": "sh .devcontainer/post-start-command.sh" - // Devcontainer context hash (do not manually edit this, it's managed by a pre-commit hook): 85e48e15 # spellchecker:disable-line + // Devcontainer context hash (do not manually edit this, it's managed by a pre-commit hook): 0fa49054 # spellchecker:disable-line } diff --git a/.devcontainer/on-create-command-boilerplate.sh b/.devcontainer/on-create-command-boilerplate.sh index 31e708845..e8260ba74 100644 --- a/.devcontainer/on-create-command-boilerplate.sh +++ b/.devcontainer/on-create-command-boilerplate.sh @@ -7,3 +7,22 @@ git config --global --add --bool push.autoSetupRemote true git config --local core.symlinks true sh .devcontainer/create-aws-profile.sh + +# The Biome VS Code extension starts a session per workspace folder and warns when folders nest. The root folder's +# session already covers the nested ones, so Biome is switched off in their (gitignored) folder settings. +root_folder_path="." +for workspace_file in *.code-workspace; do + if [ ! -f "$workspace_file" ]; then + continue + fi + folders=$(sed -n 's/^[[:space:]]*"path":[[:space:]]*"\([^"]*\)".*/\1/p' "$workspace_file") + if ! echo "$folders" | grep -qxF "$root_folder_path"; then + continue + fi + for folder in $folders; do + if [ "$folder" != "$root_folder_path" ] && [ -d "$folder" ] && [ ! -e "$folder/.vscode/settings.json" ]; then + mkdir -p "$folder/.vscode" + echo '{ "biome.enabled": false }' >"$folder/.vscode/settings.json" + fi + done +done From cfb183327839f5770a26d0edf1d722352c40c104 Mon Sep 17 00:00:00 2001 From: Eli Fine Date: Tue, 13 Oct 2026 16:58:15 +0000 Subject: [PATCH 2/4] fix: keep workspace folder paths whole when disabling Biome Read the extracted paths line by line instead of word-splitting them, so a path containing spaces is neither split into fragments nor glob-expanded. --- .devcontainer/devcontainer.json | 2 +- .devcontainer/on-create-command-boilerplate.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 404ead997..671b1f3e5 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -71,5 +71,5 @@ "initializeCommand": "sh .devcontainer/initialize-command.sh", "onCreateCommand": "sh .devcontainer/on-create-command.sh", "postStartCommand": "sh .devcontainer/post-start-command.sh" - // Devcontainer context hash (do not manually edit this, it's managed by a pre-commit hook): 0fa49054 # spellchecker:disable-line + // Devcontainer context hash (do not manually edit this, it's managed by a pre-commit hook): 49eb994c # spellchecker:disable-line } diff --git a/.devcontainer/on-create-command-boilerplate.sh b/.devcontainer/on-create-command-boilerplate.sh index e8260ba74..25536c8a4 100644 --- a/.devcontainer/on-create-command-boilerplate.sh +++ b/.devcontainer/on-create-command-boilerplate.sh @@ -19,7 +19,7 @@ for workspace_file in *.code-workspace; do if ! echo "$folders" | grep -qxF "$root_folder_path"; then continue fi - for folder in $folders; do + printf '%s\n' "$folders" | while IFS= read -r folder; do if [ "$folder" != "$root_folder_path" ] && [ -d "$folder" ] && [ ! -e "$folder/.vscode/settings.json" ]; then mkdir -p "$folder/.vscode" echo '{ "biome.enabled": false }' >"$folder/.vscode/settings.json" From dbff9dfa75d10ff2e647eeb5d92fc2a05aca39ff Mon Sep 17 00:00:00 2001 From: Eli Fine Date: Tue, 13 Oct 2026 17:02:12 +0000 Subject: [PATCH 3/4] fix: skip workspace folders outside the repo root when disabling Biome The root folder's Biome session does not cover a sibling or absolute path, so writing biome.enabled false there would leave that folder without Biome. --- .devcontainer/devcontainer.json | 2 +- .devcontainer/on-create-command-boilerplate.sh | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 671b1f3e5..c30d8f7fa 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -71,5 +71,5 @@ "initializeCommand": "sh .devcontainer/initialize-command.sh", "onCreateCommand": "sh .devcontainer/on-create-command.sh", "postStartCommand": "sh .devcontainer/post-start-command.sh" - // Devcontainer context hash (do not manually edit this, it's managed by a pre-commit hook): 49eb994c # spellchecker:disable-line + // Devcontainer context hash (do not manually edit this, it's managed by a pre-commit hook): 88f0aac3 # spellchecker:disable-line } diff --git a/.devcontainer/on-create-command-boilerplate.sh b/.devcontainer/on-create-command-boilerplate.sh index 25536c8a4..3e70922b1 100644 --- a/.devcontainer/on-create-command-boilerplate.sh +++ b/.devcontainer/on-create-command-boilerplate.sh @@ -20,6 +20,9 @@ for workspace_file in *.code-workspace; do continue fi printf '%s\n' "$folders" | while IFS= read -r folder; do + case "$folder" in + .. | ../* | /*) continue ;; + esac if [ "$folder" != "$root_folder_path" ] && [ -d "$folder" ] && [ ! -e "$folder/.vscode/settings.json" ]; then mkdir -p "$folder/.vscode" echo '{ "biome.enabled": false }' >"$folder/.vscode/settings.json" From a8cc97f5030f5b022898170051750cfef17ae48e Mon Sep 17 00:00:00 2001 From: Eli Fine Date: Tue, 13 Oct 2026 17:10:01 +0000 Subject: [PATCH 4/4] chore: bump CodeRabbit VS Code extension to 0.23.0 --- .devcontainer/devcontainer.json | 2 +- template/.devcontainer/devcontainer.json.jinja-base | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c30d8f7fa..6a4a76607 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -28,7 +28,7 @@ "-AmazonWebServices.aws-toolkit-vscode", // the AWS CLI feature installs this automatically, but it's causing problems in VS Code // basic tooling // "eamodio.gitlens@15.5.1", - "coderabbit.coderabbit-vscode@0.21.9", + "coderabbit.coderabbit-vscode@0.23.0", "ms-vscode.live-server@0.5.2025051301", "MS-vsliveshare.vsliveshare@1.0.5905", "anthropic.claude-code@2.1.283", diff --git a/template/.devcontainer/devcontainer.json.jinja-base b/template/.devcontainer/devcontainer.json.jinja-base index b92ef7b1b..f2e64b454 100644 --- a/template/.devcontainer/devcontainer.json.jinja-base +++ b/template/.devcontainer/devcontainer.json.jinja-base @@ -34,7 +34,7 @@ "-AmazonWebServices.aws-toolkit-vscode", // the AWS CLI feature installs this automatically, but it's causing problems in VS Code{% endraw %}{% endif %}{% raw %} // basic tooling // "eamodio.gitlens@15.5.1", - "coderabbit.coderabbit-vscode@0.21.9", + "coderabbit.coderabbit-vscode@0.23.0", "ms-vscode.live-server@0.5.2025051301", "MS-vsliveshare.vsliveshare@1.0.5905",{% endraw %}{% if install_claude_cli %}{% raw %} "anthropic.claude-code@2.1.283",{% endraw %}{% endif %}{% raw %}{% endraw %}{% if (is_child_of_copier_base_template is defined and is_child_of_copier_base_template is sameas(true)) or (is_child_of_copier_base_template is not defined and template_uses_python is defined and template_uses_python is sameas(true)) %}{% raw %}