From cde400f466c7c74161fad2b1749bd4f8eac5931f Mon Sep 17 00:00:00 2001 From: "den (work)" <53200638+localden@users.noreply.github.com> Date: Mon, 6 Oct 2025 22:07:39 -0700 Subject: [PATCH] Package up VS Code settings for Copilot --- .../workflows/scripts/create-release-packages.sh | 8 ++++++-- CHANGELOG.md | 1 + templates/vscode-settings.json | 13 +++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 templates/vscode-settings.json diff --git a/.github/workflows/scripts/create-release-packages.sh b/.github/workflows/scripts/create-release-packages.sh index c5cf1e55..19e49d39 100644 --- a/.github/workflows/scripts/create-release-packages.sh +++ b/.github/workflows/scripts/create-release-packages.sh @@ -129,7 +129,7 @@ build_variant() { esac fi - [[ -d templates ]] && { mkdir -p "$SPEC_DIR/templates"; find templates -type f -not -path "templates/commands/*" -exec cp --parents {} "$SPEC_DIR"/ \; ; echo "Copied templates -> .specify/templates"; } + [[ -d templates ]] && { mkdir -p "$SPEC_DIR/templates"; find templates -type f -not -path "templates/commands/*" -not -name "vscode-settings.json" -exec cp --parents {} "$SPEC_DIR"/ \; ; echo "Copied templates -> .specify/templates"; } # NOTE: We substitute {ARGS} internally. Outward tokens differ intentionally: # * Markdown/prompt (claude, copilot, cursor, opencode): $ARGUMENTS @@ -146,7 +146,11 @@ build_variant() { [[ -f agent_templates/gemini/GEMINI.md ]] && cp agent_templates/gemini/GEMINI.md "$base_dir/GEMINI.md" ;; copilot) mkdir -p "$base_dir/.github/prompts" - generate_commands copilot prompt.md "\$ARGUMENTS" "$base_dir/.github/prompts" "$script" ;; + generate_commands copilot prompt.md "\$ARGUMENTS" "$base_dir/.github/prompts" "$script" + # Create VS Code workspace settings + mkdir -p "$base_dir/.vscode" + [[ -f templates/vscode-settings.json ]] && cp templates/vscode-settings.json "$base_dir/.vscode/settings.json" + ;; cursor) mkdir -p "$base_dir/.cursor/commands" generate_commands cursor md "\$ARGUMENTS" "$base_dir/.cursor/commands" "$script" ;; diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a7bcc1c..ecb6febe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Support for using `.` as a shorthand for current directory in `specify init .` command, equivalent to `--here` flag but more intuitive for users. - Refactor the prompts and templates to simplify their capabilities and how they are tracked. No more polluting things with tests when they are not needed. - Ensure that tasks are created per user story (simplifies testing and validation). +- Add support for Visual Studio Code prompt shortcuts and automatic script execution. ### Changed diff --git a/templates/vscode-settings.json b/templates/vscode-settings.json new file mode 100644 index 00000000..3d6be004 --- /dev/null +++ b/templates/vscode-settings.json @@ -0,0 +1,13 @@ +{ + "chat.promptFilesRecommendations": { + "speckit.constitution": true, + "speckit.specify": true, + "speckit.plan": true, + "speckit.tasks": true, + "speckit.implement": true + }, + "chat.tools.terminal.autoApprove": { + ".specify/scripts/bash/": true, + ".specify/scripts/ps/": true + } +}