specpulse 1.0.6__tar.gz → 1.2.0__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.
Files changed (91) hide show
  1. {specpulse-1.0.6/specpulse.egg-info → specpulse-1.2.0}/PKG-INFO +95 -36
  2. {specpulse-1.0.6 → specpulse-1.2.0}/README.md +94 -35
  3. {specpulse-1.0.6 → specpulse-1.2.0}/pyproject.toml +5 -2
  4. {specpulse-1.0.6 → specpulse-1.2.0}/setup.py +5 -1
  5. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/__init__.py +1 -1
  6. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/cli/main.py +809 -617
  7. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/core/specpulse.py +1140 -1105
  8. specpulse-1.2.0/specpulse/resources/commands/claude/sp-continue.md +203 -0
  9. specpulse-1.2.0/specpulse/resources/commands/claude/sp-decompose.md +227 -0
  10. specpulse-1.2.0/specpulse/resources/commands/claude/sp-plan.md +220 -0
  11. specpulse-1.2.0/specpulse/resources/commands/claude/sp-pulse.md +142 -0
  12. specpulse-1.0.6/specpulse/resources/commands/claude/spec.md → specpulse-1.2.0/specpulse/resources/commands/claude/sp-spec.md +36 -23
  13. specpulse-1.2.0/specpulse/resources/commands/claude/sp-status.md +170 -0
  14. specpulse-1.2.0/specpulse/resources/commands/claude/sp-task.md +315 -0
  15. specpulse-1.2.0/specpulse/resources/commands/gemini/sp-continue.toml +56 -0
  16. specpulse-1.2.0/specpulse/resources/commands/gemini/sp-decompose.toml +54 -0
  17. specpulse-1.2.0/specpulse/resources/commands/gemini/sp-plan.toml +68 -0
  18. specpulse-1.0.6/specpulse/resources/commands/gemini/pulse.toml → specpulse-1.2.0/specpulse/resources/commands/gemini/sp-pulse.toml +12 -6
  19. specpulse-1.2.0/specpulse/resources/commands/gemini/sp-spec.toml +54 -0
  20. specpulse-1.2.0/specpulse/resources/commands/gemini/sp-status.toml +61 -0
  21. specpulse-1.2.0/specpulse/resources/commands/gemini/sp-task.toml +79 -0
  22. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/resources/memory/constitution.md +5 -5
  23. specpulse-1.2.0/specpulse/resources/memory/context.md +79 -0
  24. specpulse-1.2.0/specpulse/resources/scripts/sp-pulse-decompose.py +66 -0
  25. specpulse-1.2.0/specpulse/resources/scripts/sp-pulse-decompose.sh +56 -0
  26. specpulse-1.0.6/specpulse/resources/scripts/pulse-init.py → specpulse-1.2.0/specpulse/resources/scripts/sp-pulse-init.py +6 -6
  27. specpulse-1.0.6/specpulse/resources/scripts/pulse-init.sh → specpulse-1.2.0/specpulse/resources/scripts/sp-pulse-init.sh +95 -95
  28. specpulse-1.0.6/specpulse/resources/scripts/pulse-plan.py → specpulse-1.2.0/specpulse/resources/scripts/sp-pulse-plan.py +32 -7
  29. specpulse-1.0.6/specpulse/resources/scripts/pulse-plan.sh → specpulse-1.2.0/specpulse/resources/scripts/sp-pulse-plan.sh +136 -126
  30. specpulse-1.0.6/specpulse/resources/scripts/pulse-spec.py → specpulse-1.2.0/specpulse/resources/scripts/sp-pulse-spec.py +26 -6
  31. specpulse-1.0.6/specpulse/resources/scripts/pulse-spec.sh → specpulse-1.2.0/specpulse/resources/scripts/sp-pulse-spec.sh +126 -103
  32. specpulse-1.0.6/specpulse/resources/scripts/pulse-task.py → specpulse-1.2.0/specpulse/resources/scripts/sp-pulse-task.py +42 -6
  33. specpulse-1.0.6/specpulse/resources/scripts/pulse-task.sh → specpulse-1.2.0/specpulse/resources/scripts/sp-pulse-task.sh +32 -16
  34. specpulse-1.2.0/specpulse/resources/templates/decomposition/api-contract.yaml +22 -0
  35. specpulse-1.2.0/specpulse/resources/templates/decomposition/integration-plan.md +134 -0
  36. specpulse-1.2.0/specpulse/resources/templates/decomposition/interface.ts +20 -0
  37. specpulse-1.2.0/specpulse/resources/templates/decomposition/microservices.md +34 -0
  38. specpulse-1.2.0/specpulse/resources/templates/decomposition/service-plan.md +168 -0
  39. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/resources/templates/plan.md +206 -206
  40. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/resources/templates/spec.md +125 -125
  41. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/resources/templates/task.md +164 -163
  42. {specpulse-1.0.6 → specpulse-1.2.0/specpulse.egg-info}/PKG-INFO +95 -36
  43. specpulse-1.2.0/specpulse.egg-info/SOURCES.txt +57 -0
  44. specpulse-1.0.6/specpulse/resources/commands/claude/plan.md +0 -184
  45. specpulse-1.0.6/specpulse/resources/commands/claude/pulse.md +0 -91
  46. specpulse-1.0.6/specpulse/resources/commands/claude/task.md +0 -237
  47. specpulse-1.0.6/specpulse/resources/commands/gemini/plan.toml +0 -59
  48. specpulse-1.0.6/specpulse/resources/commands/gemini/spec.toml +0 -45
  49. specpulse-1.0.6/specpulse/resources/commands/gemini/task.toml +0 -69
  50. specpulse-1.0.6/specpulse/resources/memory/context.md +0 -27
  51. specpulse-1.0.6/specpulse/resources/scripts/pulse-init.ps1 +0 -186
  52. specpulse-1.0.6/specpulse/resources/scripts/pulse-plan.ps1 +0 -251
  53. specpulse-1.0.6/specpulse/resources/scripts/pulse-spec.ps1 +0 -185
  54. specpulse-1.0.6/specpulse/resources/scripts/pulse-task.ps1 +0 -263
  55. specpulse-1.0.6/specpulse.egg-info/SOURCES.txt +0 -68
  56. specpulse-1.0.6/tests/test_100_coverage.py +0 -328
  57. specpulse-1.0.6/tests/test_100_percent_coverage.py +0 -461
  58. specpulse-1.0.6/tests/test_ai_commands.py +0 -136
  59. specpulse-1.0.6/tests/test_cli.py +0 -184
  60. specpulse-1.0.6/tests/test_cli_advanced.py +0 -277
  61. specpulse-1.0.6/tests/test_cli_comprehensive.py +0 -611
  62. specpulse-1.0.6/tests/test_command_integration.py +0 -182
  63. specpulse-1.0.6/tests/test_complete_coverage.py +0 -338
  64. specpulse-1.0.6/tests/test_console_advanced.py +0 -230
  65. specpulse-1.0.6/tests/test_console_comprehensive.py +0 -561
  66. specpulse-1.0.6/tests/test_core.py +0 -235
  67. specpulse-1.0.6/tests/test_core_comprehensive.py +0 -486
  68. specpulse-1.0.6/tests/test_cross_platform_scripts.py +0 -317
  69. specpulse-1.0.6/tests/test_full_coverage.py +0 -541
  70. specpulse-1.0.6/tests/test_gemini_commands.py +0 -130
  71. specpulse-1.0.6/tests/test_git_utils.py +0 -270
  72. specpulse-1.0.6/tests/test_git_utils_comprehensive.py +0 -698
  73. specpulse-1.0.6/tests/test_powershell_scripts.py +0 -464
  74. specpulse-1.0.6/tests/test_python_scripts.py +0 -470
  75. specpulse-1.0.6/tests/test_validator_comprehensive.py +0 -613
  76. {specpulse-1.0.6 → specpulse-1.2.0}/LICENSE +0 -0
  77. {specpulse-1.0.6 → specpulse-1.2.0}/MANIFEST.in +0 -0
  78. {specpulse-1.0.6 → specpulse-1.2.0}/requirements.txt +0 -0
  79. {specpulse-1.0.6 → specpulse-1.2.0}/setup.cfg +0 -0
  80. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/cli/__init__.py +0 -0
  81. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/core/__init__.py +0 -0
  82. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/core/validator.py +0 -0
  83. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/resources/memory/decisions.md +0 -0
  84. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/utils/__init__.py +0 -0
  85. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/utils/console.py +0 -0
  86. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse/utils/git_utils.py +0 -0
  87. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse.egg-info/dependency_links.txt +0 -0
  88. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse.egg-info/entry_points.txt +0 -0
  89. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse.egg-info/not-zip-safe +0 -0
  90. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse.egg-info/requires.txt +0 -0
  91. {specpulse-1.0.6 → specpulse-1.2.0}/specpulse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: specpulse
