smart-spec-kit-mcp 2.0.1 → 2.0.3
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/README.md +65 -70
- package/dist/cli.js +72 -32
- package/dist/cli.js.map +1 -1
- package/dist/tools/orchestrationTools.d.ts.map +1 -1
- package/dist/tools/orchestrationTools.js +72 -30
- package/dist/tools/orchestrationTools.js.map +1 -1
- package/dist/utils/starterKitInstaller.d.ts +44 -0
- package/dist/utils/starterKitInstaller.d.ts.map +1 -0
- package/dist/utils/starterKitInstaller.js +264 -0
- package/dist/utils/starterKitInstaller.js.map +1 -0
- package/package.json +2 -2
- package/starter-kit/memory/constitution.md +122 -0
- package/starter-kit/prompts/speckit.clarify.md +129 -0
- package/starter-kit/prompts/speckit.implement.md +122 -0
- package/starter-kit/prompts/speckit.init.md +153 -0
- package/starter-kit/prompts/speckit.plan.md +145 -0
- package/starter-kit/prompts/speckit.specify.md +123 -0
- package/starter-kit/prompts/speckit.tasks.md +137 -0
- package/starter-kit/templates/bugfix-report.md +127 -0
- package/starter-kit/templates/functional-spec.md +144 -0
- package/starter-kit/templates/plan-template.md +126 -0
- package/starter-kit/templates/tasks-template.md +153 -0
- package/.github/copilot/prompts/spec-kit-abort.prompt.md +0 -22
- package/.github/copilot/prompts/spec-kit-config.prompt.md +0 -20
- package/.github/copilot/prompts/spec-kit-continue.prompt.md +0 -25
- package/.github/copilot/prompts/spec-kit-init.prompt.md +0 -19
- package/.github/copilot/prompts/spec-kit-list.prompt.md +0 -19
- package/.github/copilot/prompts/spec-kit-ping.prompt.md +0 -17
- package/.github/copilot/prompts/spec-kit-start.prompt.md +0 -30
- package/.github/copilot/prompts/spec-kit-status.prompt.md +0 -21
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Initialize Spec-Kit in the current project. Creates the .spec-kit folder structure with default workflows and templates.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /speckit.init - Initialize Project
|
|
6
|
+
|
|
7
|
+
## User Input
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
$ARGUMENTS
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Outline
|
|
14
|
+
|
|
15
|
+
You are initializing Spec-Kit in the current project. Follow this workflow:
|
|
16
|
+
|
|
17
|
+
### 1. Check Existing Setup
|
|
18
|
+
|
|
19
|
+
Check if `.spec-kit/` directory already exists:
|
|
20
|
+
- If exists and `--force` not specified, ask user if they want to overwrite
|
|
21
|
+
- If `--force` specified, proceed with overwrite
|
|
22
|
+
|
|
23
|
+
### 2. Create Directory Structure
|
|
24
|
+
|
|
25
|
+
Create the following structure:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
.spec-kit/
|
|
29
|
+
├── workflows/ # Custom workflow definitions
|
|
30
|
+
├── templates/ # Specification templates
|
|
31
|
+
└── memory/ # Project-specific context
|
|
32
|
+
└── constitution.md # Project principles
|
|
33
|
+
|
|
34
|
+
specs/ # Generated specifications go here
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 3. Copy Default Templates
|
|
38
|
+
|
|
39
|
+
Create default templates in `.spec-kit/templates/`:
|
|
40
|
+
|
|
41
|
+
**functional-spec.md** - Feature specification template
|
|
42
|
+
**bugfix-report.md** - Bug fix specification template
|
|
43
|
+
**plan-template.md** - Implementation plan template
|
|
44
|
+
**tasks-template.md** - Task breakdown template
|
|
45
|
+
|
|
46
|
+
### 4. Create Constitution
|
|
47
|
+
|
|
48
|
+
Create `.spec-kit/memory/constitution.md` with project principles template:
|
|
49
|
+
|
|
50
|
+
```markdown
|
|
51
|
+
# Project Constitution
|
|
52
|
+
|
|
53
|
+
## Project Name
|
|
54
|
+
[TO FILL: Project name]
|
|
55
|
+
|
|
56
|
+
## Core Principles
|
|
57
|
+
|
|
58
|
+
### Principle 1: [TO FILL: Principle Name]
|
|
59
|
+
[TO FILL: Description of this principle]
|
|
60
|
+
|
|
61
|
+
**Rationale**: [TO FILL: Why this principle matters]
|
|
62
|
+
|
|
63
|
+
### Principle 2: Code Quality
|
|
64
|
+
All code must pass linting and have appropriate test coverage.
|
|
65
|
+
|
|
66
|
+
**Rationale**: Maintains consistency and reduces bugs.
|
|
67
|
+
|
|
68
|
+
### Principle 3: Documentation
|
|
69
|
+
All features must be documented before implementation begins.
|
|
70
|
+
|
|
71
|
+
**Rationale**: Ensures alignment and reduces rework.
|
|
72
|
+
|
|
73
|
+
## Tech Stack Guidelines
|
|
74
|
+
[TO FILL: Preferred technologies, frameworks, and patterns]
|
|
75
|
+
|
|
76
|
+
## Governance
|
|
77
|
+
- **Ratification Date**: [TO FILL]
|
|
78
|
+
- **Last Amended**: [TO FILL]
|
|
79
|
+
- **Version**: 1.0.0
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 5. Setup VS Code Configuration
|
|
83
|
+
|
|
84
|
+
If the project uses VS Code, suggest adding to `.vscode/settings.json`:
|
|
85
|
+
|
|
86
|
+
```json
|
|
87
|
+
{
|
|
88
|
+
"mcp": {
|
|
89
|
+
"servers": {
|
|
90
|
+
"spec-kit": {
|
|
91
|
+
"command": "npx",
|
|
92
|
+
"args": ["-y", "spec-kit-mcp"]
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 6. Create Starter Workflow (Optional)
|
|
100
|
+
|
|
101
|
+
If user requests, create a custom workflow in `.spec-kit/workflows/`:
|
|
102
|
+
|
|
103
|
+
```yaml
|
|
104
|
+
name: custom-feature
|
|
105
|
+
displayName: "Custom Feature Workflow"
|
|
106
|
+
description: "Your custom workflow for this project"
|
|
107
|
+
template: functional-spec.md
|
|
108
|
+
|
|
109
|
+
steps:
|
|
110
|
+
- id: specify
|
|
111
|
+
name: "Create Specification"
|
|
112
|
+
action: call_agent
|
|
113
|
+
agent: SpecAgent
|
|
114
|
+
|
|
115
|
+
- id: plan
|
|
116
|
+
name: "Create Plan"
|
|
117
|
+
action: call_agent
|
|
118
|
+
agent: PlanAgent
|
|
119
|
+
|
|
120
|
+
- id: implement
|
|
121
|
+
name: "Implement"
|
|
122
|
+
action: call_agent
|
|
123
|
+
agent: SpecAgent
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### 7. Report Completion
|
|
127
|
+
|
|
128
|
+
Output:
|
|
129
|
+
```
|
|
130
|
+
✅ Spec-Kit initialized successfully!
|
|
131
|
+
|
|
132
|
+
Created:
|
|
133
|
+
📁 .spec-kit/workflows/ - Custom workflows
|
|
134
|
+
📁 .spec-kit/templates/ - Specification templates
|
|
135
|
+
📁 .spec-kit/memory/ - Project context
|
|
136
|
+
📁 specs/ - Specifications output
|
|
137
|
+
|
|
138
|
+
Next steps:
|
|
139
|
+
1. Edit .spec-kit/memory/constitution.md with your project principles
|
|
140
|
+
2. Run /speckit.specify to create your first specification
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Options
|
|
144
|
+
|
|
145
|
+
- `--force`: Overwrite existing .spec-kit directory
|
|
146
|
+
- `--minimal`: Create minimal structure without examples
|
|
147
|
+
- `--with-vscode`: Also configure VS Code MCP settings
|
|
148
|
+
|
|
149
|
+
## Handoffs
|
|
150
|
+
|
|
151
|
+
After initialization:
|
|
152
|
+
- **Set principles**: Edit `.spec-kit/memory/constitution.md`
|
|
153
|
+
- **Create spec**: `/speckit.specify` - Start creating specifications
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a technical implementation plan from a specification. Specify your tech stack and architecture choices.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /speckit.plan - Create Implementation Plan
|
|
6
|
+
|
|
7
|
+
## User Input
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
$ARGUMENTS
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
You **MUST** consider the user input before proceeding (if not empty).
|
|
14
|
+
|
|
15
|
+
## Outline
|
|
16
|
+
|
|
17
|
+
You are creating a technical implementation plan. Follow this workflow:
|
|
18
|
+
|
|
19
|
+
### 1. Setup Check
|
|
20
|
+
|
|
21
|
+
First, locate the specification:
|
|
22
|
+
- Check for recent spec files in `specs/` directory
|
|
23
|
+
- If user provides a spec path, use that
|
|
24
|
+
- If no spec found, inform user to run `/speckit.specify` first
|
|
25
|
+
|
|
26
|
+
### 2. Parse Tech Stack from Input
|
|
27
|
+
|
|
28
|
+
Extract technology choices from user input:
|
|
29
|
+
- **Language/Runtime**: Python, Node.js, .NET, etc.
|
|
30
|
+
- **Framework**: React, FastAPI, ASP.NET, etc.
|
|
31
|
+
- **Database**: PostgreSQL, MongoDB, etc.
|
|
32
|
+
- **Infrastructure**: Docker, Kubernetes, Azure, etc.
|
|
33
|
+
- **Other tools**: Testing frameworks, CI/CD, etc.
|
|
34
|
+
|
|
35
|
+
If tech stack not specified, ask the user to provide it.
|
|
36
|
+
|
|
37
|
+
### 3. Load Specification
|
|
38
|
+
|
|
39
|
+
Read the specification file and extract:
|
|
40
|
+
- Functional requirements
|
|
41
|
+
- Non-functional requirements
|
|
42
|
+
- User stories
|
|
43
|
+
- Dependencies
|
|
44
|
+
- Constraints
|
|
45
|
+
|
|
46
|
+
### 4. Generate Research Document (Phase 0)
|
|
47
|
+
|
|
48
|
+
Create `specs/{feature}/research.md` covering:
|
|
49
|
+
|
|
50
|
+
1. **Tech Stack Analysis**
|
|
51
|
+
- Evaluate chosen technologies against requirements
|
|
52
|
+
- Identify potential issues or limitations
|
|
53
|
+
- Research latest versions and best practices
|
|
54
|
+
|
|
55
|
+
2. **Architecture Options**
|
|
56
|
+
- Propose 2-3 architecture approaches
|
|
57
|
+
- Pros/cons for each
|
|
58
|
+
- Recommendation with justification
|
|
59
|
+
|
|
60
|
+
3. **Third-Party Dependencies**
|
|
61
|
+
- Required libraries and packages
|
|
62
|
+
- Version recommendations
|
|
63
|
+
- License considerations
|
|
64
|
+
|
|
65
|
+
4. **Technical Decisions Log**
|
|
66
|
+
- Decision records for key choices
|
|
67
|
+
- Alternatives considered
|
|
68
|
+
- Rationale for decisions
|
|
69
|
+
|
|
70
|
+
### 5. Generate Design Documents (Phase 1)
|
|
71
|
+
|
|
72
|
+
Create these documents in `specs/{feature}/`:
|
|
73
|
+
|
|
74
|
+
**data-model.md** (if applicable):
|
|
75
|
+
- Entity definitions
|
|
76
|
+
- Relationships
|
|
77
|
+
- Database schema
|
|
78
|
+
- Sample data
|
|
79
|
+
|
|
80
|
+
**contracts/** (if applicable):
|
|
81
|
+
- API specifications (OpenAPI/Swagger format)
|
|
82
|
+
- Message formats
|
|
83
|
+
- Interface definitions
|
|
84
|
+
|
|
85
|
+
**quickstart.md**:
|
|
86
|
+
- Development environment setup
|
|
87
|
+
- Build and run instructions
|
|
88
|
+
- Integration test scenarios
|
|
89
|
+
|
|
90
|
+
### 6. Generate Implementation Plan
|
|
91
|
+
|
|
92
|
+
Create `specs/{feature}/plan.md` with:
|
|
93
|
+
|
|
94
|
+
1. **Summary**
|
|
95
|
+
- Feature overview
|
|
96
|
+
- Tech stack summary
|
|
97
|
+
- Estimated complexity
|
|
98
|
+
|
|
99
|
+
2. **Technical Context**
|
|
100
|
+
- Architecture diagram (text-based)
|
|
101
|
+
- System components
|
|
102
|
+
- Integration points
|
|
103
|
+
|
|
104
|
+
3. **Project Structure**
|
|
105
|
+
- Directory layout
|
|
106
|
+
- Key files and their purposes
|
|
107
|
+
- Module organization
|
|
108
|
+
|
|
109
|
+
4. **Implementation Phases**
|
|
110
|
+
- Phase breakdown with dependencies
|
|
111
|
+
- Deliverables per phase
|
|
112
|
+
- Risk mitigation for each phase
|
|
113
|
+
|
|
114
|
+
5. **Quality Gates**
|
|
115
|
+
- Code review requirements
|
|
116
|
+
- Testing requirements
|
|
117
|
+
- Performance benchmarks
|
|
118
|
+
|
|
119
|
+
### 7. Report Completion
|
|
120
|
+
|
|
121
|
+
Output:
|
|
122
|
+
- Path to created plan files
|
|
123
|
+
- Summary of technical decisions
|
|
124
|
+
- List of any issues needing resolution
|
|
125
|
+
- Next step: `/speckit.tasks` to break down into actionable tasks
|
|
126
|
+
|
|
127
|
+
## Key Rules
|
|
128
|
+
|
|
129
|
+
### Plan Quality Checks
|
|
130
|
+
- Each phase should have clear entry/exit criteria
|
|
131
|
+
- Dependencies between phases must be explicit
|
|
132
|
+
- Estimates should account for testing and documentation
|
|
133
|
+
- Risks should have mitigation strategies
|
|
134
|
+
|
|
135
|
+
### Architecture Principles
|
|
136
|
+
- Favor simplicity over complexity
|
|
137
|
+
- Consider maintainability and testability
|
|
138
|
+
- Plan for observability (logging, monitoring)
|
|
139
|
+
- Document security considerations
|
|
140
|
+
|
|
141
|
+
## Handoffs
|
|
142
|
+
|
|
143
|
+
After completing the plan, suggest:
|
|
144
|
+
- **Generate tasks**: `/speckit.tasks` - Break plan into actionable tasks
|
|
145
|
+
- **Create checklist**: `/speckit.checklist` - Generate quality checklist
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a functional specification from requirements or an Azure DevOps work item. Focus on WHAT you want to build, not the tech stack.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /speckit.specify - Create Specification
|
|
6
|
+
|
|
7
|
+
## User Input
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
$ARGUMENTS
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
You **MUST** consider the user input before proceeding (if not empty).
|
|
14
|
+
|
|
15
|
+
## Outline
|
|
16
|
+
|
|
17
|
+
You are creating a functional specification document. Follow this workflow:
|
|
18
|
+
|
|
19
|
+
### 1. Setup Check
|
|
20
|
+
|
|
21
|
+
First, verify the Spec-Kit environment:
|
|
22
|
+
- Check if `.spec-kit/` directory exists
|
|
23
|
+
- If not, inform the user to run `/speckit.init` first
|
|
24
|
+
|
|
25
|
+
### 2. Parse Requirements Source
|
|
26
|
+
|
|
27
|
+
Determine the source of requirements from user input:
|
|
28
|
+
|
|
29
|
+
**Option A: Azure DevOps Work Item**
|
|
30
|
+
- If input contains an ADO work item ID (e.g., "#12345", "AB#12345", "Feature 12345")
|
|
31
|
+
- Use the `fetch_ado_workitem` MCP tool to retrieve work item data
|
|
32
|
+
|
|
33
|
+
**Option B: Direct Description**
|
|
34
|
+
- If input is a feature description
|
|
35
|
+
- Parse the description for key concepts: actors, actions, data, constraints
|
|
36
|
+
|
|
37
|
+
### 3. Analyze Requirements
|
|
38
|
+
|
|
39
|
+
For the provided requirements, identify:
|
|
40
|
+
1. **Core user need** and business value
|
|
41
|
+
2. **Explicit requirements** - what was directly stated
|
|
42
|
+
3. **Implicit requirements** - reasonable inferences from context
|
|
43
|
+
4. **Assumptions** - things that need validation
|
|
44
|
+
5. **Risks and dependencies**
|
|
45
|
+
6. **Edge cases and error scenarios**
|
|
46
|
+
|
|
47
|
+
### 4. Generate Specification
|
|
48
|
+
|
|
49
|
+
Load the template from `.spec-kit/templates/functional-spec.md` and fill it with:
|
|
50
|
+
|
|
51
|
+
1. **Metadata Section**
|
|
52
|
+
- Title, date, version, status
|
|
53
|
+
- Link to Azure DevOps work item (if applicable)
|
|
54
|
+
|
|
55
|
+
2. **Overview**
|
|
56
|
+
- Purpose (the problem being solved)
|
|
57
|
+
- Scope (what's in/out)
|
|
58
|
+
- Background context
|
|
59
|
+
|
|
60
|
+
3. **Requirements**
|
|
61
|
+
- Functional requirements with IDs and priorities (Must Have/Should Have/Could Have)
|
|
62
|
+
- Non-functional requirements (performance, security, etc.)
|
|
63
|
+
- Acceptance criteria in Given/When/Then format
|
|
64
|
+
|
|
65
|
+
4. **User Experience**
|
|
66
|
+
- User personas
|
|
67
|
+
- User stories (As a... I want... So that...)
|
|
68
|
+
- User flow descriptions
|
|
69
|
+
|
|
70
|
+
5. **Technical Considerations**
|
|
71
|
+
- Dependencies
|
|
72
|
+
- Constraints
|
|
73
|
+
- Data requirements
|
|
74
|
+
|
|
75
|
+
### 5. Handle Ambiguity
|
|
76
|
+
|
|
77
|
+
For unclear aspects:
|
|
78
|
+
- **Make informed guesses** based on context and industry standards
|
|
79
|
+
- **Document assumptions** in the Assumptions section
|
|
80
|
+
- **Limit clarifications**: Maximum 3 `[NEEDS CLARIFICATION]` markers for critical decisions only
|
|
81
|
+
|
|
82
|
+
Only use `[NEEDS CLARIFICATION]` when:
|
|
83
|
+
- The choice significantly impacts feature scope or user experience
|
|
84
|
+
- Multiple reasonable interpretations exist with different implications
|
|
85
|
+
- No reasonable default exists
|
|
86
|
+
|
|
87
|
+
### 6. Save Specification
|
|
88
|
+
|
|
89
|
+
Save the specification to:
|
|
90
|
+
```
|
|
91
|
+
specs/{context_id}-spec.md
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
If no context ID is provided, create a timestamped filename or ask for a feature short-name.
|
|
95
|
+
|
|
96
|
+
### 7. Report Completion
|
|
97
|
+
|
|
98
|
+
Output:
|
|
99
|
+
- Path to created specification file
|
|
100
|
+
- Summary of requirements captured
|
|
101
|
+
- List of assumptions made
|
|
102
|
+
- Any `[NEEDS CLARIFICATION]` items that need user input
|
|
103
|
+
- Next step suggestion: `/speckit.plan` to create implementation plan
|
|
104
|
+
|
|
105
|
+
## Quick Guidelines
|
|
106
|
+
|
|
107
|
+
### Writing Style
|
|
108
|
+
- Use active voice and clear, concise language
|
|
109
|
+
- Include concrete examples for complex requirements
|
|
110
|
+
- Define all technical terms and acronyms
|
|
111
|
+
- Use tables for structured data (requirements, test cases)
|
|
112
|
+
|
|
113
|
+
### Quality Checks
|
|
114
|
+
- Every requirement should be testable and unambiguous
|
|
115
|
+
- Each requirement should have a unique ID
|
|
116
|
+
- Acceptance criteria should be in Given/When/Then format
|
|
117
|
+
- No undefined placeholders in final output (except intentional `[NEEDS CLARIFICATION]`)
|
|
118
|
+
|
|
119
|
+
## Handoffs
|
|
120
|
+
|
|
121
|
+
After completing the specification, suggest:
|
|
122
|
+
- **Clarify requirements**: `/speckit.clarify` - If there are `[NEEDS CLARIFICATION]` items
|
|
123
|
+
- **Create implementation plan**: `/speckit.plan` - Once specification is approved
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate actionable task breakdown from the implementation plan. Creates a tasks.md file with ordered, dependency-aware tasks.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /speckit.tasks - Generate Task Breakdown
|
|
6
|
+
|
|
7
|
+
## User Input
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
$ARGUMENTS
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
You **MUST** consider the user input before proceeding (if not empty).
|
|
14
|
+
|
|
15
|
+
## Outline
|
|
16
|
+
|
|
17
|
+
You are generating an actionable task list from the implementation plan. Follow this workflow:
|
|
18
|
+
|
|
19
|
+
### 1. Load Design Documents
|
|
20
|
+
|
|
21
|
+
Read from the feature's spec directory:
|
|
22
|
+
- **Required**: `plan.md` (tech stack, libraries, structure)
|
|
23
|
+
- **Required**: `spec.md` (user stories with priorities)
|
|
24
|
+
- **Optional**: `data-model.md` (entities)
|
|
25
|
+
- **Optional**: `contracts/` (API endpoints)
|
|
26
|
+
- **Optional**: `research.md` (decisions)
|
|
27
|
+
|
|
28
|
+
If required files are missing, inform user to run `/speckit.plan` first.
|
|
29
|
+
|
|
30
|
+
### 2. Extract Implementation Context
|
|
31
|
+
|
|
32
|
+
From the documents, identify:
|
|
33
|
+
- User stories with their priorities (P1, P2, P3)
|
|
34
|
+
- Tech stack and frameworks
|
|
35
|
+
- Database entities and relationships
|
|
36
|
+
- API endpoints
|
|
37
|
+
- External dependencies
|
|
38
|
+
|
|
39
|
+
### 3. Generate Task Breakdown
|
|
40
|
+
|
|
41
|
+
Create `specs/{feature}/tasks.md` with this structure:
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
# Tasks: {Feature Name}
|
|
45
|
+
|
|
46
|
+
**Input**: Design documents from `/specs/{feature}/`
|
|
47
|
+
**Generated**: {Date}
|
|
48
|
+
|
|
49
|
+
## Task Format
|
|
50
|
+
|
|
51
|
+
- [ ] T### [P?] [Story?] Description - `path/to/file.ext`
|
|
52
|
+
|
|
53
|
+
Legend:
|
|
54
|
+
- T###: Task ID (sequential)
|
|
55
|
+
- [P]: Can be executed in parallel with other [P] tasks
|
|
56
|
+
- [Story?]: Associated user story ID (if applicable)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 4. Phase Structure
|
|
60
|
+
|
|
61
|
+
Organize tasks into these phases:
|
|
62
|
+
|
|
63
|
+
**Phase 1: Setup (Shared Infrastructure)**
|
|
64
|
+
- Project initialization
|
|
65
|
+
- Dependency installation
|
|
66
|
+
- Configuration files
|
|
67
|
+
- Development environment setup
|
|
68
|
+
|
|
69
|
+
**Phase 2: Foundational (Blocking Prerequisites)**
|
|
70
|
+
- Database schema and migrations
|
|
71
|
+
- Base models/entities
|
|
72
|
+
- Authentication/authorization framework
|
|
73
|
+
- Core utilities and helpers
|
|
74
|
+
- Error handling infrastructure
|
|
75
|
+
|
|
76
|
+
⚠️ **CRITICAL**: No user story work begins until Phase 2 is complete.
|
|
77
|
+
|
|
78
|
+
**Phase 3+: User Stories (One Phase per Story)**
|
|
79
|
+
For each user story in priority order:
|
|
80
|
+
- Tests (if requested) → Models → Services → Endpoints → Integration
|
|
81
|
+
- Each phase should be independently testable
|
|
82
|
+
- Include checkpoint validation
|
|
83
|
+
|
|
84
|
+
**Final Phase: Polish & Cross-Cutting**
|
|
85
|
+
- Code cleanup and refactoring
|
|
86
|
+
- Documentation updates
|
|
87
|
+
- Performance optimization
|
|
88
|
+
- Security hardening
|
|
89
|
+
|
|
90
|
+
### 5. Task Generation Rules
|
|
91
|
+
|
|
92
|
+
Each task MUST:
|
|
93
|
+
- Be completable in 1-3 days by a single developer
|
|
94
|
+
- Have a clear verb + object title
|
|
95
|
+
- Include the file path(s) affected
|
|
96
|
+
- Have explicit dependencies noted
|
|
97
|
+
|
|
98
|
+
Mark with `[P]` if the task can run in parallel with others at the same level.
|
|
99
|
+
|
|
100
|
+
### 6. Generate Dependency Graph
|
|
101
|
+
|
|
102
|
+
Add a section showing:
|
|
103
|
+
- Task dependencies (which tasks must complete first)
|
|
104
|
+
- Parallel execution opportunities
|
|
105
|
+
- Critical path identification
|
|
106
|
+
|
|
107
|
+
### 7. Report Completion
|
|
108
|
+
|
|
109
|
+
Output:
|
|
110
|
+
- Path to generated `tasks.md`
|
|
111
|
+
- Total task count
|
|
112
|
+
- Task count per user story
|
|
113
|
+
- Parallel execution opportunities identified
|
|
114
|
+
- Suggested MVP scope (typically User Story 1 only)
|
|
115
|
+
|
|
116
|
+
## Task Template
|
|
117
|
+
|
|
118
|
+
```markdown
|
|
119
|
+
## Phase 3: User Story 1 - {Title} (Priority: P1) 🎯 MVP
|
|
120
|
+
|
|
121
|
+
**Goal**: {User story goal}
|
|
122
|
+
**Independent Test**: {How to verify this story works alone}
|
|
123
|
+
|
|
124
|
+
- [ ] T010 [US-1] Create {model} entity - `src/models/{model}.ts`
|
|
125
|
+
- [ ] T011 [P] [US-1] Create {model} repository - `src/repositories/{model}.ts`
|
|
126
|
+
- [ ] T012 [P] [US-1] Create {model} service - `src/services/{model}.ts`
|
|
127
|
+
- [ ] T013 [US-1] Create {endpoint} API endpoint - `src/api/{endpoint}.ts`
|
|
128
|
+
- [ ] T014 [US-1] Add integration tests - `tests/integration/{feature}.test.ts`
|
|
129
|
+
|
|
130
|
+
**Checkpoint**: Story 1 complete - run `npm test` and verify {criteria}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Handoffs
|
|
134
|
+
|
|
135
|
+
After completing the tasks, suggest:
|
|
136
|
+
- **Analyze plan**: `/speckit.analyze` - Cross-check consistency
|
|
137
|
+
- **Implement**: `/speckit.implement` - Start executing tasks
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "[TO FILL: Bug Title]"
|
|
3
|
+
workitem_id: "[TO FILL]"
|
|
4
|
+
type: Bugfix Report
|
|
5
|
+
version: "1.0"
|
|
6
|
+
status: Draft
|
|
7
|
+
author: "[TO FILL]"
|
|
8
|
+
created: "[TO FILL: Date]"
|
|
9
|
+
severity: "[Critical/High/Medium/Low]"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Bug Fix Report: [TO FILL: Bug Title]
|
|
13
|
+
|
|
14
|
+
## 1. Bug Summary
|
|
15
|
+
|
|
16
|
+
### 1.1 Description
|
|
17
|
+
[TO FILL: Clear, concise description of the bug]
|
|
18
|
+
|
|
19
|
+
### 1.2 Impact
|
|
20
|
+
- **Severity**: [Critical/High/Medium/Low]
|
|
21
|
+
- **Affected Users**: [TO FILL: Who is affected]
|
|
22
|
+
- **Business Impact**: [TO FILL: How this affects the business]
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 2. Reproduction
|
|
27
|
+
|
|
28
|
+
### 2.1 Environment
|
|
29
|
+
| Component | Value |
|
|
30
|
+
|-----------|-------|
|
|
31
|
+
| OS | [TO FILL] |
|
|
32
|
+
| Browser/Runtime | [TO FILL] |
|
|
33
|
+
| Version | [TO FILL] |
|
|
34
|
+
|
|
35
|
+
### 2.2 Steps to Reproduce
|
|
36
|
+
1. [TO FILL: Step 1]
|
|
37
|
+
2. [TO FILL: Step 2]
|
|
38
|
+
3. [TO FILL: Step 3]
|
|
39
|
+
|
|
40
|
+
### 2.3 Expected Behavior
|
|
41
|
+
[TO FILL: What should happen]
|
|
42
|
+
|
|
43
|
+
### 2.4 Actual Behavior
|
|
44
|
+
[TO FILL: What actually happens]
|
|
45
|
+
|
|
46
|
+
### 2.5 Evidence
|
|
47
|
+
```
|
|
48
|
+
[TO FILL: Error messages, logs, screenshots]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 3. Root Cause Analysis
|
|
54
|
+
|
|
55
|
+
### 3.1 Investigation
|
|
56
|
+
[TO FILL: What was investigated and findings]
|
|
57
|
+
|
|
58
|
+
### 3.2 Root Cause
|
|
59
|
+
[TO FILL: The underlying cause of the bug]
|
|
60
|
+
|
|
61
|
+
### 3.3 Related Code
|
|
62
|
+
```
|
|
63
|
+
File: [path/to/file]
|
|
64
|
+
Line: [line numbers]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 4. Fix Proposal
|
|
70
|
+
|
|
71
|
+
### 4.1 Solution
|
|
72
|
+
[TO FILL: Proposed fix approach]
|
|
73
|
+
|
|
74
|
+
### 4.2 Changes Required
|
|
75
|
+
| File | Change |
|
|
76
|
+
|------|--------|
|
|
77
|
+
| [TO FILL] | [TO FILL] |
|
|
78
|
+
|
|
79
|
+
### 4.3 Risks
|
|
80
|
+
- [TO FILL: Any risks with the proposed fix]
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 5. Testing
|
|
85
|
+
|
|
86
|
+
### 5.1 Test Cases
|
|
87
|
+
| ID | Scenario | Expected Result |
|
|
88
|
+
|----|----------|-----------------|
|
|
89
|
+
| TC-001 | [TO FILL: Original bug scenario] | Bug no longer occurs |
|
|
90
|
+
| TC-002 | [TO FILL: Regression test] | Existing functionality intact |
|
|
91
|
+
|
|
92
|
+
### 5.2 Verification Steps
|
|
93
|
+
1. [TO FILL: How to verify the fix]
|
|
94
|
+
2. [TO FILL: Regression testing steps]
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 6. Deployment
|
|
99
|
+
|
|
100
|
+
### 6.1 Deployment Plan
|
|
101
|
+
- [ ] Code review completed
|
|
102
|
+
- [ ] Tests passing
|
|
103
|
+
- [ ] Staging verification
|
|
104
|
+
- [ ] Production deployment
|
|
105
|
+
|
|
106
|
+
### 6.2 Rollback Plan
|
|
107
|
+
[TO FILL: How to rollback if issues occur]
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 7. Post-Mortem (Optional)
|
|
112
|
+
|
|
113
|
+
### 7.1 Timeline
|
|
114
|
+
| Time | Event |
|
|
115
|
+
|------|-------|
|
|
116
|
+
| [TO FILL] | Bug reported |
|
|
117
|
+
| [TO FILL] | Investigation started |
|
|
118
|
+
| [TO FILL] | Root cause identified |
|
|
119
|
+
| [TO FILL] | Fix deployed |
|
|
120
|
+
|
|
121
|
+
### 7.2 Lessons Learned
|
|
122
|
+
- [TO FILL: What can we improve to prevent similar issues]
|
|
123
|
+
|
|
124
|
+
### 7.3 Action Items
|
|
125
|
+
| Item | Owner | Due Date |
|
|
126
|
+
|------|-------|----------|
|
|
127
|
+
| [TO FILL] | [TO FILL] | [TO FILL] |
|