gsd-vscode-copilot 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,93 @@
1
+ # GSD for VS Code + GitHub Copilot
2
+
3
+ A lightweight planning and execution workflow for building software with AI assistance.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npx gsd-vscode-copilot
9
+ ```
10
+
11
+ Or install globally:
12
+
13
+ ```bash
14
+ npm install -g gsd-vscode-copilot
15
+ gsd-init
16
+ ```
17
+
18
+ ## What it installs
19
+
20
+ ```
21
+ your-project/
22
+ ├── .github/
23
+ │ ├── prompts/
24
+ │ │ ├── gsd-bootstrap-planning.prompt.md
25
+ │ │ ├── gsd-plan-slice.prompt.md
26
+ │ │ ├── gsd-execute-plan.prompt.md
27
+ │ │ ├── gsd-verify-work.prompt.md
28
+ │ │ └── gsd-progress.prompt.md
29
+ │ ├── instructions/
30
+ │ │ └── gsd-workflow.instructions.md
31
+ │ └── vendor/
32
+ │ └── get-shit-done/
33
+ │ ├── templates/
34
+ │ │ ├── phase-prompt.md
35
+ │ │ └── summary.md
36
+ │ └── references/
37
+ │ └── checkpoints.md
38
+ └── .planning/
39
+ ├── PROJECT.md
40
+ ├── REQUIREMENTS.md
41
+ ├── ROADMAP.md
42
+ ├── STATE.md
43
+ └── phases/
44
+ ```
45
+
46
+ ## Usage
47
+
48
+ ### 1. Bootstrap your project
49
+
50
+ Open `.github/prompts/gsd-bootstrap-planning.prompt.md` and run it with Copilot. This initializes your project memory in `.planning/`.
51
+
52
+ ### 2. Plan a slice
53
+
54
+ Run `gsd-plan-slice.prompt.md` to create a 2-3 task plan for the next piece of work.
55
+
56
+ ### 3. Execute the plan
57
+
58
+ Run `gsd-execute-plan.prompt.md` with the path to your plan file.
59
+
60
+ ### 4. Verify (optional)
61
+
62
+ Run `gsd-verify-work.prompt.md` for conversational user acceptance testing.
63
+
64
+ ### 5. Check progress
65
+
66
+ Run `gsd-progress.prompt.md` to see where you are and what's next.
67
+
68
+ ## Core Principles
69
+
70
+ - **Small plans**: 2-3 tasks max per plan
71
+ - **Explicit verification**: Every task has a verify command
72
+ - **Context hygiene**: Fresh context for each plan execution
73
+ - **Atomic commits**: One logical commit per plan
74
+
75
+ ## Stack-Agnostic
76
+
77
+ The workflow doesn't assume any particular tech stack. Plans carry their own verification commands appropriate to your project:
78
+
79
+ | Stack | Example verify |
80
+ |-------|----------------|
81
+ | Node | `npm test` |
82
+ | Python | `pytest` |
83
+ | .NET | `dotnet test` |
84
+ | Go | `go test ./...` |
85
+ | Rust | `cargo test` |
86
+
87
+ ## Credits
88
+
89
+ Inspired by [glittercowboy/get-shit-done](https://github.com/glittercowboy/get-shit-done), adapted for VS Code + GitHub Copilot workflows.
90
+
91
+ ## License
92
+
93
+ MIT
package/bin/init.js ADDED
@@ -0,0 +1,184 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+
6
+ const TEMPLATES_DIR = path.join(__dirname, '..', 'templates');
7
+ const TARGET_DIR = process.cwd();
8
+
9
+ // Colors for terminal output
10
+ const green = (text) => `\x1b[32m${text}\x1b[0m`;
11
+ const yellow = (text) => `\x1b[33m${text}\x1b[0m`;
12
+ const cyan = (text) => `\x1b[36m${text}\x1b[0m`;
13
+ const bold = (text) => `\x1b[1m${text}\x1b[0m`;
14
+
15
+ console.log(`
16
+ ${bold(cyan('╔═══════════════════════════════════════════════════════╗'))}
17
+ ${bold(cyan('║'))} ${bold('GSD for VS Code + GitHub Copilot')} ${bold(cyan('║'))}
18
+ ${bold(cyan('║'))} Lightweight planning & execution workflow ${bold(cyan('║'))}
19
+ ${bold(cyan('╚═══════════════════════════════════════════════════════╝'))}
20
+ `);
21
+
22
+ // Parse args
23
+ const args = process.argv.slice(2);
24
+ const forceOverwrite = args.includes('--force') || args.includes('-f');
25
+ const showHelp = args.includes('--help') || args.includes('-h');
26
+
27
+ if (showHelp) {
28
+ console.log(`
29
+ ${bold('Usage:')} npx gsd-vscode-copilot [options]
30
+
31
+ ${bold('Options:')}
32
+ -f, --force Overwrite existing files
33
+ -h, --help Show this help message
34
+
35
+ ${bold('What it does:')}
36
+ 1. Creates .github/prompts/gsd-*.prompt.md (Copilot prompt files)
37
+ 2. Creates .github/instructions/gsd-workflow.instructions.md
38
+ 3. Creates .github/vendor/get-shit-done/ (templates & workflows)
39
+ 4. Creates .planning/ with PROJECT/REQUIREMENTS/ROADMAP/STATE stubs
40
+
41
+ ${bold('After installing:')}
42
+ 1. Open any gsd-*.prompt.md in VS Code
43
+ 2. Click "Run" or use the Copilot prompt runner
44
+ 3. Start with gsd-bootstrap-planning.prompt.md to initialize your project
45
+ `);
46
+ process.exit(0);
47
+ }
48
+
49
+ // Helper: recursively copy directory
50
+ function copyDir(src, dest, options = {}) {
51
+ const { overwrite = false, createdFiles = [] } = options;
52
+
53
+ if (!fs.existsSync(dest)) {
54
+ fs.mkdirSync(dest, { recursive: true });
55
+ }
56
+
57
+ const entries = fs.readdirSync(src, { withFileTypes: true });
58
+
59
+ for (const entry of entries) {
60
+ const srcPath = path.join(src, entry.name);
61
+ const destPath = path.join(dest, entry.name);
62
+
63
+ if (entry.isDirectory()) {
64
+ copyDir(srcPath, destPath, { overwrite, createdFiles });
65
+ } else {
66
+ if (!fs.existsSync(destPath) || overwrite) {
67
+ fs.copyFileSync(srcPath, destPath);
68
+ createdFiles.push(destPath.replace(TARGET_DIR + '/', ''));
69
+ }
70
+ }
71
+ }
72
+
73
+ return createdFiles;
74
+ }
75
+
76
+ // Helper: create file if not exists (or if force)
77
+ function createFileIfNotExists(filePath, content, overwrite = false) {
78
+ const fullPath = path.join(TARGET_DIR, filePath);
79
+ const dir = path.dirname(fullPath);
80
+
81
+ if (!fs.existsSync(dir)) {
82
+ fs.mkdirSync(dir, { recursive: true });
83
+ }
84
+
85
+ if (!fs.existsSync(fullPath) || overwrite) {
86
+ fs.writeFileSync(fullPath, content);
87
+ return true;
88
+ }
89
+ return false;
90
+ }
91
+
92
+ const createdFiles = [];
93
+ const skippedFiles = [];
94
+
95
+ // 1. Copy prompts
96
+ console.log(`${cyan('→')} Installing Copilot prompt files...`);
97
+ const promptsSrc = path.join(TEMPLATES_DIR, 'prompts');
98
+ const promptsDest = path.join(TARGET_DIR, '.github', 'prompts');
99
+
100
+ if (fs.existsSync(promptsSrc)) {
101
+ copyDir(promptsSrc, promptsDest, { overwrite: forceOverwrite, createdFiles });
102
+ }
103
+
104
+ // 2. Copy vendor (workflows + templates)
105
+ console.log(`${cyan('→')} Installing GSD vendor assets...`);
106
+ const vendorSrc = path.join(TEMPLATES_DIR, 'vendor');
107
+ const vendorDest = path.join(TARGET_DIR, '.github', 'vendor', 'get-shit-done');
108
+
109
+ if (fs.existsSync(vendorSrc)) {
110
+ copyDir(vendorSrc, vendorDest, { overwrite: forceOverwrite, createdFiles });
111
+ }
112
+
113
+ // 3. Create instructions file
114
+ console.log(`${cyan('→')} Installing workflow instructions...`);
115
+ const instructionsPath = '.github/instructions/gsd-workflow.instructions.md';
116
+ const instructionsSrc = path.join(TEMPLATES_DIR, 'gsd-workflow.instructions.md');
117
+
118
+ if (fs.existsSync(instructionsSrc)) {
119
+ const content = fs.readFileSync(instructionsSrc, 'utf8');
120
+ if (createFileIfNotExists(instructionsPath, content, forceOverwrite)) {
121
+ createdFiles.push(instructionsPath);
122
+ }
123
+ }
124
+
125
+ // 4. Create .planning stubs
126
+ console.log(`${cyan('→')} Creating planning directory...`);
127
+ const planningStubsSrc = path.join(TEMPLATES_DIR, 'planning-stubs');
128
+
129
+ if (fs.existsSync(planningStubsSrc)) {
130
+ const stubs = fs.readdirSync(planningStubsSrc);
131
+ for (const stub of stubs) {
132
+ const content = fs.readFileSync(path.join(planningStubsSrc, stub), 'utf8');
133
+ const destPath = `.planning/${stub}`;
134
+ if (createFileIfNotExists(destPath, content, false)) { // Never overwrite planning files
135
+ createdFiles.push(destPath);
136
+ } else {
137
+ skippedFiles.push(destPath);
138
+ }
139
+ }
140
+ }
141
+
142
+ // Create phases directory
143
+ const phasesDir = path.join(TARGET_DIR, '.planning', 'phases');
144
+ if (!fs.existsSync(phasesDir)) {
145
+ fs.mkdirSync(phasesDir, { recursive: true });
146
+ createdFiles.push('.planning/phases/');
147
+ }
148
+
149
+ // Summary
150
+ console.log('');
151
+ console.log(`${green('✓')} ${bold('GSD installed successfully!')}`);
152
+ console.log('');
153
+
154
+ if (createdFiles.length > 0) {
155
+ console.log(`${bold('Created:')}`);
156
+ createdFiles.slice(0, 10).forEach(f => console.log(` ${green('+')} ${f}`));
157
+ if (createdFiles.length > 10) {
158
+ console.log(` ${cyan('...')} and ${createdFiles.length - 10} more files`);
159
+ }
160
+ }
161
+
162
+ if (skippedFiles.length > 0) {
163
+ console.log('');
164
+ console.log(`${bold('Skipped (already exist):')}`);
165
+ skippedFiles.forEach(f => console.log(` ${yellow('○')} ${f}`));
166
+ }
167
+
168
+ console.log(`
169
+ ${bold('Next steps:')}
170
+
171
+ ${cyan('1.')} Open ${bold('.github/prompts/gsd-bootstrap-planning.prompt.md')} in VS Code
172
+ ${cyan('2.')} Run the prompt with Copilot to initialize your project memory
173
+ ${cyan('3.')} Use ${bold('gsd-plan-slice.prompt.md')} to create your first plan
174
+ ${cyan('4.')} Use ${bold('gsd-execute-plan.prompt.md')} to execute it
175
+
176
+ ${bold('Available prompts:')}
177
+ • gsd-bootstrap-planning — Initialize .planning/* files
178
+ • gsd-plan-slice — Create a 2-3 task plan
179
+ • gsd-execute-plan — Execute a plan file
180
+ • gsd-verify-work — Conversational UAT
181
+ • gsd-progress — Check status and next action
182
+
183
+ ${cyan('Docs:')} .github/vendor/get-shit-done/
184
+ `);
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "gsd-vscode-copilot",
3
+ "version": "1.0.0",
4
+ "description": "GSD workflow for VS Code + GitHub Copilot. Lightweight planning, execution, and verification system.",
5
+ "keywords": [
6
+ "gsd",
7
+ "get-shit-done",
8
+ "vscode",
9
+ "copilot",
10
+ "github-copilot",
11
+ "planning",
12
+ "spec-driven-development",
13
+ "context-engineering"
14
+ ],
15
+ "author": "Your Name",
16
+ "license": "MIT",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/YOUR_ORG/gsd-vscode-copilot"
20
+ },
21
+ "bin": {
22
+ "gsd-vscode-copilot": "./bin/init.js",
23
+ "gsd-init": "./bin/init.js"
24
+ },
25
+ "files": [
26
+ "bin/",
27
+ "templates/"
28
+ ],
29
+ "engines": {
30
+ "node": ">=16"
31
+ }
32
+ }
@@ -0,0 +1,75 @@
1
+ ---
2
+ description: "GSD-style workflow for VS Code + GitHub Copilot (planning + execution)"
3
+ applyTo: "**"
4
+ ---
5
+
6
+ # GSD-Style Workflow (VS Code + Copilot)
7
+
8
+ This repo uses a lightweight GSD (Get Shit Done) workflow for planning and execution.
9
+ It provides **context hygiene, atomic plans, explicit verification, and disciplined checkpoints**.
10
+
11
+ ## Planning Artifacts (Repository Memory)
12
+
13
+ Maintain these files under `.planning/`:
14
+
15
+ | File | Purpose |
16
+ |------|---------|
17
+ | `PROJECT.md` | Product/feature vision, constraints, non-goals |
18
+ | `REQUIREMENTS.md` | v1/v2/out-of-scope requirements (checkable) |
19
+ | `ROADMAP.md` | Phases/slices with links to plan IDs |
20
+ | `STATE.md` | Current position, decisions, blockers, next action |
21
+
22
+ ## Execution Rules
23
+
24
+ - Prefer automation: if it can be done via CLI/tooling, do it.
25
+ - Plans must be small: **2–3 tasks max** per plan file.
26
+ - Every task must include:
27
+ - **Action**: what to do and what to avoid (and why)
28
+ - **Verify**: exact command(s) / checks to prove it worked
29
+ - **Done**: measurable acceptance criteria
30
+ - Stop for checkpoints only when unavoidable:
31
+ - human verification (UI/UX),
32
+ - human decision (architecture/product choice),
33
+ - auth gates (login/consent needed).
34
+
35
+ ## Plan Format
36
+
37
+ - Location: `.planning/phases/<NN-name>/<NN-NN-PLAN.md>`
38
+ - Structure: YAML frontmatter + XML tasks (see vendor templates)
39
+ - Reference: `.github/vendor/get-shit-done/templates/phase-prompt.md`
40
+
41
+ ## Workflow Prompts
42
+
43
+ Use the prompt files in `.github/prompts/`:
44
+
45
+ | Prompt | When to use |
46
+ |--------|-------------|
47
+ | `gsd-bootstrap-planning.prompt.md` | Initialize `.planning/*` for a new project |
48
+ | `gsd-plan-slice.prompt.md` | Create a 2–3 task plan for the next slice |
49
+ | `gsd-execute-plan.prompt.md` | Execute a plan file |
50
+ | `gsd-verify-work.prompt.md` | Conversational UAT after execution |
51
+ | `gsd-progress.prompt.md` | Check current status and next action |
52
+
53
+ ## STATE.md Discipline
54
+
55
+ Whenever you:
56
+ - make a decision,
57
+ - discover a constraint,
58
+ - hit a blocker,
59
+ - finish a slice,
60
+
61
+ …record it in `.planning/STATE.md` with the next action.
62
+
63
+ ## Verification Conventions
64
+
65
+ Adapt verification commands to your stack:
66
+
67
+ | Stack | Example verify commands |
68
+ |-------|------------------------|
69
+ | Node/npm | `npm run build`, `npm test` |
70
+ | Python | `pytest`, `python -m mypy .` |
71
+ | .NET | `dotnet build`, `dotnet test` |
72
+ | Go | `go build ./...`, `go test ./...` |
73
+ | Rust | `cargo build`, `cargo test` |
74
+
75
+ Plans carry the specific verify commands — the workflow is stack-agnostic.
@@ -0,0 +1,31 @@
1
+ # Project
2
+
3
+ ## Vision
4
+
5
+ <!-- What are you building? One paragraph max. -->
6
+
7
+ TODO: Describe your product/feature vision.
8
+
9
+ ## Constraints
10
+
11
+ <!-- Hard limits: timeline, budget, tech requirements, integrations -->
12
+
13
+ - TODO: Add constraints
14
+
15
+ ## Non-Goals
16
+
17
+ <!-- Explicitly out of scope for this project -->
18
+
19
+ - TODO: Add non-goals
20
+
21
+ ## Tech Stack
22
+
23
+ <!-- Languages, frameworks, key libraries -->
24
+
25
+ - TODO: Define tech stack
26
+
27
+ ## Success Metrics
28
+
29
+ <!-- How will you know it's working? -->
30
+
31
+ - TODO: Define success metrics
@@ -0,0 +1,28 @@
1
+ # .planning
2
+
3
+ This folder is the project memory for the GSD workflow.
4
+
5
+ ## Files
6
+
7
+ | File | Purpose |
8
+ |------|---------|
9
+ | `PROJECT.md` | Vision, constraints, non-goals |
10
+ | `REQUIREMENTS.md` | Checkable requirements (v1/v2/out-of-scope) |
11
+ | `ROADMAP.md` | Phased slices with status |
12
+ | `STATE.md` | Current position, decisions, next action |
13
+ | `phases/` | Plan and summary files per phase |
14
+ | `uat/` | User acceptance testing notes |
15
+
16
+ ## Workflow
17
+
18
+ 1. **Bootstrap** — Run `gsd-bootstrap-planning.prompt.md` to initialize
19
+ 2. **Plan** — Run `gsd-plan-slice.prompt.md` to create a 2-3 task plan
20
+ 3. **Execute** — Run `gsd-execute-plan.prompt.md` to implement
21
+ 4. **Verify** — Run `gsd-verify-work.prompt.md` for UAT
22
+ 5. **Check** — Run `gsd-progress.prompt.md` for status
23
+
24
+ ## Templates
25
+
26
+ See `.github/vendor/get-shit-done/` for:
27
+ - `templates/phase-prompt.md` — Plan file format
28
+ - `templates/summary.md` — Summary file format
@@ -0,0 +1,21 @@
1
+ # Requirements
2
+
3
+ ## v1 (Must Have)
4
+
5
+ <!-- Core functionality for initial release -->
6
+
7
+ - [ ] REQ-01: TODO
8
+ - [ ] REQ-02: TODO
9
+ - [ ] REQ-03: TODO
10
+
11
+ ## v2 (Nice to Have)
12
+
13
+ <!-- Future enhancements -->
14
+
15
+ - [ ] REQ-10: TODO
16
+
17
+ ## Out of Scope
18
+
19
+ <!-- Explicitly excluded -->
20
+
21
+ - TODO: List what you're NOT building
@@ -0,0 +1,43 @@
1
+ # Roadmap
2
+
3
+ ## Overview
4
+
5
+ <!-- Brief summary of the milestone -->
6
+
7
+ Building: TODO
8
+
9
+ ## Phases
10
+
11
+ ### Phase 1: Foundation
12
+ **Goal:** TODO - What this phase delivers
13
+ **Requirements:** REQ-01, REQ-02
14
+ **Status:** Not started
15
+
16
+ Plans:
17
+ - [ ] 01-01: TODO
18
+
19
+ ### Phase 2: Core Features
20
+ **Goal:** TODO
21
+ **Requirements:** REQ-03
22
+ **Depends on:** Phase 1
23
+ **Status:** Not started
24
+
25
+ Plans:
26
+ - [ ] 02-01: TODO
27
+
28
+ ### Phase 3: Polish & Ship
29
+ **Goal:** TODO
30
+ **Requirements:** REQ-04
31
+ **Depends on:** Phase 2
32
+ **Status:** Not started
33
+
34
+ Plans:
35
+ - [ ] 03-01: TODO
36
+
37
+ ## Progress
38
+
39
+ | Phase | Plans | Status | Completed |
40
+ |-------|-------|--------|-----------|
41
+ | 1. Foundation | 0/1 | Not started | - |
42
+ | 2. Core Features | 0/1 | Not started | - |
43
+ | 3. Polish & Ship | 0/1 | Not started | - |
@@ -0,0 +1,33 @@
1
+ # State
2
+
3
+ ## Project Reference
4
+
5
+ - **Project:** See PROJECT.md
6
+ - **Last updated:** TODO
7
+
8
+ ## Current Position
9
+
10
+ - **Phase:** 1 of 3 (Foundation)
11
+ - **Plan:** Not started
12
+ - **Status:** Ready to plan
13
+ - **Last activity:** Project initialized
14
+
15
+ Progress: ░░░░░░░░░░ 0%
16
+
17
+ ## Decisions
18
+
19
+ | Phase | Decision | Rationale |
20
+ |-------|----------|-----------|
21
+ | - | - | - |
22
+
23
+ ## Blockers / Concerns
24
+
25
+ <!-- Active blockers preventing progress -->
26
+
27
+ None
28
+
29
+ ## Session Continuity
30
+
31
+ - **Last session:** TODO
32
+ - **Stopped at:** Project initialized
33
+ - **Resume with:** Run `gsd-plan-slice` for Phase 1
@@ -0,0 +1,52 @@
1
+ ---
2
+ description: "GSD: Bootstrap planning files (.planning/*)"
3
+ argument-hint: "Optional: tell me the product vision, constraints, and near-term goals."
4
+ agent: agent
5
+ ---
6
+
7
+ Create (or update) the repository planning artifacts under `.planning/`.
8
+
9
+ ## What to do
10
+
11
+ 1. If `.planning/` does not exist, create it.
12
+ 2. If the files below do not exist, create them with lightweight templates.
13
+ 3. If they already exist, do not rewrite them wholesale—only refine headings and fill obvious missing essentials.
14
+
15
+ ## Files to ensure exist
16
+
17
+ - `.planning/PROJECT.md` — Product vision, constraints, non-goals
18
+ - `.planning/REQUIREMENTS.md` — v1/v2/out-of-scope requirements (checkable)
19
+ - `.planning/ROADMAP.md` — Phased slices with status tracking
20
+ - `.planning/STATE.md` — Current position, decisions, blockers, next action
21
+
22
+ Also ensure the phase workspace exists:
23
+ - `.planning/phases/` (for `*-PLAN.md` and `*-SUMMARY.md` files)
24
+
25
+ ## Style
26
+
27
+ - Keep content concise and skimmable.
28
+ - Prefer checklists and short bullets.
29
+ - Don't invent product decisions—ask questions where needed.
30
+
31
+ ## Questions
32
+
33
+ Before writing substantial content, ask me the minimum set of questions needed to make these files useful (aim for 5–10). Example questions:
34
+
35
+ 1. What is the core product/feature you're building?
36
+ 2. Who is the primary user?
37
+ 3. What technology stack are you using?
38
+ 4. What are 3–5 must-have features for v1?
39
+ 5. What's explicitly out of scope?
40
+ 6. Any hard constraints (timeline, budget, existing systems)?
41
+ 7. How will you verify the work? (test commands, CI, manual checks)
42
+
43
+ ## Output
44
+
45
+ After creating/updating files, summarize:
46
+ - What was created
47
+ - What needs my input next
48
+ - The recommended next prompt to run
49
+
50
+ Point to the vendor templates if helpful:
51
+ - `.github/vendor/get-shit-done/templates/phase-prompt.md`
52
+ - `.github/vendor/get-shit-done/templates/summary.md`