3
- Version: 1.0.6
3
+ Version: 1.2.0
4
4
  Summary: Specification-Driven Development Framework
5
5
  Home-page: https://github.com/specpulse
6
6
  Author: SpecPulse
@@ -66,12 +66,13 @@ 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.6)**:
70
- > - 🐛 **Critical Bug Fix**: Fixed cross-platform template initialization bug
71
- > - **Proper Resource Management**: All cross-platform scripts now correctly copied from @specpulse/resources
72
- > - **Complete Script Availability**: All 12 scripts (4 types × 3 platforms) properly installed
73
- > - **Enhanced Package Configuration**: Fixed package data inclusion for Python and PowerShell scripts
74
- > - **Improved Error Handling**: Better resource path resolution and script copying operations
69
+ > **Latest Update (v1.2.0)**:
70
+ > - 🔀 **Microservice Decomposition**: New `/sp-decompose` command to break large specs into services
71
+ > - 🏗️ **Service-Based Planning**: Automatic service-specific plans and integration plans
72
+ > - 📊 **Service Task Management**: Task prefixes per service (AUTH-T001, USER-T001, INT-T001)
73
+ > - 🎯 **Smart Workflow Detection**: Automatic monolithic vs decomposed architecture handling
74
+ > - 📝 **Rich Templates**: New templates for services, APIs, interfaces, and integration
75
+ > - 🔧 **Previous (v1.1.0)**: Command prefix system, multi-spec workflow, versioned files
75
76
 
