specpulse 1.0.3__tar.gz → 1.0.5__tar.gz
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-1.0.3/specpulse.egg-info → specpulse-1.0.5}/PKG-INFO +67 -34
- {specpulse-1.0.3 → specpulse-1.0.5}/README.md +66 -33
- {specpulse-1.0.3 → specpulse-1.0.5}/pyproject.toml +1 -1
- {specpulse-1.0.3 → specpulse-1.0.5}/setup.py +1 -1
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/__init__.py +1 -1
- specpulse-1.0.5/specpulse/resources/commands/claude/plan.md +184 -0
- specpulse-1.0.5/specpulse/resources/commands/claude/pulse.md +91 -0
- specpulse-1.0.5/specpulse/resources/commands/claude/spec.md +160 -0
- specpulse-1.0.5/specpulse/resources/commands/claude/task.md +237 -0
- specpulse-1.0.5/specpulse/resources/commands/gemini/plan.toml +59 -0
- specpulse-1.0.5/specpulse/resources/commands/gemini/pulse.toml +27 -0
- specpulse-1.0.5/specpulse/resources/commands/gemini/spec.toml +45 -0
- specpulse-1.0.5/specpulse/resources/commands/gemini/task.toml +69 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/resources/memory/constitution.md +2 -2
- specpulse-1.0.5/specpulse/resources/scripts/pulse-init.ps1 +186 -0
- specpulse-1.0.5/specpulse/resources/scripts/pulse-init.py +171 -0
- specpulse-1.0.5/specpulse/resources/scripts/pulse-init.sh +96 -0
- specpulse-1.0.5/specpulse/resources/scripts/pulse-plan.ps1 +251 -0
- specpulse-1.0.5/specpulse/resources/scripts/pulse-plan.py +191 -0
- specpulse-1.0.5/specpulse/resources/scripts/pulse-plan.sh +127 -0
- specpulse-1.0.5/specpulse/resources/scripts/pulse-spec.ps1 +185 -0
- specpulse-1.0.5/specpulse/resources/scripts/pulse-spec.py +167 -0
- specpulse-1.0.5/specpulse/resources/scripts/pulse-spec.sh +104 -0
- specpulse-1.0.5/specpulse/resources/scripts/pulse-task.ps1 +263 -0
- specpulse-1.0.5/specpulse/resources/scripts/pulse-task.py +237 -0
- specpulse-1.0.5/specpulse/resources/scripts/pulse-task.sh +137 -0
- specpulse-1.0.5/specpulse/resources/templates/plan.md +206 -0
- specpulse-1.0.5/specpulse/resources/templates/spec.md +125 -0
- specpulse-1.0.5/specpulse/resources/templates/task.md +164 -0
- {specpulse-1.0.3 → specpulse-1.0.5/specpulse.egg-info}/PKG-INFO +67 -34
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse.egg-info/SOURCES.txt +27 -1
- specpulse-1.0.5/tests/test_100_coverage.py +328 -0
- specpulse-1.0.5/tests/test_100_percent_coverage.py +461 -0
- specpulse-1.0.5/tests/test_ai_commands.py +136 -0
- specpulse-1.0.5/tests/test_cli_advanced.py +277 -0
- specpulse-1.0.5/tests/test_cli_comprehensive.py +611 -0
- specpulse-1.0.5/tests/test_command_integration.py +182 -0
- specpulse-1.0.5/tests/test_complete_coverage.py +338 -0
- specpulse-1.0.5/tests/test_console_advanced.py +230 -0
- specpulse-1.0.5/tests/test_console_comprehensive.py +561 -0
- specpulse-1.0.5/tests/test_core_comprehensive.py +486 -0
- specpulse-1.0.5/tests/test_cross_platform_scripts.py +317 -0
- specpulse-1.0.5/tests/test_full_coverage.py +541 -0
- specpulse-1.0.5/tests/test_gemini_commands.py +130 -0
- specpulse-1.0.5/tests/test_git_utils.py +270 -0
- specpulse-1.0.5/tests/test_git_utils_comprehensive.py +698 -0
- specpulse-1.0.5/tests/test_powershell_scripts.py +464 -0
- specpulse-1.0.5/tests/test_python_scripts.py +470 -0
- specpulse-1.0.5/tests/test_validator_comprehensive.py +613 -0
- specpulse-1.0.3/specpulse/resources/commands/claude/plan.md +0 -54
- specpulse-1.0.3/specpulse/resources/commands/claude/pulse.md +0 -36
- specpulse-1.0.3/specpulse/resources/commands/claude/spec.md +0 -47
- specpulse-1.0.3/specpulse/resources/commands/claude/task.md +0 -56
- specpulse-1.0.3/specpulse/resources/commands/gemini/plan.toml +0 -48
- specpulse-1.0.3/specpulse/resources/commands/gemini/pulse.toml +0 -45
- specpulse-1.0.3/specpulse/resources/commands/gemini/spec.toml +0 -33
- specpulse-1.0.3/specpulse/resources/commands/gemini/task.toml +0 -51
- specpulse-1.0.3/specpulse/resources/scripts/pulse-init.sh +0 -37
- specpulse-1.0.3/specpulse/resources/scripts/pulse-plan.sh +0 -26
- specpulse-1.0.3/specpulse/resources/scripts/pulse-spec.sh +0 -29
- specpulse-1.0.3/specpulse/resources/scripts/pulse-task.sh +0 -23
- specpulse-1.0.3/specpulse/resources/templates/plan.md +0 -351
- specpulse-1.0.3/specpulse/resources/templates/spec.md +0 -291
- specpulse-1.0.3/specpulse/resources/templates/task.md +0 -143
- {specpulse-1.0.3 → specpulse-1.0.5}/LICENSE +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/MANIFEST.in +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/requirements.txt +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/setup.cfg +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/cli/__init__.py +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/cli/main.py +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/core/__init__.py +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/core/specpulse.py +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/core/validator.py +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/resources/memory/context.md +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/resources/memory/decisions.md +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/utils/__init__.py +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/utils/console.py +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse/utils/git_utils.py +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse.egg-info/dependency_links.txt +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse.egg-info/entry_points.txt +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse.egg-info/not-zip-safe +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse.egg-info/requires.txt +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/specpulse.egg-info/top_level.txt +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/tests/test_cli.py +0 -0
- {specpulse-1.0.3 → specpulse-1.0.5}/tests/test_core.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: specpulse
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.5
|
4
4
|
Summary: Specification-Driven Development Framework
|
5
5
|
Home-page: https://github.com/specpulse
|
6
6
|
Author: SpecPulse
|
@@ -66,7 +66,12 @@ Dynamic: requires-python
|
|
66
66
|
|
67
67
|
SpecPulse revolutionizes AI-assisted development by enforcing a **specification-first approach**. Instead of jumping straight into code, SpecPulse ensures every feature starts with clear specifications, validated plans, and tracked tasks - guaranteeing quality from day one.
|
68
68
|
|
69
|
-
> **Latest Update (v1.0.
|
69
|
+
> **Latest Update (v1.0.5)**:
|
70
|
+
> - ✅ **Complete Cross-Platform Support**: Works seamlessly on Windows, Linux, and macOS
|
71
|
+
> - ✅ **100% Test Success Rate**: Comprehensive test suite with 37+ tests across all platforms
|
72
|
+
> - ✅ **Python & PowerShell Scripts**: Full script compatibility beyond bash
|
73
|
+
> - ✅ **Automatic Platform Detection**: AI commands choose the right script automatically
|
74
|
+
> - ✅ **Unicode Support**: Full international character support (≤, ≥, →, ←)
|
70
75
|
|
71
76
|
### Why SpecPulse?
|
72
77
|
|
@@ -87,6 +92,13 @@ pip install specpulse --upgrade
|
|
87
92
|
- Git (optional, for version control features)
|
88
93
|
- Claude or Gemini CLI (for AI integration)
|
89
94
|
|
95
|
+
**Cross-Platform Support:**
|
96
|
+
- **Windows**: Python scripts + PowerShell fallback + Bash compatibility
|
97
|
+
- **Linux**: Python scripts + Bash fallback
|
98
|
+
- **macOS**: Python scripts + Bash fallback
|
99
|
+
- **Source Installation**: Works perfectly from source code (not just PyPI)
|
100
|
+
- **Automatic Detection**: AI commands automatically detect OS and choose appropriate script
|
101
|
+
|
90
102
|
## 🚀 Quick Start
|
91
103
|
|
92
104
|
### Step 1: Initialize Your Project
|
@@ -114,25 +126,21 @@ specpulse init --ai gemini
|
|
114
126
|
|
115
127
|
```bash
|
116
128
|
# Initialize a new feature
|
117
|
-
/pulse
|
118
|
-
|
119
|
-
# Create the specification
|
120
|
-
/spec create "User login with OAuth2 and email/password"
|
129
|
+
/pulse user-authentication
|
130
|
+
# Creates structure for 001-user-authentication feature
|
121
131
|
|
122
|
-
#
|
123
|
-
/spec
|
132
|
+
# Create the specification
|
133
|
+
/spec create user login with OAuth2 and email/password
|
134
|
+
# Or just: /spec (for interactive mode)
|
124
135
|
|
125
136
|
# Generate implementation plan
|
126
137
|
/plan generate
|
127
|
-
|
128
|
-
# Validate plan against constitution
|
129
|
-
/plan validate
|
138
|
+
# Or: /plan validate (to check existing plan)
|
130
139
|
|
131
140
|
# Break down into tasks
|
132
141
|
/task breakdown
|
133
|
-
|
134
|
-
#
|
135
|
-
/task status
|
142
|
+
# Or: /task update (to update task status)
|
143
|
+
# Or: /task status (to see progress)
|
136
144
|
```
|
137
145
|
|
138
146
|
### Step 4: Validate & Ship
|
@@ -244,28 +252,52 @@ Stop guessing what users want:
|
|
244
252
|
|
245
253
|
### 🤖 Deep AI Integration
|
246
254
|
|
247
|
-
**
|
255
|
+
**How AI Commands Work:**
|
256
|
+
|
257
|
+
Claude and Gemini use slash commands that accept arguments via `$ARGUMENTS`:
|
258
|
+
|
259
|
+
**Cross-Platform Script Execution:**
|
260
|
+
- **Windows**: PowerShell (.ps1) → Python (.py) → Bash (.sh) fallback
|
261
|
+
- **Linux/macOS**: Python (.py) → Bash (.sh) fallback
|
262
|
+
- **Automatic Detection**: AI commands detect OS and choose appropriate script
|
263
|
+
- **Universal Compatibility**: Works whether installed via PyPI or source code
|
264
|
+
- **Unicode Support**: Full international character support (≤, ≥, →, ←)
|
265
|
+
|
248
266
|
```bash
|
249
|
-
#
|
250
|
-
/
|
251
|
-
|
252
|
-
#
|
253
|
-
/
|
254
|
-
/
|
255
|
-
/
|
256
|
-
|
257
|
-
#
|
258
|
-
/plan generate # Create implementation plan from spec
|
259
|
-
/plan validate # Validate plan against constitution
|
260
|
-
|
261
|
-
# Task management
|
262
|
-
/task breakdown # Generate tasks from plan
|
263
|
-
/task update # Update task status
|
264
|
-
/task status # Show task progress
|
267
|
+
/pulse user-authentication # Start new feature with name
|
268
|
+
/spec create OAuth2 login # Create specification with description
|
269
|
+
/spec update # Update existing specification
|
270
|
+
/spec validate # Validate specification completeness
|
271
|
+
/plan generate # Generate plan from specification
|
272
|
+
/plan validate # Validate plan against constitution
|
273
|
+
/task breakdown # Create task list from plan
|
274
|
+
/task update # Update task statuses
|
275
|
+
/task status # Show current progress
|
265
276
|
```
|
266
277
|
|
267
|
-
**
|
268
|
-
|
278
|
+
**Behind the Scenes:**
|
279
|
+
- Commands capture arguments using `$ARGUMENTS` variable
|
280
|
+
- **Multi-platform scripts** in `resources/scripts/` folder process the arguments:
|
281
|
+
- `pulse-*.py` - Python scripts (universal)
|
282
|
+
- `pulse-*.ps1` - PowerShell scripts (Windows)
|
283
|
+
- `pulse-*.sh` - Bash scripts (Linux/macOS)
|
284
|
+
- AI reads templates from `resources/templates/` folder
|
285
|
+
- Results are saved in `specs/`, `plans/`, `tasks/` folders
|
286
|
+
- Memory system tracks progress in `memory/` folder
|
287
|
+
- **Automatic platform detection** ensures the right script runs on each OS
|
288
|
+
|
289
|
+
**Claude vs Gemini:**
|
290
|
+
- **Claude**: Uses Markdown command files (`.claude/commands/*.md`) with YAML frontmatter
|
291
|
+
- Arguments passed via `$ARGUMENTS` variable to shell scripts
|
292
|
+
- **Gemini**: Uses TOML command files (`.gemini/commands/*.toml`) with simple format
|
293
|
+
- Arguments handled via `{{args}}` placeholder in prompts
|
294
|
+
- Both support arguments and work the same way from user perspective
|
295
|
+
|
296
|
+
**Command Arguments:**
|
297
|
+
- Commands can accept arguments: `/command arg1 arg2`
|
298
|
+
- Claude: Arguments passed to scripts via `$ARGUMENTS`
|
299
|
+
- Gemini: Arguments injected via `{{args}}` placeholder
|
300
|
+
- Commands can be used without arguments for interactive mode
|
269
301
|
|
270
302
|
## 📊 Real-World Impact
|
271
303
|
|
@@ -425,7 +457,8 @@ Built with inspiration from:
|
|
425
457
|
## 🚦 Project Status
|
426
458
|
|
427
459
|
[](https://github.com/specpulse/specpulse)
|
428
|
-
[](https://github.com/specpulse/specpulse)
|
461
|
+
[](https://github.com/specpulse/specpulse)
|
429
462
|
[](https://github.com/specpulse/specpulse)
|
430
463
|
|
431
464
|
---
|
@@ -21,7 +21,12 @@
|
|
21
21
|
|
22
22
|
SpecPulse revolutionizes AI-assisted development by enforcing a **specification-first approach**. Instead of jumping straight into code, SpecPulse ensures every feature starts with clear specifications, validated plans, and tracked tasks - guaranteeing quality from day one.
|
23
23
|
|
24
|
-
> **Latest Update (v1.0.
|
24
|
+
> **Latest Update (v1.0.5)**:
|
25
|
+
> - ✅ **Complete Cross-Platform Support**: Works seamlessly on Windows, Linux, and macOS
|
26
|
+
> - ✅ **100% Test Success Rate**: Comprehensive test suite with 37+ tests across all platforms
|
27
|
+
> - ✅ **Python & PowerShell Scripts**: Full script compatibility beyond bash
|
28
|
+
> - ✅ **Automatic Platform Detection**: AI commands choose the right script automatically
|
29
|
+
> - ✅ **Unicode Support**: Full international character support (≤, ≥, →, ←)
|
25
30
|
|
26
31
|
### Why SpecPulse?
|
27
32
|
|
@@ -42,6 +47,13 @@ pip install specpulse --upgrade
|
|
42
47
|
- Git (optional, for version control features)
|
43
48
|
- Claude or Gemini CLI (for AI integration)
|
44
49
|
|
50
|
+
**Cross-Platform Support:**
|
51
|
+
- **Windows**: Python scripts + PowerShell fallback + Bash compatibility
|
52
|
+
- **Linux**: Python scripts + Bash fallback
|
53
|
+
- **macOS**: Python scripts + Bash fallback
|
54
|
+
- **Source Installation**: Works perfectly from source code (not just PyPI)
|
55
|
+
- **Automatic Detection**: AI commands automatically detect OS and choose appropriate script
|
56
|
+
|
45
57
|
## 🚀 Quick Start
|
46
58
|
|
47
59
|
### Step 1: Initialize Your Project
|
@@ -69,25 +81,21 @@ specpulse init --ai gemini
|
|
69
81
|
|
70
82
|
```bash
|
71
83
|
# Initialize a new feature
|
72
|
-
/pulse
|
73
|
-
|
74
|
-
# Create the specification
|
75
|
-
/spec create "User login with OAuth2 and email/password"
|
84
|
+
/pulse user-authentication
|
85
|
+
# Creates structure for 001-user-authentication feature
|
76
86
|
|
77
|
-
#
|
78
|
-
/spec
|
87
|
+
# Create the specification
|
88
|
+
/spec create user login with OAuth2 and email/password
|
89
|
+
# Or just: /spec (for interactive mode)
|
79
90
|
|
80
91
|
# Generate implementation plan
|
81
92
|
/plan generate
|
82
|
-
|
83
|
-
# Validate plan against constitution
|
84
|
-
/plan validate
|
93
|
+
# Or: /plan validate (to check existing plan)
|
85
94
|
|
86
95
|
# Break down into tasks
|
87
96
|
/task breakdown
|
88
|
-
|
89
|
-
#
|
90
|
-
/task status
|
97
|
+
# Or: /task update (to update task status)
|
98
|
+
# Or: /task status (to see progress)
|
91
99
|
```
|
92
100
|
|
93
101
|
### Step 4: Validate & Ship
|
@@ -199,28 +207,52 @@ Stop guessing what users want:
|
|
199
207
|
|
200
208
|
### 🤖 Deep AI Integration
|
201
209
|
|
202
|
-
**
|
210
|
+
**How AI Commands Work:**
|
211
|
+
|
212
|
+
Claude and Gemini use slash commands that accept arguments via `$ARGUMENTS`:
|
213
|
+
|
214
|
+
**Cross-Platform Script Execution:**
|
215
|
+
- **Windows**: PowerShell (.ps1) → Python (.py) → Bash (.sh) fallback
|
216
|
+
- **Linux/macOS**: Python (.py) → Bash (.sh) fallback
|
217
|
+
- **Automatic Detection**: AI commands detect OS and choose appropriate script
|
218
|
+
- **Universal Compatibility**: Works whether installed via PyPI or source code
|
219
|
+
- **Unicode Support**: Full international character support (≤, ≥, →, ←)
|
220
|
+
|
203
221
|
```bash
|
204
|
-
#
|
205
|
-
/
|
206
|
-
|
207
|
-
#
|
208
|
-
/
|
209
|
-
/
|
210
|
-
/
|
211
|
-
|
212
|
-
#
|
213
|
-
/plan generate # Create implementation plan from spec
|
214
|
-
/plan validate # Validate plan against constitution
|
215
|
-
|
216
|
-
# Task management
|
217
|
-
/task breakdown # Generate tasks from plan
|
218
|
-
/task update # Update task status
|
219
|
-
/task status # Show task progress
|
222
|
+
/pulse user-authentication # Start new feature with name
|
223
|
+
/spec create OAuth2 login # Create specification with description
|
224
|
+
/spec update # Update existing specification
|
225
|
+
/spec validate # Validate specification completeness
|
226
|
+
/plan generate # Generate plan from specification
|
227
|
+
/plan validate # Validate plan against constitution
|
228
|
+
/task breakdown # Create task list from plan
|
229
|
+
/task update # Update task statuses
|
230
|
+
/task status # Show current progress
|
220
231
|
```
|
221
232
|
|
222
|
-
**
|
223
|
-
|
233
|
+
**Behind the Scenes:**
|
234
|
+
- Commands capture arguments using `$ARGUMENTS` variable
|
235
|
+
- **Multi-platform scripts** in `resources/scripts/` folder process the arguments:
|
236
|
+
- `pulse-*.py` - Python scripts (universal)
|
237
|
+
- `pulse-*.ps1` - PowerShell scripts (Windows)
|
238
|
+
- `pulse-*.sh` - Bash scripts (Linux/macOS)
|
239
|
+
- AI reads templates from `resources/templates/` folder
|
240
|
+
- Results are saved in `specs/`, `plans/`, `tasks/` folders
|
241
|
+
- Memory system tracks progress in `memory/` folder
|
242
|
+
- **Automatic platform detection** ensures the right script runs on each OS
|
243
|
+
|
244
|
+
**Claude vs Gemini:**
|
245
|
+
- **Claude**: Uses Markdown command files (`.claude/commands/*.md`) with YAML frontmatter
|
246
|
+
- Arguments passed via `$ARGUMENTS` variable to shell scripts
|
247
|
+
- **Gemini**: Uses TOML command files (`.gemini/commands/*.toml`) with simple format
|
248
|
+
- Arguments handled via `{{args}}` placeholder in prompts
|
249
|
+
- Both support arguments and work the same way from user perspective
|
250
|
+
|
251
|
+
**Command Arguments:**
|
252
|
+
- Commands can accept arguments: `/command arg1 arg2`
|
253
|
+
- Claude: Arguments passed to scripts via `$ARGUMENTS`
|
254
|
+
- Gemini: Arguments injected via `{{args}}` placeholder
|
255
|
+
- Commands can be used without arguments for interactive mode
|
224
256
|
|
225
257
|
## 📊 Real-World Impact
|
226
258
|
|
@@ -380,7 +412,8 @@ Built with inspiration from:
|
|
380
412
|
## 🚦 Project Status
|
381
413
|
|
382
414
|
[](https://github.com/specpulse/specpulse)
|
383
|
-
[](https://github.com/specpulse/specpulse)
|
416
|
+
[](https://github.com/specpulse/specpulse)
|
384
417
|
[](https://github.com/specpulse/specpulse)
|
385
418
|
|
386
419
|
---
|
@@ -11,7 +11,7 @@ long_description = (this_directory / "README.md").read_text(encoding="utf-8")
|
|
11
11
|
|
12
12
|
setup(
|
13
13
|
name="specpulse",
|
14
|
-
version="1.0.
|
14
|
+
version="1.0.5",
|
15
15
|
author="SpecPulse",
|
16
16
|
author_email="",
|
17
17
|
description="Next-Generation Specification-Driven Development Framework",
|
@@ -0,0 +1,184 @@
|
|
1
|
+
---
|
2
|
+
name: plan
|
3
|
+
description: Generate or validate implementation plans using AI-optimized templates
|
4
|
+
allowed_tools:
|
5
|
+
- Read
|
6
|
+
- Write
|
7
|
+
- Edit
|
8
|
+
- Bash
|
9
|
+
- TodoWrite
|
10
|
+
---
|
11
|
+
|
12
|
+
# /plan Command
|
13
|
+
|
14
|
+
Generate implementation plans from specifications following SpecPulse methodology with constitutional compliance and AI-optimized templates.
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
```
|
18
|
+
/plan [action] [feature-directory]
|
19
|
+
```
|
20
|
+
|
21
|
+
Actions: `generate`, `validate`, `optimize` (defaults to `generate`)
|
22
|
+
|
23
|
+
## Implementation
|
24
|
+
|
25
|
+
When called with `/plan $ARGUMENTS`, I will:
|
26
|
+
|
27
|
+
1. **Parse arguments** and determine action:
|
28
|
+
- If `validate`: Check plan against constitutional gates
|
29
|
+
- If `optimize`: Improve existing plan complexity
|
30
|
+
- Otherwise: Generate new plan
|
31
|
+
|
32
|
+
2. **For `/plan generate` or `/plan`:**
|
33
|
+
a. **Find and validate specification** from current context or provided directory
|
34
|
+
|
35
|
+
b. **Enhanced validation** using cross-platform script:
|
36
|
+
```bash
|
37
|
+
# Cross-platform detection
|
38
|
+
if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; then
|
39
|
+
powershell scripts/pulse-plan.ps1 "$FEATURE_DIR"
|
40
|
+
else
|
41
|
+
bash scripts/pulse-plan.sh "$FEATURE_DIR" || python scripts/pulse-plan.py "$FEATURE_DIR"
|
42
|
+
fi
|
43
|
+
```
|
44
|
+
|
45
|
+
c. **Run Constitutional Phase Gates** (Article VII):
|
46
|
+
- Simplicity Gate: ≤3 modules justification
|
47
|
+
- Anti-Abstraction Gate: Direct framework usage
|
48
|
+
- Test-First Gate: Tests before implementation
|
49
|
+
- Integration-First Gate: Real services over mocks
|
50
|
+
- Research Gate: Technology choices documented
|
51
|
+
|
52
|
+
d. **Generate AI-optimized plan** using template variables:
|
53
|
+
```markdown
|
54
|
+
# Implementation Plan: {{ feature_name }}
|
55
|
+
## Specification Reference
|
56
|
+
- **Spec ID**: SPEC-{{ feature_id }}
|
57
|
+
- **Generated**: {{ date }}
|
58
|
+
```
|
59
|
+
|
60
|
+
e. **Generate comprehensive sections**:
|
61
|
+
- Technology stack with performance implications
|
62
|
+
- Architecture overview with component relationships
|
63
|
+
- Implementation phases with timeline estimates
|
64
|
+
- API contracts with authentication requirements
|
65
|
+
- Data models with validation rules
|
66
|
+
- Testing strategy with coverage targets
|
67
|
+
- Security considerations with compliance requirements
|
68
|
+
- Deployment strategy with rollback plans
|
69
|
+
|
70
|
+
f. **Complexity tracking** (Article VII):
|
71
|
+
- Document all complexity exceptions with justifications
|
72
|
+
- Create mitigation strategies for each exception
|
73
|
+
- Track optimization opportunities
|
74
|
+
|
75
|
+
g. **Write optimized plan** to `plans/XXX-feature/plan.md`
|
76
|
+
|
77
|
+
3. **For `/plan validate`:**
|
78
|
+
- **Enhanced validation** using cross-platform script:
|
79
|
+
```bash
|
80
|
+
# Cross-platform detection
|
81
|
+
if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; then
|
82
|
+
powershell scripts/pulse-plan.ps1 "$FEATURE_DIR"
|
83
|
+
else
|
84
|
+
bash scripts/pulse-plan.sh "$FEATURE_DIR" || python scripts/pulse-plan.py "$FEATURE_DIR"
|
85
|
+
fi
|
86
|
+
```
|
87
|
+
- Verify all constitutional gates are addressed
|
88
|
+
- Check complexity exceptions have proper justifications
|
89
|
+
- Validate test-first approach is documented
|
90
|
+
- Ensure integration strategy uses real services
|
91
|
+
- Report detailed validation results
|
92
|
+
|
93
|
+
4. **For `/plan optimize`:**
|
94
|
+
- **Read existing plan** and analyze complexity
|
95
|
+
- **Identify optimization opportunities**:
|
96
|
+
- Module consolidation opportunities
|
97
|
+
- Abstraction layer removal candidates
|
98
|
+
- Simplification strategies
|
99
|
+
- **Generate optimization recommendations**
|
100
|
+
- **Update plan** with reduced complexity
|
101
|
+
|
102
|
+
## Constitutional Phase Gates (Phase -1)
|
103
|
+
|
104
|
+
**Must pass before implementation:**
|
105
|
+
|
106
|
+
### Article VII: Simplicity Gate
|
107
|
+
- [ ] Using ≤3 projects/modules for initial implementation
|
108
|
+
- [ ] No future-proofing without documented need
|
109
|
+
- [ ] Direct framework usage (no unnecessary wrappers)
|
110
|
+
- [ ] Single model representation per concept
|
111
|
+
|
112
|
+
### Article VII: Anti-Abstraction Gate
|
113
|
+
- [ ] Using framework features directly
|
114
|
+
- [ ] No unnecessary abstraction layers
|
115
|
+
- [ ] Clear, simple interfaces
|
116
|
+
- [ ] Avoiding premature optimization
|
117
|
+
|
118
|
+
### Article III: Test-First Gate
|
119
|
+
- [ ] Test specifications written
|
120
|
+
- [ ] Tests reviewed and approved
|
121
|
+
- [ ] Tests confirmed to FAIL before implementation
|
122
|
+
- [ ] TDD cycle planned (Red-Green-Refactor)
|
123
|
+
|
124
|
+
### Article VIII: Integration-First Gate
|
125
|
+
- [ ] Contract tests defined
|
126
|
+
- [ ] Using real services over mocks
|
127
|
+
- [ ] Production-like test environment planned
|
128
|
+
- [ ] End-to-end test scenarios identified
|
129
|
+
|
130
|
+
### Article VI: Research Gate
|
131
|
+
- [ ] Library options researched
|
132
|
+
- [ ] Performance implications documented
|
133
|
+
- [ ] Security considerations analyzed
|
134
|
+
- [ ] Trade-offs documented
|
135
|
+
|
136
|
+
## Examples
|
137
|
+
|
138
|
+
### Generate plan with validation
|
139
|
+
```
|
140
|
+
User: /plan generate
|
141
|
+
```
|
142
|
+
I will:
|
143
|
+
- Run: `bash scripts/pulse-plan.sh "$FEATURE_DIR"`
|
144
|
+
- Validate: Constitutional gates compliance
|
145
|
+
- Create: AI-optimized plan with template variables
|
146
|
+
- Output: `CONSTITUTIONAL_GATES_STATUS=PENDING`
|
147
|
+
|
148
|
+
### Validate existing plan
|
149
|
+
```
|
150
|
+
User: /plan validate
|
151
|
+
```
|
152
|
+
I will run comprehensive validation:
|
153
|
+
```
|
154
|
+
PLAN_FILE=plans/001-user-authentication/plan.md
|
155
|
+
CONSTITUTIONAL_GATES_STATUS=COMPLETED
|
156
|
+
MISSING_SECTIONS=0
|
157
|
+
STATUS=validation_complete
|
158
|
+
```
|
159
|
+
|
160
|
+
### Optimize plan complexity
|
161
|
+
```
|
162
|
+
User: /plan optimize
|
163
|
+
```
|
164
|
+
I will analyze and recommend complexity reductions.
|
165
|
+
|
166
|
+
## Enhanced Features
|
167
|
+
|
168
|
+
- **AI-optimized templates** with Jinja2-style variables
|
169
|
+
- **Cross-platform script execution** with automatic detection
|
170
|
+
- **Enhanced script integration** for Bash, PowerShell, and Python
|
171
|
+
- **Constitutional compliance tracking** with gate status
|
172
|
+
- **Complexity exception management** with justifications
|
173
|
+
- **Performance and security considerations** integrated
|
174
|
+
- **Integration-first approach** with real service usage
|
175
|
+
- **Detailed validation reporting** with specific recommendations
|
176
|
+
- **Platform-agnostic operation** for any development environment
|
177
|
+
|
178
|
+
## Error Handling
|
179
|
+
|
180
|
+
- Specification existence validation
|
181
|
+
- Constitutional gate compliance checking
|
182
|
+
- Template structure validation
|
183
|
+
- Directory structure verification
|
184
|
+
- Feature context auto-discovery
|
@@ -0,0 +1,91 @@
|
|
1
|
+
---
|
2
|
+
name: pulse
|
3
|
+
description: Initialize a new feature with SpecPulse framework
|
4
|
+
allowed_tools:
|
5
|
+
- Bash
|
6
|
+
- Read
|
7
|
+
- Write
|
8
|
+
- Edit
|
9
|
+
- TodoWrite
|
10
|
+
---
|
11
|
+
|
12
|
+
# /pulse Command
|
13
|
+
|
14
|
+
Initialize a new feature following SpecPulse methodology with constitutional compliance.
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
```
|
18
|
+
/pulse <feature-name> [feature-id]
|
19
|
+
```
|
20
|
+
|
21
|
+
## Implementation
|
22
|
+
|
23
|
+
When called with `/pulse $ARGUMENTS`, I will:
|
24
|
+
|
25
|
+
1. **Validate arguments** and extract feature name + optional ID
|
26
|
+
2. **Run initialization script** with cross-platform detection:
|
27
|
+
- **Windows**: `powershell scripts/pulse-init.ps1 "$FEATURE_NAME" "$OPTIONAL_ID"`
|
28
|
+
- **Linux/macOS**: `bash scripts/pulse-init.sh "$FEATURE_NAME" "$OPTIONAL_ID"`
|
29
|
+
- **Python Fallback**: `python scripts/pulse-init.py "$FEATURE_NAME" "$OPTIONAL_ID"`
|
30
|
+
3. **Create complete feature structure**:
|
31
|
+
- Generate feature ID (001, 002, etc.) or use provided ID
|
32
|
+
- Create sanitized branch name: `ID-feature-name`
|
33
|
+
- Create directories: `specs/ID-feature-name/`, `plans/ID-feature-name/`, `tasks/ID-feature-name/`
|
34
|
+
- Copy AI-optimized templates to feature directories
|
35
|
+
- Update `memory/context.md` with current feature metadata
|
36
|
+
- Create and switch to git branch if in git repository
|
37
|
+
|
38
|
+
4. **Validate structure** and report comprehensive status
|
39
|
+
5. **Create todo list** for tracking feature development progress
|
40
|
+
|
41
|
+
## Constitutional Compliance
|
42
|
+
|
43
|
+
**Article I: Simplicity**
|
44
|
+
- [ ] Feature name is clear and specific
|
45
|
+
- [ ] No unnecessary abstractions in initial structure
|
46
|
+
- [ ] Single responsibility per feature
|
47
|
+
|
48
|
+
**Article II: Anti-Abstraction**
|
49
|
+
- [ ] Direct template usage (no wrapper layers)
|
50
|
+
- [ ] Minimal initial structure
|
51
|
+
- [ ] Framework-ready files
|
52
|
+
|
53
|
+
## Example
|
54
|
+
```
|
55
|
+
User: /pulse user-authentication-oauth2
|
56
|
+
```
|
57
|
+
|
58
|
+
I will:
|
59
|
+
- Run: `bash scripts/pulse-init.sh "user-authentication-oauth2"`
|
60
|
+
- Create: `specs/001-user-authentication-oauth2/spec.md`
|
61
|
+
- Create: `plans/001-user-authentication-oauth2/plan.md`
|
62
|
+
- Create: `tasks/001-user-authentication-oauth2/tasks.md`
|
63
|
+
- Branch: `001-user-authentication-oauth2`
|
64
|
+
- Status: `STATUS=initialized, BRANCH_NAME=001-user-authentication-oauth2`
|
65
|
+
|
66
|
+
## Error Handling
|
67
|
+
|
68
|
+
Enhanced validation includes:
|
69
|
+
- Feature name sanitization (alphanumeric, hyphens only)
|
70
|
+
- Directory creation validation
|
71
|
+
- Template existence verification
|
72
|
+
- Git repository validation
|
73
|
+
- Context file management
|
74
|
+
|
75
|
+
## Next Steps (Constitutional Order)
|
76
|
+
|
77
|
+
1. **Phase -1**: Use `/spec` to create specification with constitutional gates
|
78
|
+
2. **Phase 0**: Use `/plan` to generate implementation plan with complexity tracking
|
79
|
+
3. **Phase 1**: Use `/task` to break down into executable tasks
|
80
|
+
4. **Implementation**: Begin development following constitutional principles
|
81
|
+
|
82
|
+
## Integration Features
|
83
|
+
|
84
|
+
- **Automatic context tracking** in `memory/context.md`
|
85
|
+
- **Enhanced error reporting** with specific failure reasons
|
86
|
+
- **Git integration** with branch management
|
87
|
+
- **Template validation** before copying
|
88
|
+
- **Todo list creation** for progress tracking
|
89
|
+
- **Cross-platform script execution** with automatic detection
|
90
|
+
- **Multiple language support**: Bash, PowerShell, Python
|
91
|
+
- **Platform-agnostic operation** for any development environment
|