From 5044016cfcbb2c19a9ddf588d1ca7cb7061342b0 Mon Sep 17 00:00:00 2001 From: wangchenguang Date: Thu, 14 May 2026 13:03:15 +0800 Subject: [PATCH 1/3] docs: fix script name in directory tree examples Replace update-claude-md.sh with the actual filename setup-tasks.sh in two directory tree examples (Steps 2 and 4 of the detailed walkthrough). --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b588b04dfc..d14613174c 100644 --- a/README.md +++ b/README.md @@ -585,7 +585,7 @@ At this stage, your project folder contents should resemble the following: │ ├── common.sh │ ├── create-new-feature.sh │ ├── setup-plan.sh - │ └── update-claude-md.sh + │ └── setup-tasks.sh ├── specs │ └── 001-create-taskify │ └── spec.md @@ -646,7 +646,7 @@ The output of this step will include a number of implementation detail documents │ ├── common.sh │ ├── create-new-feature.sh │ ├── setup-plan.sh -│ └── update-claude-md.sh +│ └── setup-tasks.sh ├── specs │ └── 001-create-taskify │ ├── contracts From c5860034b2f03ba75cf486c8f829cf9293fd2d39 Mon Sep 17 00:00:00 2001 From: wangchenguang Date: Thu, 14 May 2026 21:40:39 +0800 Subject: [PATCH 2/3] docs: fix .specify/scripts layout to show bash/ and powershell/ subdirs install_shared_infra() installs scripts under .specify/scripts/bash/ (script_type="sh") or .specify/scripts/powershell/ (script_type="ps"), not directly under .specify/scripts/. Update docs/installation.md and the _install_shared_infra docstring to reflect the actual on-disk layout. --- docs/installation.md | 5 ++++- src/specify_cli/__init__.py | 7 ++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 86ad35559f..ea2762b91b 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -97,7 +97,10 @@ After initialization, you should see the following commands available in your co - `/speckit.plan` - Generate implementation plans - `/speckit.tasks` - Break down into actionable tasks -The `.specify/scripts` directory will contain both `.sh` and `.ps1` scripts. +Scripts are installed into a variant subdirectory matching the chosen script type: + +- `.specify/scripts/bash/` — contains `.sh` scripts (default on Linux/macOS) +- `.specify/scripts/powershell/` — contains `.ps1` scripts (default on Windows) ## Troubleshooting diff --git a/src/specify_cli/__init__.py b/src/specify_cli/__init__.py index d4e8632215..67452cabf7 100644 --- a/src/specify_cli/__init__.py +++ b/src/specify_cli/__init__.py @@ -229,9 +229,10 @@ def _install_shared_infra( ) -> bool: """Install shared infrastructure files into *project_path*. - Copies ``.specify/scripts/`` and ``.specify/templates/`` from the - bundled core_pack or source checkout. Tracks all installed files - in ``speckit.manifest.json``. + Copies ``.specify/scripts//`` and ``.specify/templates/`` from + the bundled core_pack or source checkout, where ```` is + ``bash`` when *script_type* is ``"sh"`` and ``powershell`` when it is + ``"ps"``. Tracks all installed files in ``speckit.manifest.json``. Page templates are processed to resolve ``__SPECKIT_COMMAND___`` placeholders using *invoke_separator* (``"."`` for markdown agents, From 10c7740d5b5f8ee3793481100fbaa1e0dac71b82 Mon Sep 17 00:00:00 2001 From: wangchenguang Date: Thu, 14 May 2026 21:47:34 +0800 Subject: [PATCH 3/3] docs: update README tree examples to show scripts/bash/ subdirectory Scripts are installed under .specify/scripts/bash/ (or powershell/) not directly under .specify/scripts/. Fix both tree diagrams in the Detailed Process walkthrough to match the actual on-disk layout. --- README.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index d14613174c..23e1f6e4d2 100644 --- a/README.md +++ b/README.md @@ -581,11 +581,12 @@ At this stage, your project folder contents should resemble the following: ├── memory │ └── constitution.md ├── scripts - │ ├── check-prerequisites.sh - │ ├── common.sh - │ ├── create-new-feature.sh - │ ├── setup-plan.sh - │ └── setup-tasks.sh + │ └── bash + │ ├── check-prerequisites.sh + │ ├── common.sh + │ ├── create-new-feature.sh + │ ├── setup-plan.sh + │ └── setup-tasks.sh ├── specs │ └── 001-create-taskify │ └── spec.md @@ -642,11 +643,12 @@ The output of this step will include a number of implementation detail documents ├── memory │ └── constitution.md ├── scripts -│ ├── check-prerequisites.sh -│ ├── common.sh -│ ├── create-new-feature.sh -│ ├── setup-plan.sh -│ └── setup-tasks.sh +│ └── bash +│ ├── check-prerequisites.sh +│ ├── common.sh +│ ├── create-new-feature.sh +│ ├── setup-plan.sh +│ └── setup-tasks.sh ├── specs │ └── 001-create-taskify │ ├── contracts