76
77
  ### Why SpecPulse?
77
78
 
@@ -126,21 +127,26 @@ specpulse init --ai gemini
126
127
 
127
128
  ```bash
128
129
  # Initialize a new feature
129
- /pulse user-authentication
130
+ /sp-pulse user-authentication
130
131
  # Creates structure for 001-user-authentication feature
131
132
 
132
133
  # Create the specification
133
- /spec create user login with OAuth2 and email/password
134
- # Or just: /spec (for interactive mode)
134
+ /sp-spec create user login with OAuth2 and email/password
135
+ # Or just: /sp-spec (for interactive mode)
136
+
137
+ # [NEW] Decompose large specs into microservices (optional)
138
+ /sp-decompose 001
139
+ # Creates service boundaries, API contracts, and interfaces
135
140
 
136
141
  # Generate implementation plan
137
- /plan generate
138
- # Or: /plan validate (to check existing plan)
142
+ /sp-plan generate
143
+ # For decomposed: Creates service-specific plans + integration plan
144
+ # For monolithic: Creates single comprehensive plan
139
145
 
140
146
  # Break down into tasks
141
- /task breakdown
142
- # Or: /task update (to update task status)
143
- # Or: /task status (to see progress)
147
+ /sp-task breakdown
148
+ # For decomposed: Creates AUTH-T001, USER-T001, INT-T001 tasks
149
+ # For monolithic: Creates T001, T002, T003 tasks
144
150
  ```
145
151
 
146
152
  ### Step 4: Validate & Ship
@@ -149,6 +155,13 @@ specpulse init --ai gemini
149
155
  # Validate everything
150
156
  specpulse validate
151
157
 
158
+ # [NEW] Decompose specifications
159
+ specpulse decompose 001
160
+ # Or with options:
161
+ specpulse decompose --microservices
162
+ specpulse decompose --apis
163
+ specpulse decompose --interfaces
164
+
152
165
  # Run diagnostics
153
166
  specpulse doctor
154
167
 
@@ -264,23 +277,24 @@ Claude and Gemini use slash commands that accept arguments via `$ARGUMENTS`:
264
277
  - **Unicode Support**: Full international character support (≤, ≥, →, ←)
