specpulse 1.0.5__tar.gz → 1.1.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 (79) hide show
  1. {specpulse-1.0.5/specpulse.egg-info → specpulse-1.1.0}/PKG-INFO +36 -45
  2. {specpulse-1.0.5 → specpulse-1.1.0}/README.md +417 -426
  3. {specpulse-1.0.5 → specpulse-1.1.0}/pyproject.toml +2 -1
  4. {specpulse-1.0.5 → specpulse-1.1.0}/setup.py +1 -1
  5. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/__init__.py +1 -1
  6. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/cli/main.py +60 -93
  7. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/core/specpulse.py +1110 -1099
  8. specpulse-1.1.0/specpulse/resources/commands/claude/sp-continue.md +203 -0
  9. specpulse-1.0.5/specpulse/resources/commands/claude/plan.md → specpulse-1.1.0/specpulse/resources/commands/claude/sp-plan.md +53 -38
  10. specpulse-1.1.0/specpulse/resources/commands/claude/sp-pulse.md +142 -0
  11. specpulse-1.0.5/specpulse/resources/commands/claude/spec.md → specpulse-1.1.0/specpulse/resources/commands/claude/sp-spec.md +36 -23
  12. specpulse-1.1.0/specpulse/resources/commands/claude/sp-status.md +170 -0
  13. specpulse-1.0.5/specpulse/resources/commands/claude/task.md → specpulse-1.1.0/specpulse/resources/commands/claude/sp-task.md +68 -48
  14. specpulse-1.1.0/specpulse/resources/commands/gemini/sp-continue.toml +56 -0
  15. specpulse-1.1.0/specpulse/resources/commands/gemini/sp-plan.toml +68 -0
  16. specpulse-1.0.5/specpulse/resources/commands/gemini/pulse.toml → specpulse-1.1.0/specpulse/resources/commands/gemini/sp-pulse.toml +12 -6
  17. specpulse-1.1.0/specpulse/resources/commands/gemini/sp-spec.toml +54 -0
  18. specpulse-1.1.0/specpulse/resources/commands/gemini/sp-status.toml +61 -0
  19. specpulse-1.1.0/specpulse/resources/commands/gemini/sp-task.toml +79 -0
  20. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/resources/memory/constitution.md +5 -5
  21. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/resources/memory/context.md +12 -1
  22. specpulse-1.0.5/specpulse/resources/scripts/pulse-init.py → specpulse-1.1.0/specpulse/resources/scripts/sp-pulse-init.py +6 -6
  23. specpulse-1.0.5/specpulse/resources/scripts/pulse-init.sh → specpulse-1.1.0/specpulse/resources/scripts/sp-pulse-init.sh +95 -95
  24. specpulse-1.0.5/specpulse/resources/scripts/pulse-plan.py → specpulse-1.1.0/specpulse/resources/scripts/sp-pulse-plan.py +32 -7
  25. specpulse-1.0.5/specpulse/resources/scripts/pulse-plan.sh → specpulse-1.1.0/specpulse/resources/scripts/sp-pulse-plan.sh +136 -126
  26. specpulse-1.0.5/specpulse/resources/scripts/pulse-spec.py → specpulse-1.1.0/specpulse/resources/scripts/sp-pulse-spec.py +26 -6
  27. specpulse-1.0.5/specpulse/resources/scripts/pulse-spec.sh → specpulse-1.1.0/specpulse/resources/scripts/sp-pulse-spec.sh +126 -103
  28. specpulse-1.0.5/specpulse/resources/scripts/pulse-task.py → specpulse-1.1.0/specpulse/resources/scripts/sp-pulse-task.py +42 -6
  29. specpulse-1.0.5/specpulse/resources/scripts/pulse-task.sh → specpulse-1.1.0/specpulse/resources/scripts/sp-pulse-task.sh +32 -16
  30. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/resources/templates/plan.md +206 -206
  31. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/resources/templates/spec.md +125 -125
  32. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/resources/templates/task.md +164 -163
  33. {specpulse-1.0.5 → specpulse-1.1.0/specpulse.egg-info}/PKG-INFO +36 -45
  34. specpulse-1.1.0/specpulse.egg-info/SOURCES.txt +48 -0
  35. specpulse-1.0.5/specpulse/resources/commands/claude/pulse.md +0 -91
  36. specpulse-1.0.5/specpulse/resources/commands/gemini/plan.toml +0 -59
  37. specpulse-1.0.5/specpulse/resources/commands/gemini/spec.toml +0 -45
  38. specpulse-1.0.5/specpulse/resources/commands/gemini/task.toml +0 -69
  39. specpulse-1.0.5/specpulse/resources/scripts/pulse-init.ps1 +0 -186
  40. specpulse-1.0.5/specpulse/resources/scripts/pulse-plan.ps1 +0 -251
  41. specpulse-1.0.5/specpulse/resources/scripts/pulse-spec.ps1 +0 -185
  42. specpulse-1.0.5/specpulse/resources/scripts/pulse-task.ps1 +0 -263
  43. specpulse-1.0.5/specpulse.egg-info/SOURCES.txt +0 -68
  44. specpulse-1.0.5/tests/test_100_coverage.py +0 -328
  45. specpulse-1.0.5/tests/test_100_percent_coverage.py +0 -461
  46. specpulse-1.0.5/tests/test_ai_commands.py +0 -136
  47. specpulse-1.0.5/tests/test_cli.py +0 -184
  48. specpulse-1.0.5/tests/test_cli_advanced.py +0 -277
  49. specpulse-1.0.5/tests/test_cli_comprehensive.py +0 -611
  50. specpulse-1.0.5/tests/test_command_integration.py +0 -182
  51. specpulse-1.0.5/tests/test_complete_coverage.py +0 -338
  52. specpulse-1.0.5/tests/test_console_advanced.py +0 -230
  53. specpulse-1.0.5/tests/test_console_comprehensive.py +0 -561
  54. specpulse-1.0.5/tests/test_core.py +0 -235
  55. specpulse-1.0.5/tests/test_core_comprehensive.py +0 -486
  56. specpulse-1.0.5/tests/test_cross_platform_scripts.py +0 -317
  57. specpulse-1.0.5/tests/test_full_coverage.py +0 -541
  58. specpulse-1.0.5/tests/test_gemini_commands.py +0 -130
  59. specpulse-1.0.5/tests/test_git_utils.py +0 -270
  60. specpulse-1.0.5/tests/test_git_utils_comprehensive.py +0 -698
  61. specpulse-1.0.5/tests/test_powershell_scripts.py +0 -464
  62. specpulse-1.0.5/tests/test_python_scripts.py +0 -470
  63. specpulse-1.0.5/tests/test_validator_comprehensive.py +0 -613
  64. {specpulse-1.0.5 → specpulse-1.1.0}/LICENSE +0 -0
  65. {specpulse-1.0.5 → specpulse-1.1.0}/MANIFEST.in +0 -0
  66. {specpulse-1.0.5 → specpulse-1.1.0}/requirements.txt +0 -0
  67. {specpulse-1.0.5 → specpulse-1.1.0}/setup.cfg +0 -0
  68. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/cli/__init__.py +0 -0
  69. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/core/__init__.py +0 -0
  70. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/core/validator.py +0 -0
  71. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/resources/memory/decisions.md +0 -0
  72. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/utils/__init__.py +0 -0
  73. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/utils/console.py +0 -0
  74. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse/utils/git_utils.py +0 -0
  75. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse.egg-info/dependency_links.txt +0 -0
  76. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse.egg-info/entry_points.txt +0 -0
  77. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse.egg-info/not-zip-safe +0 -0
  78. {specpulse-1.0.5 → specpulse-1.1.0}/specpulse.egg-info/requires.txt +0 -0
  79. {specpulse-1.0.5 → specpulse-1.1.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.5
3
+ Version: 1.1.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.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 (≤, ≥, →, ←)
69
+ > **Latest Update (v1.1.0)**:
70
+ > - 🔧 **Command Prefix System**: All commands now use `sp-` prefix to avoid conflicts
71
+ > - 📋 **Multi-Spec Workflow**: Support for multiple specs/plans/tasks per feature
72
+ > - 🗂️ **Versioned File System**: Automatic spec-001.md, plan-001.md, task-001.md naming
73
+ > - 🎯 **Context Detection**: Automatic feature detection using git branches
74
+ > - 🤖 **Enhanced AI Integration**: Improved manual workflow control
75
+ > - ✅ **Improved Error Handling**: Better resource path resolution and script copying operations
75
76
 
76
77
  ### Why SpecPulse?
77
78
 
@@ -126,21 +127,21 @@ 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)
135
136
 
