From 546e9d661734358dfd3d593d4667246874589880 Mon Sep 17 00:00:00 2001 From: danielshih Date: Tue, 21 Oct 2025 21:18:57 +0800 Subject: [PATCH 1/5] Support more lang/Devops of Common Patterns by Technology - lang: TypeScript, Swift, R. - Devops: Kubernetes/k8s --- templates/commands/implement.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/templates/commands/implement.md b/templates/commands/implement.md index c4e7c17b..0b27c532 100644 --- a/templates/commands/implement.md +++ b/templates/commands/implement.md @@ -74,7 +74,7 @@ You **MUST** consider the user input before proceeding (if not empty). **If ignore file missing**: Create with full pattern set for detected technology **Common Patterns by Technology** (from plan.md tech stack): - - **Node.js/JavaScript**: `node_modules/`, `dist/`, `build/`, `*.log`, `.env*` + - **Node.js/JavaScript/TypeScript**: `node_modules/`, `dist/`, `build/`, `*.log`, `.env*` - **Python**: `__pycache__/`, `*.pyc`, `.venv/`, `venv/`, `dist/`, `*.egg-info/` - **Java**: `target/`, `*.class`, `*.jar`, `.gradle/`, `build/` - **C#/.NET**: `bin/`, `obj/`, `*.user`, `*.suo`, `packages/` @@ -85,6 +85,8 @@ You **MUST** consider the user input before proceeding (if not empty). - **Kotlin**: `build/`, `out/`, `.gradle/`, `.idea/`, `*.class`, `*.jar`, `*.iml`, `*.log`, `.env*` - **C++**: `build/`, `bin/`, `obj/`, `out/`, `*.o`, `*.so`, `*.a`, `*.exe`, `*.dll`, `.idea/`, `*.log`, `.env*` - **C**: `build/`, `bin/`, `obj/`, `out/`, `*.o`, `*.a`, `*.so`, `*.exe`, `Makefile`, `config.log`, `.idea/`, `*.log`, `.env*` + - **Swift**: `.build/`, `DerivedData/`, `*.xcodeproj/`, `*.xcworkspace/`, `*.swiftpm/`, `Packages/` + - **R**: `.Rproj.user/`, `.Rhistory`, `.RData`, `.Ruserdata`, `*.Rproj`, `packrat/`, `renv/` - **Universal**: `.DS_Store`, `Thumbs.db`, `*.tmp`, `*.swp`, `.vscode/`, `.idea/` **Tool-Specific Patterns**: @@ -92,6 +94,7 @@ You **MUST** consider the user input before proceeding (if not empty). - **ESLint**: `node_modules/`, `dist/`, `build/`, `coverage/`, `*.min.js` - **Prettier**: `node_modules/`, `dist/`, `build/`, `coverage/`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml` - **Terraform**: `.terraform/`, `*.tfstate*`, `*.tfvars`, `.terraform.lock.hcl` + - **Kubernetes/k8s**: `*.secret.yaml`, `secrets/`, `.kube/`, `kubeconfig*`, `*.key`, `*.crt` 5. Parse tasks.md structure and extract: - **Task phases**: Setup, Tests, Core, Integration, Polish From ab14090813eec9a39efdb9ddfaf447a79be2f09a Mon Sep 17 00:00:00 2001 From: Jeff Li Date: Tue, 21 Oct 2025 21:27:05 +0800 Subject: [PATCH 2/5] fix: correct command references in speckit.analyze.md Update speckit.analyze.md to reflect changes in command references, ensuring consistency in the execution flow and clarity in the analysis process. The command now specifies `/speckit.tasks` and `/speckit.implement` for improved user guidance. --- templates/commands/analyze.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/commands/analyze.md b/templates/commands/analyze.md index 82957e5e..4c298676 100644 --- a/templates/commands/analyze.md +++ b/templates/commands/analyze.md @@ -15,13 +15,13 @@ You **MUST** consider the user input before proceeding (if not empty). ## Goal -Identify inconsistencies, duplications, ambiguities, and underspecified items across the three core artifacts (`spec.md`, `plan.md`, `tasks.md`) before implementation. This command MUST run only after `/tasks` has successfully produced a complete `tasks.md`. +Identify inconsistencies, duplications, ambiguities, and underspecified items across the three core artifacts (`spec.md`, `plan.md`, `tasks.md`) before implementation. This command MUST run only after `/speckit.tasks` has successfully produced a complete `tasks.md`. ## Operating Constraints **STRICTLY READ-ONLY**: Do **not** modify any files. Output a structured analysis report. Offer an optional remediation plan (user must explicitly approve before any follow-up editing commands would be invoked manually). -**Constitution Authority**: The project constitution (`/memory/constitution.md`) is **non-negotiable** within this analysis scope. Constitution conflicts are automatically CRITICAL and require adjustment of the spec, plan, or tasks—not dilution, reinterpretation, or silent ignoring of the principle. If a principle itself needs to change, that must occur in a separate, explicit constitution update outside `/analyze`. +**Constitution Authority**: The project constitution (`/memory/constitution.md`) is **non-negotiable** within this analysis scope. Constitution conflicts are automatically CRITICAL and require adjustment of the spec, plan, or tasks—not dilution, reinterpretation, or silent ignoring of the principle. If a principle itself needs to change, that must occur in a separate, explicit constitution update outside `/speckit.analyze`. ## Execution Steps @@ -157,9 +157,9 @@ Output a Markdown report (no file writes) with the following structure: At end of report, output a concise Next Actions block: -- If CRITICAL issues exist: Recommend resolving before `/implement` +- If CRITICAL issues exist: Recommend resolving before `/speckit.implement` - If only LOW/MEDIUM: User may proceed, but provide improvement suggestions -- Provide explicit command suggestions: e.g., "Run /specify with refinement", "Run /plan to adjust architecture", "Manually edit tasks.md to add coverage for 'performance-metrics'" +- Provide explicit command suggestions: e.g., "Run /speckit.specify with refinement", "Run /speckit.plan to adjust architecture", "Manually edit tasks.md to add coverage for 'performance-metrics'" ### 8. Offer Remediation From 02c1549f8015d94966c6dd507ecc0c3e4e297300 Mon Sep 17 00:00:00 2001 From: danielshih Date: Tue, 21 Oct 2025 21:27:46 +0800 Subject: [PATCH 3/5] fix regarding copilot suggestion --- templates/commands/implement.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/templates/commands/implement.md b/templates/commands/implement.md index 0b27c532..9a804a0b 100644 --- a/templates/commands/implement.md +++ b/templates/commands/implement.md @@ -34,14 +34,14 @@ You **MUST** consider the user input before proceeding (if not empty). - Calculate overall status: * **PASS**: All checklists have 0 incomplete items * **FAIL**: One or more checklists have incomplete items - + - **If any checklist is incomplete**: * Display the table with incomplete item counts * **STOP** and ask: "Some checklists are incomplete. Do you want to proceed with implementation anyway? (yes/no)" * Wait for user response before continuing * If user says "no" or "wait" or "stop", halt execution * If user says "yes" or "proceed" or "continue", proceed to step 3 - + - **If all checklists are complete**: * Display the table showing all checklists passed * Automatically proceed to step 3 @@ -56,7 +56,7 @@ You **MUST** consider the user input before proceeding (if not empty). 4. **Project Setup Verification**: - **REQUIRED**: Create/verify ignore files based on actual project setup: - + **Detection & Creation Logic**: - Check if the following command succeeds to determine if the repository is a git repo (create/verify .gitignore if so): @@ -69,10 +69,10 @@ You **MUST** consider the user input before proceeding (if not empty). - Check if .npmrc or package.json exists → create/verify .npmignore (if publishing) - Check if terraform files (*.tf) exist → create/verify .terraformignore - Check if .helmignore needed (helm charts present) → create/verify .helmignore - + **If ignore file already exists**: Verify it contains essential patterns, append missing critical patterns only **If ignore file missing**: Create with full pattern set for detected technology - + **Common Patterns by Technology** (from plan.md tech stack): - **Node.js/JavaScript/TypeScript**: `node_modules/`, `dist/`, `build/`, `*.log`, `.env*` - **Python**: `__pycache__/`, `*.pyc`, `.venv/`, `venv/`, `dist/`, `*.egg-info/` @@ -85,10 +85,10 @@ You **MUST** consider the user input before proceeding (if not empty). - **Kotlin**: `build/`, `out/`, `.gradle/`, `.idea/`, `*.class`, `*.jar`, `*.iml`, `*.log`, `.env*` - **C++**: `build/`, `bin/`, `obj/`, `out/`, `*.o`, `*.so`, `*.a`, `*.exe`, `*.dll`, `.idea/`, `*.log`, `.env*` - **C**: `build/`, `bin/`, `obj/`, `out/`, `*.o`, `*.a`, `*.so`, `*.exe`, `Makefile`, `config.log`, `.idea/`, `*.log`, `.env*` - - **Swift**: `.build/`, `DerivedData/`, `*.xcodeproj/`, `*.xcworkspace/`, `*.swiftpm/`, `Packages/` + - **Swift**: `.build/`, `DerivedData/`, `*.swiftpm/`, `Packages/` - **R**: `.Rproj.user/`, `.Rhistory`, `.RData`, `.Ruserdata`, `*.Rproj`, `packrat/`, `renv/` - **Universal**: `.DS_Store`, `Thumbs.db`, `*.tmp`, `*.swp`, `.vscode/`, `.idea/` - + **Tool-Specific Patterns**: - **Docker**: `node_modules/`, `.git/`, `Dockerfile*`, `.dockerignore`, `*.log*`, `.env*`, `coverage/` - **ESLint**: `node_modules/`, `dist/`, `build/`, `coverage/`, `*.min.js` @@ -104,7 +104,7 @@ You **MUST** consider the user input before proceeding (if not empty). 6. Execute implementation following the task plan: - **Phase-by-phase execution**: Complete each phase before moving to the next - - **Respect dependencies**: Run sequential tasks in order, parallel tasks [P] can run together + - **Respect dependencies**: Run sequential tasks in order, parallel tasks [P] can run together - **Follow TDD approach**: Execute test tasks before their corresponding implementation tasks - **File-based coordination**: Tasks affecting the same files must run sequentially - **Validation checkpoints**: Verify each phase completion before proceeding From 6c22085214af0289fb315f1df907c32c2408e6b1 Mon Sep 17 00:00:00 2001 From: Jeff Li Date: Tue, 21 Oct 2025 21:30:52 +0800 Subject: [PATCH 4/5] fix: correct command references in implement.md Update speckit.implement.md to correct the command for regenerating the task list from '/tasks' to '/speckit.tasks', ensuring accurate documentation for task breakdown requirements. --- templates/commands/implement.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/commands/implement.md b/templates/commands/implement.md index c4e7c17b..a5446f1f 100644 --- a/templates/commands/implement.md +++ b/templates/commands/implement.md @@ -128,5 +128,5 @@ You **MUST** consider the user input before proceeding (if not empty). - Confirm the implementation follows the technical plan - Report final status with summary of completed work -Note: This command assumes a complete task breakdown exists in tasks.md. If tasks are incomplete or missing, suggest running `/tasks` first to regenerate the task list. +Note: This command assumes a complete task breakdown exists in tasks.md. If tasks are incomplete or missing, suggest running `/speckit.tasks` first to regenerate the task list. From e0e62f67579825239361f9256baf85ad233aa313 Mon Sep 17 00:00:00 2001 From: danielshih Date: Tue, 21 Oct 2025 21:30:47 +0800 Subject: [PATCH 5/5] revert vscode auto remove extra space --- templates/commands/implement.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/templates/commands/implement.md b/templates/commands/implement.md index 9a804a0b..8e19caf9 100644 --- a/templates/commands/implement.md +++ b/templates/commands/implement.md @@ -34,14 +34,14 @@ You **MUST** consider the user input before proceeding (if not empty). - Calculate overall status: * **PASS**: All checklists have 0 incomplete items * **FAIL**: One or more checklists have incomplete items - + - **If any checklist is incomplete**: * Display the table with incomplete item counts * **STOP** and ask: "Some checklists are incomplete. Do you want to proceed with implementation anyway? (yes/no)" * Wait for user response before continuing * If user says "no" or "wait" or "stop", halt execution * If user says "yes" or "proceed" or "continue", proceed to step 3 - + - **If all checklists are complete**: * Display the table showing all checklists passed * Automatically proceed to step 3 @@ -56,7 +56,7 @@ You **MUST** consider the user input before proceeding (if not empty). 4. **Project Setup Verification**: - **REQUIRED**: Create/verify ignore files based on actual project setup: - + **Detection & Creation Logic**: - Check if the following command succeeds to determine if the repository is a git repo (create/verify .gitignore if so): @@ -69,10 +69,10 @@ You **MUST** consider the user input before proceeding (if not empty). - Check if .npmrc or package.json exists → create/verify .npmignore (if publishing) - Check if terraform files (*.tf) exist → create/verify .terraformignore - Check if .helmignore needed (helm charts present) → create/verify .helmignore - + **If ignore file already exists**: Verify it contains essential patterns, append missing critical patterns only **If ignore file missing**: Create with full pattern set for detected technology - + **Common Patterns by Technology** (from plan.md tech stack): - **Node.js/JavaScript/TypeScript**: `node_modules/`, `dist/`, `build/`, `*.log`, `.env*` - **Python**: `__pycache__/`, `*.pyc`, `.venv/`, `venv/`, `dist/`, `*.egg-info/` @@ -88,7 +88,7 @@ You **MUST** consider the user input before proceeding (if not empty). - **Swift**: `.build/`, `DerivedData/`, `*.swiftpm/`, `Packages/` - **R**: `.Rproj.user/`, `.Rhistory`, `.RData`, `.Ruserdata`, `*.Rproj`, `packrat/`, `renv/` - **Universal**: `.DS_Store`, `Thumbs.db`, `*.tmp`, `*.swp`, `.vscode/`, `.idea/` - + **Tool-Specific Patterns**: - **Docker**: `node_modules/`, `.git/`, `Dockerfile*`, `.dockerignore`, `*.log*`, `.env*`, `coverage/` - **ESLint**: `node_modules/`, `dist/`, `build/`, `coverage/`, `*.min.js` @@ -104,7 +104,7 @@ You **MUST** consider the user input before proceeding (if not empty). 6. Execute implementation following the task plan: - **Phase-by-phase execution**: Complete each phase before moving to the next - - **Respect dependencies**: Run sequential tasks in order, parallel tasks [P] can run together + - **Respect dependencies**: Run sequential tasks in order, parallel tasks [P] can run together - **Follow TDD approach**: Execute test tasks before their corresponding implementation tasks - **File-based coordination**: Tasks affecting the same files must run sequentially - **Validation checkpoints**: Verify each phase completion before proceeding