265
278
 
266
279
  ```bash
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
280
+ /sp-pulse user-authentication # Start new feature with name
281
+ /sp-spec create OAuth2 login # Create specification with description
282
+ /sp-spec update # Update existing specification
283
+ /sp-spec validate # Validate specification completeness
284
+ /sp-decompose 001 # [NEW] Decompose spec into microservices
285
+ /sp-plan generate # Generate plan(s) - detects decomposition
286
+ /sp-plan validate # Validate plan against constitution
287
+ /sp-task breakdown # Create task list(s) - per service if decomposed
288
+ /sp-task update # Update task statuses
289
+ /sp-task status # Show current progress
290
+ /sp-task execute AUTH-T001 # [NEW] Execute service-specific task
276
291
  ```
277
292
 
278
293
  **Behind the Scenes:**
279
294
  - Commands capture arguments using `$ARGUMENTS` variable
280
295
  - **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)
296
+ - `sp-pulse-*.py` - Python scripts (universal)
297
+ - `sp-pulse-*.sh` - Bash scripts (Linux/macOS)
284
298
  - AI reads templates from `resources/templates/` folder
285
299
  - Results are saved in `specs/`, `plans/`, `tasks/` folders
286
300
  - Memory system tracks progress in `memory/` folder
@@ -309,6 +323,39 @@ Claude and Gemini use slash commands that accept arguments via `$ARGUMENTS`:
309
323
  | **Technical Debt** | Accumulates | **Tracked & Managed** |
310
324
  | **Documentation** | Often outdated | **Always current** |
311
325
 
326
+ ## 🎯 Microservice Decomposition (NEW)
327
+
328
+ For large, complex specifications, SpecPulse can automatically decompose them into microservices:
329
+
330
+ ```bash
331
+ # Decompose a specification
332
+ /sp-decompose 001
333
+ ```
334
+
335
+ This creates:
336
+ - **Service Boundaries**: Using Domain-Driven Design principles
337
+ - **API Contracts**: OpenAPI 3.0 specifications for each service
338
+ - **Interface Definitions**: TypeScript/Java/Go interfaces
339
+ - **Integration Map**: Service communication architecture
340
+ - **Migration Plan**: Strategy for breaking down monoliths
341
+
342
+ ### Workflow Adaptation
343
+
344
+ SpecPulse automatically adapts based on architecture:
345
+
346
+ **Monolithic Flow:**
347
+ ```
348
+ spec-001.md → plan-001.md → task-001.md (T001, T002...)
349
+ ```
350
+
351
+ **Decomposed Flow:**
352
+ ```
353
+ spec-001.md → decomposition/ → service plans → service tasks
354
+ ├── microservices.md ├── auth-service-plan.md ├── AUTH-T001
355
+ ├── api-contracts/ ├── user-service-plan.md ├── USER-T001
356
+ └── interfaces/ └── integration-plan.md └── INT-T001
357
+ ```
358
+
312
359
  ## 🏗️ Project Structure
313
360
 
314
361
  ```
@@ -325,19 +372,31 @@ my-project/
325
372
  │ └── decisions.md # Architecture Decision Records
326
373
  ├── specs/ # Feature specifications
327
374
  │ └── 001-feature/
328
- └── spec.md
375
+ ├── spec-001.md
376
+ │ └── decomposition/ # [NEW] Microservice decomposition
377
+ │ ├── microservices.md
378
+ │ ├── api-contracts/
379
+ │ └── interfaces/
329
380
  ├── plans/ # Implementation plans
330
381
  │ └── 001-feature/
331
- └── plan.md
382
+ ├── plan-001.md # Monolithic plan
383
+ │ # OR for decomposed:
384
+ │ ├── auth-service-plan.md
385
+ │ ├── user-service-plan.md
386
+ │ └── integration-plan.md
332
387
  ├── tasks/ # Task breakdowns
333
388
  │ └── 001-feature/
334
- └── tasks.md
389
+ ├── task-001.md # Monolithic tasks
390
+ │ # OR for decomposed:
391
+ │ ├── auth-service-tasks.md
392
+ │ ├── user-service-tasks.md
393
+ │ └── integration-tasks.md
335
394
  ├── templates/ # Customizable templates
336
395
  ├── scripts/ # Shell scripts for AI execution
337
- │ ├── pulse-init.sh # Feature initialization
338
- │ ├── pulse-spec.sh # Specification creation
339
- │ ├── pulse-plan.sh # Plan generation
340
- │ └── pulse-task.sh # Task breakdown
396
+ │ ├── sp-pulse-init.sh # Feature initialization
397
+ │ ├── sp-pulse-spec.sh # Specification creation
398
+ │ ├── sp-pulse-plan.sh # Plan generation
399
+ │ └── sp-pulse-task.sh # Task breakdown
341
400
  └── PULSE.md # Project manifest
342
401
  ```