136
137
  # Generate implementation plan
137
- /plan generate
138
- # Or: /plan validate (to check existing plan)
138
+ /sp-plan generate
139
+ # Or: /sp-plan validate (to check existing plan)
139
140
 
140
141
  # Break down into tasks
141
- /task breakdown
142
- # Or: /task update (to update task status)
143
- # Or: /task status (to see progress)
142
+ /sp-task breakdown
143
+ # Or: /sp-task update (to update task status)
144
+ # Or: /sp-task status (to see progress)
144
145
  ```
145
146
 
146
147
  ### Step 4: Validate & Ship
@@ -264,23 +265,22 @@ Claude and Gemini use slash commands that accept arguments via `$ARGUMENTS`:
264
265
  - **Unicode Support**: Full international character support (≤, ≥, →, ←)
265
266
 
266
267
  ```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
268
+ /sp-pulse user-authentication # Start new feature with name
269
+ /sp-spec create OAuth2 login # Create specification with description
270
+ /sp-spec update # Update existing specification
271
+ /sp-spec validate # Validate specification completeness
272
+ /sp-plan generate # Generate plan from specification
273
+ /sp-plan validate # Validate plan against constitution
274
+ /sp-task breakdown # Create task list from plan
275
+ /sp-task update # Update task statuses
276
+ /sp-task status # Show current progress
276
277
  ```
277
278
 
278
279
  **Behind the Scenes:**
279
280
  - Commands capture arguments using `$ARGUMENTS` variable
280
281
  - **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)
282
+ - `sp-pulse-*.py` - Python scripts (universal)
283
+ - `sp-pulse-*.sh` - Bash scripts (Linux/macOS)
284
284
  - AI reads templates from `resources/templates/` folder
285
285
  - Results are saved in `specs/`, `plans/`, `tasks/` folders
286
286
  - Memory system tracks progress in `memory/` folder
@@ -325,19 +325,19 @@ my-project/
325
325
  │ └── decisions.md # Architecture Decision Records
326
326
  ├── specs/ # Feature specifications
327
327
  │ └── 001-feature/
328
- │ └── spec.md
328
+ │ └── spec-001.md
329
329
  ├── plans/ # Implementation plans
330
330
  │ └── 001-feature/
331
- │ └── plan.md
331
+ │ └── plan-001.md
332
332
  ├── tasks/ # Task breakdowns
333
333
  │ └── 001-feature/
334
- │ └── tasks.md
334
+ │ └── task-001.md
335
335
  ├── templates/ # Customizable templates
336
336
  ├── 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
337
+ │ ├── sp-pulse-init.sh # Feature initialization
338
+ │ ├── sp-pulse-spec.sh # Specification creation
339
+ │ ├── sp-pulse-plan.sh # Plan generation
340
+ │ └── sp-pulse-task.sh # Task breakdown
341
341
  └── PULSE.md # Project manifest
342
342
  ```
