chore: make rust-analyzer plugin opt-in via USE_RUST_PLUGIN env var (#8227)

* feat: optionally enable rust-analyzer plugin in worktree settings

When USE_RUST_PLUGIN env var is set, the worktree-env script now includes
the rust-analyzer-lsp plugin in .claude/settings.local.json.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: remove rust-analyzer plugin from default settings

The rust-analyzer plugin is now opt-in via USE_RUST_PLUGIN env var
in worktree-env, so it no longer needs to be in the shared settings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: add WM_CLONE_DB and USE_RUST_PLUGIN to wmdev startup envs

Defaults both to false so they can be toggled per-worktree.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: use explicit truthy checks for WM_CLONE_DB and USE_RUST_PLUGIN

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
centdix
2026-03-04 15:09:42 +00:00
committed by GitHub
co-authored by Claude Opus 4.6
parent 13f94b9677
commit e66a682c4a
3 changed files with 11 additions and 3 deletions
-1
View File
@@ -110,7 +110,6 @@
]
},
"enabledPlugins": {
"rust-analyzer-lsp@claude-plugins-official": true,
"typescript-lsp@claude-plugins-official": true,
"code-review@claude-plugins-official": true
}
+2
View File
@@ -2,6 +2,8 @@ name: Windmill
startupEnvs:
CARGO_FEATURES: "quickjs"
WM_CLONE_DB: false
USE_RUST_PLUGIN: false
services:
- name: BE
+9 -2
View File
@@ -61,7 +61,7 @@ if command -v psql &>/dev/null; then
if psql "$db_conn/postgres" -tc "SELECT 1 FROM pg_database WHERE datname = '${db_name}'" 2>/dev/null | grep -q 1; then
echo "Database $db_name already exists"
else
if [[ -n "${WM_CLONE_DB:-}" ]]; then
if [[ "${WM_CLONE_DB:-}" == "1" || "${WM_CLONE_DB:-}" == "true" ]]; then
# Terminate active connections so CREATE DATABASE ... TEMPLATE works
psql "$db_conn/postgres" -c "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'windmill' AND pid <> pg_backend_pid();" 2>/dev/null || true
psql "$db_conn/postgres" -c "CREATE DATABASE ${db_name} TEMPLATE windmill" 2>/dev/null \
@@ -178,13 +178,20 @@ if [ -n "$ee_repo" ]; then
if [ -d "$ee_worktree_dir" ]; then
ee_rel=$(python3 -c "import os; print(os.path.relpath('$ee_worktree_dir', '$(pwd)'))" 2>/dev/null || echo "$ee_worktree_dir")
mkdir -p .claude
rust_plugin=""
if [[ "${USE_RUST_PLUGIN:-}" == "1" || "${USE_RUST_PLUGIN:-}" == "true" ]]; then
rust_plugin=',
"enabledPlugins": {
"rust-analyzer-lsp@claude-plugins-official": true
}'
fi
cat > .claude/settings.local.json <<EOFCLAUDE
{
"permissions": {
"additionalDirectories": [
"$ee_rel"
]
}
}${rust_plugin}
}
EOFCLAUDE
echo "Created .claude/settings.local.json with EE path: $ee_rel"