343
402
 
@@ -349,7 +408,7 @@ Create project-specific templates:
349
408
 
350
409
  ```bash
351
410
  # Copy and modify templates
352
- cp templates/spec.md templates/custom-spec.md
411
+ cp templates/spec-001.md templates/custom-spec.md
353
412
  # Edit to match your needs
354
413
  ```
355
414
 
@@ -413,7 +472,7 @@ specpulse validate --component constitution
413
472
  **Solution**: Check template path in config.yaml
414
473
 
415
474
  ### AI Commands Not Working
416
- **Problem**: `/pulse` commands not recognized
475
+ **Problem**: `/sp-pulse` commands not recognized
417
476
  **Solution**: Ensure you ran `specpulse init --ai claude` or `--ai gemini`
418
477
 
419
478
  </details>
@@ -21,12 +21,13 @@
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.6)**:
25
- > - 🐛 **Critical Bug Fix**: Fixed cross-platform template initialization bug
26
- > - **Proper Resource Management**: All cross-platform scripts now correctly copied from @specpulse/resources
27
- > - **Complete Script Availability**: All 12 scripts (4 types × 3 platforms) properly installed
28
- > - **Enhanced Package Configuration**: Fixed package data inclusion for Python and PowerShell scripts
29
- > - **Improved Error Handling**: Better resource path resolution and script copying operations
24
+ > **Latest Update (v1.2.0)**:
25
+ > - 🔀 **Microservice Decomposition**: New `/sp-decompose` command to break large specs into services
26
+ > - 🏗️ **Service-Based Planning**: Automatic service-specific plans and integration plans
27
+ > - 📊 **Service Task Management**: Task prefixes per service (AUTH-T001, USER-T001, INT-T001)
28
+ > - 🎯 **Smart Workflow Detection**: Automatic monolithic vs decomposed architecture handling
29
+ > - 📝 **Rich Templates**: New templates for services, APIs, interfaces, and integration
30
+ > - 🔧 **Previous (v1.1.0)**: Command prefix system, multi-spec workflow, versioned files
30
31
 
31
32
  ### Why SpecPulse?
32
33
 
@@ -81,21 +82,26 @@ specpulse init --ai gemini
81
82
 
82
83
  ```bash
83
84
  # Initialize a new feature
84
- /pulse user-authentication
85
+ /sp-pulse user-authentication
85
86
  # Creates structure for 001-user-authentication feature
86
87
 
87
88
  # Create the specification
88
- /spec create user login with OAuth2 and email/password
89
- # Or just: /spec (for interactive mode)
89
+ /sp-spec create user login with OAuth2 and email/password
90
+ # Or just: /sp-spec (for interactive mode)
91
+
92
+ # [NEW] Decompose large specs into microservices (optional)
93
+ /sp-decompose 001
94
+ # Creates service boundaries, API contracts, and interfaces
90
95
 
91
96
  # Generate implementation plan
92
- /plan generate
93
- # Or: /plan validate (to check existing plan)
97
+ /sp-plan generate
98
+ # For decomposed: Creates service-specific plans + integration plan
99
+ # For monolithic: Creates single comprehensive plan
94
100
 
95
101
  # Break down into tasks
96
- /task breakdown
97
- # Or: /task update (to update task status)
98
- # Or: /task status (to see progress)
102
+ /sp-task breakdown
103
+ # For decomposed: Creates AUTH-T001, USER-T001, INT-T001 tasks
104
+ # For monolithic: Creates T001, T002, T003 tasks
99
105
  ```
100
106
 
101
107
  ### Step 4: Validate & Ship
