specpulse 1.0.6__py3-none-any.whl → 1.1.0__py3-none-any.whl
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.
- specpulse/__init__.py +1 -1
- specpulse/cli/main.py +598 -617
- specpulse/core/specpulse.py +1110 -1105
- specpulse/resources/commands/claude/sp-continue.md +203 -0
- specpulse/resources/commands/claude/{plan.md → sp-plan.md} +53 -38
- specpulse/resources/commands/claude/sp-pulse.md +142 -0
- specpulse/resources/commands/claude/{spec.md → sp-spec.md} +36 -23
- specpulse/resources/commands/claude/sp-status.md +170 -0
- specpulse/resources/commands/claude/{task.md → sp-task.md} +68 -48
- specpulse/resources/commands/gemini/sp-continue.toml +56 -0
- specpulse/resources/commands/gemini/sp-plan.toml +68 -0
- specpulse/resources/commands/gemini/{pulse.toml → sp-pulse.toml} +12 -6
- specpulse/resources/commands/gemini/sp-spec.toml +54 -0
- specpulse/resources/commands/gemini/sp-status.toml +61 -0
- specpulse/resources/commands/gemini/sp-task.toml +79 -0
- specpulse/resources/memory/constitution.md +5 -5
- specpulse/resources/memory/context.md +12 -1
- specpulse/resources/scripts/{pulse-init.py → sp-pulse-init.py} +6 -6
- specpulse/resources/scripts/{pulse-init.sh → sp-pulse-init.sh} +95 -95
- specpulse/resources/scripts/{pulse-plan.py → sp-pulse-plan.py} +32 -7
- specpulse/resources/scripts/{pulse-plan.sh → sp-pulse-plan.sh} +136 -126
- specpulse/resources/scripts/{pulse-spec.py → sp-pulse-spec.py} +26 -6
- specpulse/resources/scripts/{pulse-spec.sh → sp-pulse-spec.sh} +126 -103
- specpulse/resources/scripts/{pulse-task.py → sp-pulse-task.py} +42 -6
- specpulse/resources/scripts/{pulse-task.sh → sp-pulse-task.sh} +32 -16
- specpulse/resources/templates/plan.md +206 -206
- specpulse/resources/templates/spec.md +125 -125
- specpulse/resources/templates/task.md +164 -163
- {specpulse-1.0.6.dist-info → specpulse-1.1.0.dist-info}/METADATA +35 -35
- specpulse-1.1.0.dist-info/RECORD +41 -0
- specpulse/resources/commands/claude/pulse.md +0 -91
- specpulse/resources/commands/gemini/plan.toml +0 -59
- specpulse/resources/commands/gemini/spec.toml +0 -45
- specpulse/resources/commands/gemini/task.toml +0 -69
- specpulse/resources/scripts/pulse-init.ps1 +0 -186
- specpulse/resources/scripts/pulse-plan.ps1 +0 -251
- specpulse/resources/scripts/pulse-spec.ps1 +0 -185
- specpulse/resources/scripts/pulse-task.ps1 +0 -263
- specpulse-1.0.6.dist-info/RECORD +0 -41
- {specpulse-1.0.6.dist-info → specpulse-1.1.0.dist-info}/WHEEL +0 -0
- {specpulse-1.0.6.dist-info → specpulse-1.1.0.dist-info}/entry_points.txt +0 -0
- {specpulse-1.0.6.dist-info → specpulse-1.1.0.dist-info}/licenses/LICENSE +0 -0
- {specpulse-1.0.6.dist-info → specpulse-1.1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,170 @@
|
|
1
|
+
---
|
2
|
+
name: sp-status
|
3
|
+
description: Track progress across all features and specific feature details
|
4
|
+
allowed_tools:
|
5
|
+
- Read
|
6
|
+
- Write
|
7
|
+
- Edit
|
8
|
+
- Bash
|
9
|
+
- TodoWrite
|
10
|
+
---
|
11
|
+
|
12
|
+
# /sp-status Command
|
13
|
+
|
14
|
+
Track progress across all features or get detailed status of a specific feature.
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
```
|
18
|
+
/sp-status [feature-name]
|
19
|
+
```
|
20
|
+
|
21
|
+
## Implementation
|
22
|
+
|
23
|
+
When called with `/sp-status $ARGUMENTS`, I will:
|
24
|
+
|
25
|
+
1. **Parse arguments** to determine scope:
|
26
|
+
- If feature name provided: Show detailed status for that feature
|
27
|
+
- Otherwise: Show overview of all features
|
28
|
+
|
29
|
+
2. **Read feature context** from `memory/context.md`
|
30
|
+
|
31
|
+
3. **For `/sp-status` (all features overview):**
|
32
|
+
- Scan all feature directories (specs/*, plans/*, tasks/*)
|
33
|
+
- Count features by status: active, completed, in_progress, paused
|
34
|
+
- Calculate overall project progress
|
35
|
+
- Show summary statistics:
|
36
|
+
```
|
37
|
+
TOTAL_FEATURES=5
|
38
|
+
ACTIVE_FEATURES=2
|
39
|
+
COMPLETED_FEATURES=1
|
40
|
+
IN_PROGRESS_FEATURES=1
|
41
|
+
PAUSED_FEATURES=1
|
42
|
+
OVERALL_PROGRESS=42%
|
43
|
+
```
|
44
|
+
- List all features with their status and progress percentage
|
45
|
+
- Highlight current active feature from context
|
46
|
+
|
47
|
+
4. **For `/sp-status [feature-name]` (detailed feature status):**
|
48
|
+
- Detect feature directory (using context detection logic)
|
49
|
+
- Read all task files in the feature's tasks directory
|
50
|
+
- Calculate completion percentage based on task status
|
51
|
+
- Show detailed breakdown:
|
52
|
+
```
|
53
|
+
FEATURE: 001-user-authentication
|
54
|
+
STATUS: active
|
55
|
+
PROGRESS: 65%
|
56
|
+
SPECS: 2 files
|
57
|
+
PLANS: 1 file
|
58
|
+
TASKS: 1 file (25 total tasks)
|
59
|
+
COMPLETED_TASKS: 16
|
60
|
+
IN_PROGRESS_TASKS: 5
|
61
|
+
BLOCKED_TASKS: 1
|
62
|
+
LAST_UPDATED: 2025-01-09
|
63
|
+
```
|
64
|
+
- Show phase-by-phase progress
|
65
|
+
- List any blockers or issues
|
66
|
+
- Provide recommendations for next steps
|
67
|
+
|
68
|
+
5. **Progress calculation logic:**
|
69
|
+
- Scan task files for completion status: `[x]` for completed, `[ ]` for pending, `[-]` for in progress, `[!]` for blocked
|
70
|
+
- Calculate percentages: completed / total * 100
|
71
|
+
- Track trends over time if historical data available
|
72
|
+
|
73
|
+
## Feature Status Indicators
|
74
|
+
|
75
|
+
- **Active**: Currently being worked on (in context.md)
|
76
|
+
- **Completed**: All tasks marked as complete
|
77
|
+
- **In Progress**: Has task files with some completed tasks
|
78
|
+
- **Paused**: No recent activity, not all tasks complete
|
79
|
+
- **Blocked**: Has blocked tasks preventing progress
|
80
|
+
|
81
|
+
## Examples
|
82
|
+
|
83
|
+
### All features overview
|
84
|
+
```
|
85
|
+
User: /sp-status
|
86
|
+
```
|
87
|
+
|
88
|
+
I will display:
|
89
|
+
```
|
90
|
+
## Feature Status Overview
|
91
|
+
|
92
|
+
**Total Features**: 5
|
93
|
+
**Overall Progress**: 42%
|
94
|
+
|
95
|
+
### Active Features
|
96
|
+
- [🔄] 001-user-authentication (65%)
|
97
|
+
- [🔄] 002-payment-processing (23%)
|
98
|
+
|
99
|
+
### Completed Features
|
100
|
+
- [✅] 000-project-setup (100%)
|
101
|
+
|
102
|
+
### In Progress Features
|
103
|
+
- [⏳] 003-user-profile (45%)
|
104
|
+
|
105
|
+
### Paused Features
|
106
|
+
- [⏸️] 004-notifications (78%)
|
107
|
+
|
108
|
+
### Current Context
|
109
|
+
**Active Feature**: 001-user-authentication
|
110
|
+
**Last Updated**: 2025-01-09
|
111
|
+
```
|
112
|
+
|
113
|
+
### Specific feature status
|
114
|
+
```
|
115
|
+
User: /sp-status user-authentication
|
116
|
+
```
|
117
|
+
|
118
|
+
I will display:
|
119
|
+
```
|
120
|
+
## Feature Status: 001-user-authentication
|
121
|
+
|
122
|
+
**Overall Progress**: 65%
|
123
|
+
**Status**: Active
|
124
|
+
**Created**: 2025-01-09
|
125
|
+
**Last Updated**: 2025-01-09
|
126
|
+
|
127
|
+
### Files
|
128
|
+
- **Specifications**: spec-001.md, spec-002.md (2 files)
|
129
|
+
- **Plans**: plan-001.md (1 file)
|
130
|
+
- **Tasks**: task-001.md (1 file, 25 total tasks)
|
131
|
+
|
132
|
+
### Task Progress
|
133
|
+
- **Completed**: 16 tasks (64%)
|
134
|
+
- **In Progress**: 5 tasks (20%)
|
135
|
+
- **Blocked**: 1 task (4%)
|
136
|
+
- **Pending**: 3 tasks (12%)
|
137
|
+
|
138
|
+
### Phase Progress
|
139
|
+
- **Phase 0 (Critical Path)**: 80% complete
|
140
|
+
- **Phase 1 (Foundation)**: 70% complete
|
141
|
+
- **Phase 2 (Core Features)**: 50% complete
|
142
|
+
- **Phase 3 (Polish)**: 20% complete
|
143
|
+
- **Phase 4 (Testing)**: 0% complete
|
144
|
+
|
145
|
+
### Blockers
|
146
|
+
- T015: Database schema approval pending
|
147
|
+
|
148
|
+
### Recommendations
|
149
|
+
1. Resolve database schema blocker (T015)
|
150
|
+
2. Continue with Phase 2 core features
|
151
|
+
3. Consider starting Phase 4 testing in parallel
|
152
|
+
```
|
153
|
+
|
154
|
+
## Integration Features
|
155
|
+
|
156
|
+
- **Multi-feature tracking** across entire project
|
157
|
+
- **Progress percentage calculation** from task completion
|
158
|
+
- **Status categorization** with visual indicators
|
159
|
+
- **Blocker identification** and resolution tracking
|
160
|
+
- **Context-aware operation** using memory/context.md
|
161
|
+
- **Cross-platform compatibility** with proper path handling
|
162
|
+
- **Historical trend tracking** for progress over time
|
163
|
+
|
164
|
+
## Error Handling
|
165
|
+
|
166
|
+
- Feature directory validation
|
167
|
+
- Task file parsing with error recovery
|
168
|
+
- Progress calculation validation
|
169
|
+
- Context file fallback handling
|
170
|
+
- Permission and access error handling
|
@@ -1,5 +1,5 @@
|
|
1
1
|
---
|
2
|
-
name: task
|
2
|
+
name: sp-task
|
3
3
|
description: Generate and manage task breakdowns using AI-optimized templates
|
4
4
|
allowed_tools:
|
5
5
|
- Read
|
@@ -9,50 +9,60 @@ allowed_tools:
|
|
9
9
|
- TodoWrite
|
10
10
|
---
|
11
11
|
|
12
|
-
# /task Command
|
12
|
+
# /sp-task Command
|
13
13
|
|
14
14
|
Generate task breakdowns from implementation plans using SpecPulse methodology with AI-optimized templates and enhanced validation.
|
15
15
|
|
16
16
|
## Usage
|
17
17
|
```
|
18
|
-
/task [action] [feature-directory]
|
18
|
+
/sp-task [action] [feature-directory]
|
19
19
|
```
|
20
20
|
|
21
21
|
Actions: `breakdown`, `update`, `status`, `execute` (defaults to `breakdown`)
|
22
22
|
|
23
23
|
## Implementation
|
24
24
|
|
25
|
-
When called with `/task $ARGUMENTS`, I will:
|
25
|
+
When called with `/sp-task $ARGUMENTS`, I will:
|
26
26
|
|
27
|
-
1. **
|
27
|
+
1. **Detect current feature context**:
|
28
|
+
- Read `memory/context.md` for current feature metadata
|
29
|
+
- Use git branch name if available (e.g., `001-user-authentication`)
|
30
|
+
- Fall back to most recently created feature directory
|
31
|
+
- If no context found, ask user to specify feature or run `/sp-pulse` first
|
32
|
+
|
33
|
+
2. **Parse arguments** to determine action:
|
28
34
|
- If `update`: Update task status and dependencies
|
29
35
|
- If `status`: Show comprehensive progress with metrics
|
30
36
|
- If `execute`: Execute task with script integration
|
31
37
|
- Otherwise: Generate task breakdown
|
32
38
|
|
33
|
-
|
39
|
+
3. **For `/sp-task breakdown` or `/sp-task`:**
|
34
40
|
|
35
|
-
a. **
|
41
|
+
a. **Show existing plan files**: List all plan-XXX.md files in current feature directory
|
42
|
+
b. **Ask user to select**: Which plan file to base tasks on
|
43
|
+
c. **Enhanced validation** using cross-platform script:
|
36
44
|
```bash
|
37
45
|
# Cross-platform detection
|
38
46
|
if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; then
|
39
|
-
|
47
|
+
python scripts/sp-pulse-task.py "$FEATURE_DIR"
|
40
48
|
else
|
41
|
-
bash scripts/pulse-task.sh "$FEATURE_DIR" || python scripts/pulse-task.py "$FEATURE_DIR"
|
49
|
+
bash scripts/sp-pulse-task.sh "$FEATURE_DIR" || python scripts/sp-pulse-task.py "$FEATURE_DIR"
|
42
50
|
fi
|
43
51
|
```
|
44
52
|
|
45
|
-
|
53
|
+
d. **Read implementation plan** from selected plan file
|
46
54
|
|
47
|
-
|
55
|
+
e. **Generate AI-optimized tasks** using template variables:
|
48
56
|
```markdown
|
49
57
|
# Task List: {{ feature_name }}
|
50
58
|
## Metadata
|
51
59
|
- **Total Tasks**: {{ task_count }}
|
52
60
|
- **Estimated Duration**: {{ total_duration }}
|
61
|
+
- **Plan Reference**: plan-{{ plan_version }}.md
|
62
|
+
- **Task Version**: {{ task_version }}
|
53
63
|
```
|
54
64
|
|
55
|
-
|
65
|
+
f. **Generate structured task categories**:
|
56
66
|
- **Constitutional Gates Compliance**: Pre-implementation validation
|
57
67
|
- **Critical Path (Phase 0)**: Tasks that impact timeline
|
58
68
|
- **Parallel Groups**: Tasks that can execute simultaneously
|
@@ -60,7 +70,7 @@ When called with `/task $ARGUMENTS`, I will:
|
|
60
70
|
- **Execution Schedule**: Time-based task organization
|
61
71
|
- **Progress Tracking**: YAML configuration for monitoring
|
62
72
|
|
63
|
-
|
73
|
+
g. **For each task**, generate comprehensive metadata:
|
64
74
|
- **ID**: T[XXX] format (T001, T002)
|
65
75
|
- **Type**: setup, development, testing, documentation
|
66
76
|
- **Priority**: HIGH, MEDIUM, LOW
|
@@ -72,63 +82,73 @@ When called with `/task $ARGUMENTS`, I will:
|
|
72
82
|
- **Assignable**: Role/skill required
|
73
83
|
- **Parallel**: Whether can run in parallel [P]
|
74
84
|
|
75
|
-
|
76
|
-
```
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
wait
|
85
|
+
h. **Generate AI execution guidelines** with workflow integration:
|
86
|
+
```markdown
|
87
|
+
## AI Execution Strategy
|
88
|
+
### Parallel Tasks (can be worked on simultaneously):
|
89
|
+
- T001, T002, T003: Independent tasks, no dependencies
|
90
|
+
### Sequential Tasks (must be completed in order):
|
91
|
+
- T004 → T005 → T006: Dependency chain
|
83
92
|
```
|
84
93
|
|
85
|
-
|
94
|
+
i. **Version management**: Check existing task files and create next version (task-001.md, task-002.md, etc.)
|
95
|
+
j. **Write comprehensive task breakdown** to `tasks/XXX-feature/task-XXX.md`
|
86
96
|
|
87
|
-
|
88
|
-
|
97
|
+
4. **For `/sp-task update`:**
|
98
|
+
a. **Show existing task files**: List all task-XXX.md files in current feature directory
|
99
|
+
b. **Ask user to select**: Which task file to update
|
100
|
+
c. **Enhanced analysis** using cross-platform script:
|
89
101
|
```bash
|
90
102
|
# Cross-platform detection
|
91
103
|
if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; then
|
92
|
-
|
104
|
+
python scripts/sp-pulse-task.py "$FEATURE_DIR"
|
93
105
|
else
|
94
|
-
bash scripts/pulse-task.sh "$FEATURE_DIR" || python scripts/pulse-task.py "$FEATURE_DIR"
|
106
|
+
bash scripts/sp-pulse-task.sh "$FEATURE_DIR" || python scripts/sp-pulse-task.py "$FEATURE_DIR"
|
95
107
|
fi
|
96
108
|
```
|
97
|
-
|
109
|
+
d. **Parse current tasks** from selected file with comprehensive status:
|
98
110
|
- Total tasks, completed, pending, blocked
|
99
111
|
- Parallel tasks identification
|
100
112
|
- Constitutional gates status
|
101
113
|
- Completion percentage calculation
|
102
|
-
|
114
|
+
e. **Interactive task updates**:
|
103
115
|
- Mark tasks as completed/in-progress/blocked
|
104
116
|
- Update dependencies and blockers
|
105
117
|
- Add newly discovered tasks with proper metadata
|
106
118
|
- Adjust estimates based on actual progress
|
107
|
-
|
119
|
+
f. **Generate updated progress tracking** YAML
|
108
120
|
|
109
|
-
|
110
|
-
|
121
|
+
5. **For `/sp-task status`:**
|
122
|
+
a. **Show existing task files**: List all task-XXX.md files in current feature directory
|
123
|
+
b. **Ask user to select**: Which task file to show status for
|
124
|
+
c. **Enhanced reporting** from script output:
|
111
125
|
```bash
|
112
126
|
TOTAL_TASKS=25
|
113
127
|
COMPLETED_TASKS=10
|
114
128
|
COMPLETION_PERCENTAGE=40%
|
115
129
|
CONSTITUTIONAL_GATES_PENDING=2
|
116
130
|
```
|
117
|
-
|
131
|
+
d. **Display comprehensive progress**:
|
118
132
|
- Overall completion percentage
|
119
133
|
- Phase-by-phase progress
|
120
134
|
- Blocker identification and resolution
|
121
135
|
- Velocity metrics and estimates
|
122
136
|
- Constitutional gates compliance status
|
123
137
|
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
138
|
+
6. **For `/sp-task execute`:**
|
139
|
+
a. **Show existing task files**: List all task-XXX.md files in current feature directory
|
140
|
+
b. **Ask user to select**: Which task file to execute from
|
141
|
+
c. **Ask user to specify**: Which specific task ID to execute
|
142
|
+
d. **Validate task readiness** using constitutional gates
|
143
|
+
e. **Execute task** using AI assistant capabilities:
|
144
|
+
```markdown
|
145
|
+
## Task Execution: {{ TASK_ID }}
|
146
|
+
**AI Assistant**: Claude/Gemini
|
147
|
+
**Method**: Direct implementation within AI session
|
148
|
+
**Status**: [ ] Pending → [-] In Progress → [x] Completed
|
129
149
|
```
|
130
|
-
|
131
|
-
|
150
|
+
f. **Track execution results** and update status
|
151
|
+
g. **Update progress tracking** automatically
|
132
152
|
|
133
153
|
## Enhanced Task Format
|
134
154
|
```markdown
|
@@ -170,16 +190,16 @@ Each task breakdown includes constitutional compliance validation:
|
|
170
190
|
|
171
191
|
### Generate task breakdown
|
172
192
|
```
|
173
|
-
User: /task breakdown
|
193
|
+
User: /sp-task breakdown
|
174
194
|
```
|
175
195
|
I will:
|
176
196
|
- Run: Cross-platform detection and execution
|
177
197
|
```bash
|
178
198
|
# Cross-platform detection
|
179
199
|
if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; then
|
180
|
-
|
200
|
+
python scripts/sp-pulse-task.py "$FEATURE_DIR"
|
181
201
|
else
|
182
|
-
bash scripts/pulse-task.sh "$FEATURE_DIR" || python scripts/pulse-task.py "$FEATURE_DIR"
|
202
|
+
bash scripts/sp-pulse-task.sh "$FEATURE_DIR" || python scripts/sp-pulse-task.py "$FEATURE_DIR"
|
183
203
|
fi
|
184
204
|
```
|
185
205
|
- Create: AI-optimized task structure with template variables
|
@@ -187,19 +207,19 @@ I will:
|
|
187
207
|
|
188
208
|
### Update task status
|
189
209
|
```
|
190
|
-
User: /task update mark T001-T005 as completed
|
210
|
+
User: /sp-task update mark T001-T005 as completed
|
191
211
|
```
|
192
212
|
I will update task status and recalculate progress metrics.
|
193
213
|
|
194
214
|
### Show comprehensive status
|
195
215
|
```
|
196
|
-
User: /task status
|
216
|
+
User: /sp-task status
|
197
217
|
```
|
198
218
|
I will display detailed progress with constitutional gates compliance.
|
199
219
|
|
200
220
|
### Execute specific task
|
201
221
|
```
|
202
|
-
User: /task execute T001
|
222
|
+
User: /sp-task execute T001
|
203
223
|
```
|
204
224
|
I will:
|
205
225
|
- Validate: Constitutional gates compliance and task readiness
|
@@ -207,16 +227,16 @@ I will:
|
|
207
227
|
```bash
|
208
228
|
# Cross-platform task execution
|
209
229
|
if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; then
|
210
|
-
|
230
|
+
python scripts/sp-pulse-task.py "$FEATURE_DIR" "execute:$TASK_ID"
|
211
231
|
else
|
212
|
-
bash scripts/pulse-task.sh "$FEATURE_DIR" "execute:$TASK_ID" || python scripts/pulse-task.py "$FEATURE_DIR" "execute:$TASK_ID"
|
232
|
+
bash scripts/sp-pulse-task.sh "$FEATURE_DIR" "execute:$TASK_ID" || python scripts/sp-pulse-task.py "$FEATURE_DIR" "execute:$TASK_ID"
|
213
233
|
fi
|
214
234
|
```
|
215
235
|
- Track: Results and update progress automatically
|
216
236
|
|
217
237
|
## Enhanced Features
|
218
238
|
|
219
|
-
- **Cross-platform script execution** with automatic detection (
|
239
|
+
- **Cross-platform script execution** with automatic detection (Bash/Python)
|
220
240
|
- **AI-optimized templates** with Jinja2-style variables
|
221
241
|
- **Enhanced script integration** for validation and execution
|
222
242
|
- **Constitutional gates compliance** tracking
|
@@ -0,0 +1,56 @@
|
|
1
|
+
description = "Switch context and continue work on a specific feature"
|
2
|
+
prompt = """
|
3
|
+
Handle the /sp-continue command with arguments: {{args}}
|
4
|
+
|
5
|
+
Parse arguments to extract feature name or ID
|
6
|
+
|
7
|
+
## Feature Detection:
|
8
|
+
1. Find feature directory using context detection:
|
9
|
+
- Search for matching feature directory (specs/*, plans/*, tasks/*)
|
10
|
+
- Support partial matching (e.g., "auth" matches "001-user-authentication")
|
11
|
+
- Support ID matching (e.g., "001" matches "001-user-authentication")
|
12
|
+
|
13
|
+
2. Validate feature exists:
|
14
|
+
- Check if feature directory has any files
|
15
|
+
- Verify feature structure is intact
|
16
|
+
- Report if feature not found
|
17
|
+
|
18
|
+
3. Update context in memory/context.md:
|
19
|
+
- Switch current feature to selected feature
|
20
|
+
- Update timestamp and switch reason
|
21
|
+
- Preserve previous context data
|
22
|
+
|
23
|
+
4. Switch git branch if in git repository:
|
24
|
+
- Checkout feature branch if it exists
|
25
|
+
- Report if branch doesn't exist
|
26
|
+
- Handle branch switching errors gracefully
|
27
|
+
|
28
|
+
5. Display feature status:
|
29
|
+
- Show current progress percentage
|
30
|
+
- List next available actions
|
31
|
+
- Highlight any blockers or issues
|
32
|
+
- Show recent activity
|
33
|
+
|
34
|
+
6. Suggest next steps based on feature state:
|
35
|
+
- If no spec files: /sp-spec <description>
|
36
|
+
- If spec but no plan: /sp-plan
|
37
|
+
- If plan but no tasks: /sp-task
|
38
|
+
- If tasks exist: Show task completion status and suggest next task
|
39
|
+
|
40
|
+
## Supported Feature Identification:
|
41
|
+
- By name: /sp-continue user-authentication
|
42
|
+
- By ID: /sp-continue 001
|
43
|
+
- By partial match: /sp-continue auth
|
44
|
+
|
45
|
+
## Context Switching:
|
46
|
+
1. Save previous context state
|
47
|
+
2. Load new feature context
|
48
|
+
3. Update memory/context.md
|
49
|
+
4. Switch git branch if available
|
50
|
+
5. Display feature status and next steps
|
51
|
+
|
52
|
+
Examples:
|
53
|
+
- /sp-continue user-authentication
|
54
|
+
- /sp-continue 001
|
55
|
+
- /sp-continue auth
|
56
|
+
"""
|
@@ -0,0 +1,68 @@
|
|
1
|
+
description = "Generate or validate implementation plans with versioning"
|
2
|
+
prompt = """
|
3
|
+
Handle the /sp-plan command with arguments: {{args}}
|
4
|
+
|
5
|
+
First, detect current feature context:
|
6
|
+
- Read memory/context.md for current feature metadata
|
7
|
+
- Use git branch name if available (e.g., 001-user-authentication)
|
8
|
+
- Fall back to most recently created feature directory
|
9
|
+
- If no context found, ask user to specify feature or run /sp-pulse first
|
10
|
+
|
11
|
+
Parse arguments to determine action:
|
12
|
+
- If "validate": Check plan against constitution
|
13
|
+
- Otherwise: Generate new plan
|
14
|
+
|
15
|
+
## For /sp-plan generate or /sp-plan:
|
16
|
+
1. Show list of existing spec files in current feature directory
|
17
|
+
2. Ask user which spec file to base plan on
|
18
|
+
3. Read selected specification from @{specs/*/spec-XXX.md}
|
19
|
+
|
20
|
+
4. Run Phase Gates checks:
|
21
|
+
- Constitutional compliance
|
22
|
+
- Simplicity check (≤3 modules)
|
23
|
+
- Test-first strategy defined
|
24
|
+
- Framework selection complete
|
25
|
+
- Research completed
|
26
|
+
|
27
|
+
5. Generate plan sections:
|
28
|
+
- Technology stack
|
29
|
+
- Architecture overview
|
30
|
+
- Implementation phases
|
31
|
+
- API contracts
|
32
|
+
- Data models
|
33
|
+
- Testing strategy
|
34
|
+
|
35
|
+
6. Track complexity:
|
36
|
+
- If >3 modules, document justification
|
37
|
+
- Create simplification roadmap
|
38
|
+
|
39
|
+
7. Check existing plan files and create next version (plan-001.md, plan-002.md, etc.)
|
40
|
+
8. Write plan to plans/XXX-feature/plan-XXX.md
|
41
|
+
9. Run cross-platform validation:
|
42
|
+
- Linux/macOS: !{bash scripts/sp-pulse-plan.sh "XXX-feature"}
|
43
|
+
- Fallback: !{python scripts/sp-pulse-plan.py "XXX-feature"}
|
44
|
+
|
45
|
+
## For /sp-plan validate:
|
46
|
+
1. Show list of existing plan files in current feature directory
|
47
|
+
2. Ask user which plan file to validate
|
48
|
+
3. Read selected plan from @{plans/*/plan-XXX.md}
|
49
|
+
4. Run cross-platform validation:
|
50
|
+
- Linux/macOS: !{bash scripts/sp-pulse-plan.sh "XXX-feature"}
|
51
|
+
- Fallback: !{python scripts/sp-pulse-plan.py "XXX-feature"}
|
52
|
+
5. Verify Phase Gates compliance
|
53
|
+
6. Check complexity tracking
|
54
|
+
7. Ensure test-first approach
|
55
|
+
8. Validate framework choices
|
56
|
+
9. Report validation results
|
57
|
+
|
58
|
+
Phase Gates (Phase -1) must pass before implementation:
|
59
|
+
- ✅ Using ≤3 projects/modules
|
60
|
+
- ✅ Tests defined before code
|
61
|
+
- ✅ Using framework features directly
|
62
|
+
- ✅ No premature abstractions
|
63
|
+
- ✅ Research completed
|
64
|
+
|
65
|
+
Examples:
|
66
|
+
- /sp-plan generate
|
67
|
+
- /sp-plan validate
|
68
|
+
"""
|
@@ -6,9 +6,8 @@ Please follow these steps:
|
|
6
6
|
|
7
7
|
1. Extract the feature name from the provided arguments
|
8
8
|
2. Run the initialization script with cross-platform detection:
|
9
|
-
-
|
10
|
-
-
|
11
|
-
- Fallback: !{python scripts/pulse-init.py "{{args}"}
|
9
|
+
- Linux/macOS: !{bash scripts/sp-pulse-init.sh "{{args}}"}
|
10
|
+
- Fallback: !{python scripts/sp-pulse-init.py "{{args}}"}
|
12
11
|
3. Create the feature structure:
|
13
12
|
- Generate feature ID (001, 002, etc.)
|
14
13
|
- Create directories: specs/XXX-feature/, plans/XXX-feature/, tasks/XXX-feature/
|
@@ -16,12 +15,19 @@ Please follow these steps:
|
|
16
15
|
- Update memory/context.md with current feature
|
17
16
|
- Create git branch if in git repository
|
18
17
|
|
19
|
-
4.
|
18
|
+
4. Suggest specification options:
|
19
|
+
- Generate 2-3 different specification suggestions based on the feature name
|
20
|
+
- Present options to user as numbered choices
|
21
|
+
- Ask user to choose one or provide their own specification description
|
22
|
+
- Guide user to use /sp-spec command after making selection
|
23
|
+
|
24
|
+
5. Report the results showing:
|
20
25
|
- Created structure paths
|
21
26
|
- Feature ID and branch name
|
22
|
-
-
|
27
|
+
- Specification suggestions for user to choose from
|
28
|
+
- Next steps guidance
|
23
29
|
|
24
30
|
If no feature name is provided, ask the user for the feature name first.
|
25
31
|
|
26
|
-
Example usage: /pulse user-authentication
|
32
|
+
Example usage: /sp-pulse user-authentication
|
27
33
|
"""
|
@@ -0,0 +1,54 @@
|
|
1
|
+
description = "Create or manage feature specifications with versioning"
|
2
|
+
prompt = """
|
3
|
+
Handle the /sp-spec command with arguments: {{args}}
|
4
|
+
|
5
|
+
First, detect current feature context:
|
6
|
+
- Read memory/context.md for current feature metadata
|
7
|
+
- Use git branch name if available (e.g., 001-user-authentication)
|
8
|
+
- Fall back to most recently created feature directory
|
9
|
+
- If no context found, ask user to specify feature or run /sp-pulse first
|
10
|
+
|
11
|
+
Parse the arguments to determine the action:
|
12
|
+
- If starts with "create": Generate new specification
|
13
|
+
- If starts with "update": Modify existing specification
|
14
|
+
- If starts with "validate": Check specification completeness
|
15
|
+
- If no action specified: Default to "create" with full arguments as description
|
16
|
+
|
17
|
+
## For /sp-spec create [description] or /sp-spec [description]:
|
18
|
+
1. Read template from @{templates/spec.md}
|
19
|
+
2. Parse the description to identify:
|
20
|
+
- Functional requirements (Must/Should/Could have)
|
21
|
+
- User stories and acceptance criteria
|
22
|
+
- Technical requirements
|
23
|
+
3. Mark any uncertainties with [NEEDS CLARIFICATION: detail]
|
24
|
+
4. Find current feature directory from detected context
|
25
|
+
5. Check existing spec files and create next version (spec-001.md, spec-002.md, etc.)
|
26
|
+
6. Write specification to specs/XXX-feature/spec-XXX.md
|
27
|
+
7. Run cross-platform validation:
|
28
|
+
- Linux/macOS: !{bash scripts/sp-pulse-spec.sh "XXX-feature"}
|
29
|
+
- Fallback: !{python scripts/sp-pulse-spec.py "XXX-feature"}
|
30
|
+
|
31
|
+
## For /sp-spec update:
|
32
|
+
1. Show list of existing spec files in current feature directory
|
33
|
+
2. Ask user which spec file to update
|
34
|
+
3. Read selected specification file
|
35
|
+
4. Ask user for clarifications or changes
|
36
|
+
5. Update content while preserving structure
|
37
|
+
6. Remove resolved [NEEDS CLARIFICATION] markers
|
38
|
+
|
39
|
+
## For /sp-spec validate:
|
40
|
+
1. Show list of existing spec files in current feature directory
|
41
|
+
2. Ask user which spec file to validate
|
42
|
+
3. Run cross-platform validation:
|
43
|
+
- Linux/macOS: !{bash scripts/sp-pulse-spec.sh "XXX-feature"}
|
44
|
+
- Fallback: !{python scripts/sp-pulse-spec.py "XXX-feature"}
|
45
|
+
4. Check all required sections are filled
|
46
|
+
5. Count [NEEDS CLARIFICATION] markers
|
47
|
+
6. Verify acceptance criteria are testable
|
48
|
+
7. Report validation results
|
49
|
+
|
50
|
+
Examples:
|
51
|
+
- /sp-spec user authentication with OAuth2 and email/password
|
52
|
+
- /sp-spec update
|
53
|
+
- /sp-spec validate
|
54
|
+
"""
|