343
343
 
@@ -349,7 +349,7 @@ Create project-specific templates:
349
349
 
350
350
  ```bash
351
351
  # Copy and modify templates
352
- cp templates/spec.md templates/custom-spec.md
352
+ cp templates/spec-001.md templates/custom-spec.md
353
353
  # Edit to match your needs
354
354
  ```
355
355
 
@@ -413,7 +413,7 @@ specpulse validate --component constitution
413
413
  **Solution**: Check template path in config.yaml
414
414
 
415
415
  ### AI Commands Not Working
416
- **Problem**: `/pulse` commands not recognized
416
+ **Problem**: `/sp-pulse` commands not recognized
417
417
  **Solution**: Ensure you ran `specpulse init --ai claude` or `--ai gemini`
418
418
 
419
419
  </details>
@@ -439,21 +439,12 @@ pytest tests/
439
439
 
440
440
  - **[PyPI Package](https://pypi.org/project/specpulse/)** - Official package page
441
441
  - **[GitHub Repository](https://github.com/specpulse/specpulse)** - Source code and issues
442
- - **[Examples](https://github.com/specpulse/specpulse/tree/main/examples)** - Real-world usage
443
442
  - **Command Reference** - See AI Integration section above for full command list
444
443
 
445
444
  ## 📄 License
446
445
 
447
446
  MIT License - see [LICENSE](LICENSE) file for details.
448
447
 
449
- ## 🙏 Acknowledgments
450
-
451
- Built with inspiration from:
452
- - Test-Driven Development principles
453
- - Domain-Driven Design
454
- - Clean Architecture
455
- - Specification by Example
456
-
457
448
  ## 🚦 Project Status
458
449
 
459
450
  [![Build Status](https://img.shields.io/badge/build-passing-brightgreen)](https://github.com/specpulse/specpulse)