@@ -104,6 +110,13 @@ specpulse init --ai gemini
104
110
  # Validate everything
105
111
  specpulse validate
106
112
 
113
+ # [NEW] Decompose specifications
114
+ specpulse decompose 001
115
+ # Or with options:
116
+ specpulse decompose --microservices
117
+ specpulse decompose --apis
118
+ specpulse decompose --interfaces
119
+
107
120
  # Run diagnostics
108
121
  specpulse doctor
109
122
 
@@ -219,23 +232,24 @@ Claude and Gemini use slash commands that accept arguments via `$ARGUMENTS`:
219
232
  - **Unicode Support**: Full international character support (≤, ≥, →, ←)
220
233
 
221
234
  ```bash
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
235
+ /sp-pulse user-authentication # Start new feature with name
236
+ /sp-spec create OAuth2 login # Create specification with description
237
+ /sp-spec update # Update existing specification
238
+ /sp-spec validate # Validate specification completeness
239
+ /sp-decompose 001 # [NEW] Decompose spec into microservices
240
+ /sp-plan generate # Generate plan(s) - detects decomposition
241
+ /sp-plan validate # Validate plan against constitution
242
+ /sp-task breakdown # Create task list(s) - per service if decomposed
243
+ /sp-task update # Update task statuses
244
+ /sp-task status # Show current progress
245
+ /sp-task execute AUTH-T001 # [NEW] Execute service-specific task
231
246
  ```
232
247
 
233
248
  **Behind the Scenes:**
234
249
  - Commands capture arguments using `$ARGUMENTS` variable
235
250
  - **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)
251
+ - `sp-pulse-*.py` - Python scripts (universal)
252
+ - `sp-pulse-*.sh` - Bash scripts (Linux/macOS)
239
253
  - AI reads templates from `resources/templates/` folder
240
254
  - Results are saved in `specs/`, `plans/`, `tasks/` folders
241
255
  - Memory system tracks progress in `memory/` folder
@@ -264,6 +278,39 @@ Claude and Gemini use slash commands that accept arguments via `$ARGUMENTS`:
264
278
  | **Technical Debt** | Accumulates | **Tracked & Managed** |
265
279
  | **Documentation** | Often outdated | **Always current** |
266
280
 
281
+ ## 🎯 Microservice Decomposition (NEW)
282
+
283
+ For large, complex specifications, SpecPulse can automatically decompose them into microservices:
284
+
285
+ ```bash
286
+ # Decompose a specification
287
+ /sp-decompose 001
288
+ ```
289
+
290
+ This creates:
291
+ - **Service Boundaries**: Using Domain-Driven Design principles
292
+ - **API Contracts**: OpenAPI 3.0 specifications for each service
293
+ - **Interface Definitions**: TypeScript/Java/Go interfaces
294
+ - **Integration Map**: Service communication architecture
295
+ - **Migration Plan**: Strategy for breaking down monoliths
296
+
297
+ ### Workflow Adaptation
298
+
299
+ SpecPulse automatically adapts based on architecture:
300
+
301
+ **Monolithic Flow:**
302
+ ```
303
+ spec-001.md → plan-001.md → task-001.md (T001, T002...)
304
+ ```
305
+
306
+ **Decomposed Flow:**
307
+ ```
308
+ spec-001.md → decomposition/ → service plans → service tasks
309
+ ├── microservices.md ├── auth-service-plan.md ├── AUTH-T001
310
+ ├── api-contracts/ ├── user-service-plan.md ├── USER-T001
311
+ └── interfaces/ └── integration-plan.md └── INT-T001
312
+ ```
313
+
267
314
  ## 🏗️ Project Structure
268
315
 
269
316
  ```
@@ -280,19 +327,31 @@ my-project/
280
327
  │ └── decisions.md # Architecture Decision Records
281
328
  ├── specs/ # Feature specifications
282
329
  │ └── 001-feature/
283
- └── spec.md
330
+ ├── spec-001.md
331
+ │ └── decomposition/ # [NEW] Microservice decomposition
332
+ │ ├── microservices.md
333
+ │ ├── api-contracts/
334
+ │ └── interfaces/
284
335
  ├── plans/ # Implementation plans
285
336
  │ └── 001-feature/
286
- └── plan.md
337
+ ├── plan-001.md # Monolithic plan
338
+ │ # OR for decomposed:
339
+ │ ├── auth-service-plan.md
340
+ │ ├── user-service-plan.md
341
+ │ └── integration-plan.md
287
342
  ├── tasks/ # Task breakdowns
288
343
  │ └── 001-feature/
289
- └── tasks.md
344
+ ├── task-001.md # Monolithic tasks
345
+ │ # OR for decomposed:
346
+ │ ├── auth-service-tasks.md
347
+ │ ├── user-service-tasks.md
348
+ │ └── integration-tasks.md
290
349
  ├── templates/ # Customizable templates
291
350
  ├── scripts/ # Shell scripts for AI execution
292
- │ ├── pulse-init.sh # Feature initialization
293
- │ ├── pulse-spec.sh # Specification creation
294
- │ ├── pulse-plan.sh # Plan generation
295
- │ └── pulse-task.sh # Task breakdown
351
+ │ ├── sp-pulse-init.sh # Feature initialization
352
+ │ ├── sp-pulse-spec.sh # Specification creation
353
+ │ ├── sp-pulse-plan.sh # Plan generation
354
+ │ └── sp-pulse-task.sh # Task breakdown
296
355
  └── PULSE.md # Project manifest
297
356
  ```
298
357
 
@@ -304,7 +363,7 @@ Create project-specific templates:
304
363
 
305
364
  ```bash
306
365
  # Copy and modify templates
307
- cp templates/spec.md templates/custom-spec.md
366
+ cp templates/spec-001.md templates/custom-spec.md
308
367
  # Edit to match your needs
309
368
  ```
310
369
 
@@ -368,7 +427,7 @@ specpulse validate --component constitution
368
427
  **Solution**: Check template path in config.yaml
369
428
 
370
429
  ### AI Commands Not Working
371
- **Problem**: `/pulse` commands not recognized
430
+ **Problem**: `/sp-pulse` commands not recognized
372
431
  **Solution**: Ensure you ran `specpulse init --ai claude` or `--ai gemini`
373
432
 
374
433
  </details>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "specpulse"
7
- version = "1.0.6"
7
+ version = "1.2.0"
8
8
  description = "Specification-Driven Development Framework"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -81,15 +81,18 @@ packages = [
81
81
  "specpulse.resources.memory",
82
82
  "specpulse.resources.scripts",
83
83
  "specpulse.resources.templates",
84
+ "specpulse.resources.templates.decomposition",
84
85
  ]
85
86
 
86
87
  [tool.setuptools.package-data]
87
88
  specpulse = [
88
89
  "resources/templates/*.md",
90
+ "resources/templates/decomposition/*.md",
91
+ "resources/templates/decomposition/*.yaml",
92
+ "resources/templates/decomposition/*.ts",
89
93
  "resources/memory/*.md",
90
94
  "resources/scripts/*.sh",
91
95
  "resources/scripts/*.py",
92
- "resources/scripts/*.ps1",
93
96
  "resources/commands/claude/*.md",
94
97
  "resources/commands/gemini/*.toml",
95
98
  ]
@@ -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.6",
14
+ version="1.2.0",
15
15
  author="SpecPulse",
16
16
  author_email="",
17
17
  description="Next-Generation Specification-Driven Development Framework",
@@ -59,8 +59,12 @@ setup(
59
59
  package_data={
60
60
  "specpulse": [
61
61
  "resources/templates/*.md",
62
+ "resources/templates/decomposition/*.md",
63
+ "resources/templates/decomposition/*.yaml",
64
+ "resources/templates/decomposition/*.ts",
62
65
  "resources/memory/*.md",
63
66
  "resources/scripts/*.sh",
67
+ "resources/scripts/*.py",
64
68
  "resources/commands/claude/*.md",
65
69
  "resources/commands/gemini/*.toml",
66
70
  ],
@@ -3,7 +3,7 @@ SpecPulse: Specification-Driven Development Framework
3
3
  Built for the AI era
4
4
  """
5
5
 
6
- __version__ = "1.0.6"
6
+ __version__ = "1.1.0"
7
7
  __author__ = "SpecPulse"
8
8
  __url__ = "https://github.com/specpulse"
9
9