specpulse 1.0.4__tar.gz → 1.0.6__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.4/specpulse.egg-info → specpulse-1.0.6}/PKG-INFO +29 -19
- {specpulse-1.0.4 → specpulse-1.0.6}/README.md +417 -407
- {specpulse-1.0.4 → specpulse-1.0.6}/pyproject.toml +3 -1
- {specpulse-1.0.4 → specpulse-1.0.6}/setup.py +1 -1
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/__init__.py +1 -1
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/cli/main.py +617 -631
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/core/specpulse.py +8 -2
- specpulse-1.0.6/specpulse/resources/commands/claude/plan.md +184 -0
- specpulse-1.0.6/specpulse/resources/commands/claude/pulse.md +91 -0
- specpulse-1.0.6/specpulse/resources/commands/claude/spec.md +160 -0
- specpulse-1.0.6/specpulse/resources/commands/claude/task.md +237 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/resources/commands/gemini/plan.toml +13 -5
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/resources/commands/gemini/pulse.toml +4 -1
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/resources/commands/gemini/spec.toml +12 -4
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/resources/commands/gemini/task.toml +17 -5
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/resources/memory/constitution.md +2 -2
- specpulse-1.0.6/specpulse/resources/scripts/pulse-init.ps1 +186 -0
- specpulse-1.0.6/specpulse/resources/scripts/pulse-init.py +171 -0
- specpulse-1.0.6/specpulse/resources/scripts/pulse-init.sh +96 -0
- specpulse-1.0.6/specpulse/resources/scripts/pulse-plan.ps1 +251 -0
- specpulse-1.0.6/specpulse/resources/scripts/pulse-plan.py +191 -0
- specpulse-1.0.6/specpulse/resources/scripts/pulse-plan.sh +127 -0
- specpulse-1.0.6/specpulse/resources/scripts/pulse-spec.ps1 +185 -0
- specpulse-1.0.6/specpulse/resources/scripts/pulse-spec.py +167 -0
- specpulse-1.0.6/specpulse/resources/scripts/pulse-spec.sh +104 -0
- specpulse-1.0.6/specpulse/resources/scripts/pulse-task.ps1 +263 -0
- specpulse-1.0.6/specpulse/resources/scripts/pulse-task.py +237 -0
- specpulse-1.0.6/specpulse/resources/scripts/pulse-task.sh +137 -0
- specpulse-1.0.6/specpulse/resources/templates/plan.md +206 -0
- specpulse-1.0.6/specpulse/resources/templates/spec.md +125 -0
- specpulse-1.0.6/specpulse/resources/templates/task.md +164 -0
- {specpulse-1.0.4 → specpulse-1.0.6/specpulse.egg-info}/PKG-INFO +29 -19
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse.egg-info/SOURCES.txt +11 -0
- specpulse-1.0.6/tests/test_cross_platform_scripts.py +317 -0
- specpulse-1.0.6/tests/test_powershell_scripts.py +464 -0
- specpulse-1.0.6/tests/test_python_scripts.py +470 -0
- specpulse-1.0.4/specpulse/resources/commands/claude/plan.md +0 -73
- specpulse-1.0.4/specpulse/resources/commands/claude/pulse.md +0 -52
- specpulse-1.0.4/specpulse/resources/commands/claude/spec.md +0 -81
- specpulse-1.0.4/specpulse/resources/commands/claude/task.md +0 -78
- specpulse-1.0.4/specpulse/resources/scripts/pulse-init.sh +0 -37
- specpulse-1.0.4/specpulse/resources/scripts/pulse-plan.sh +0 -26
- specpulse-1.0.4/specpulse/resources/scripts/pulse-spec.sh +0 -29
- specpulse-1.0.4/specpulse/resources/scripts/pulse-task.sh +0 -23
- specpulse-1.0.4/specpulse/resources/templates/plan.md +0 -351
- specpulse-1.0.4/specpulse/resources/templates/spec.md +0 -291
- specpulse-1.0.4/specpulse/resources/templates/task.md +0 -143
- {specpulse-1.0.4 → specpulse-1.0.6}/LICENSE +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/MANIFEST.in +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/requirements.txt +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/setup.cfg +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/cli/__init__.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/core/__init__.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/core/validator.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/resources/memory/context.md +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/resources/memory/decisions.md +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/utils/__init__.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/utils/console.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse/utils/git_utils.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse.egg-info/dependency_links.txt +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse.egg-info/entry_points.txt +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse.egg-info/not-zip-safe +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse.egg-info/requires.txt +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/specpulse.egg-info/top_level.txt +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_100_coverage.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_100_percent_coverage.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_ai_commands.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_cli.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_cli_advanced.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_cli_comprehensive.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_command_integration.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_complete_coverage.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_console_advanced.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_console_comprehensive.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_core.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_core_comprehensive.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_full_coverage.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_gemini_commands.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_git_utils.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_git_utils_comprehensive.py +0 -0
- {specpulse-1.0.4 → specpulse-1.0.6}/tests/test_validator_comprehensive.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.6
|
4
4
|
Summary: Specification-Driven Development Framework
|
5
5
|
Home-page: https://github.com/specpulse
|
6
6
|
Author: SpecPulse
|
@@ -66,11 +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.
|
70
|
-
> -
|
71
|
-
> - ✅ **
|
72
|
-
> - ✅ **
|
73
|
-
> - ✅ **Enhanced
|
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
|
74
75
|
|
75
76
|
### Why SpecPulse?
|
76
77
|
|
@@ -91,6 +92,13 @@ pip install specpulse --upgrade
|
|
91
92
|
- Git (optional, for version control features)
|
92
93
|
- Claude or Gemini CLI (for AI integration)
|
93
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
|
+
|
94
102
|
## 🚀 Quick Start
|
95
103
|
|
96
104
|
### Step 1: Initialize Your Project
|
@@ -248,6 +256,13 @@ Stop guessing what users want:
|
|
248
256
|
|
249
257
|
Claude and Gemini use slash commands that accept arguments via `$ARGUMENTS`:
|
250
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
|
+
|
251
266
|
```bash
|
252
267
|
/pulse user-authentication # Start new feature with name
|
253
268
|
/spec create OAuth2 login # Create specification with description
|
@@ -262,10 +277,14 @@ Claude and Gemini use slash commands that accept arguments via `$ARGUMENTS`:
|
|
262
277
|
|
263
278
|
**Behind the Scenes:**
|
264
279
|
- Commands capture arguments using `$ARGUMENTS` variable
|
265
|
-
-
|
266
|
-
-
|
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
|
267
285
|
- Results are saved in `specs/`, `plans/`, `tasks/` folders
|
268
286
|
- Memory system tracks progress in `memory/` folder
|
287
|
+
- **Automatic platform detection** ensures the right script runs on each OS
|
269
288
|
|
270
289
|
**Claude vs Gemini:**
|
271
290
|
- **Claude**: Uses Markdown command files (`.claude/commands/*.md`) with YAML frontmatter
|
@@ -420,26 +439,17 @@ pytest tests/
|
|
420
439
|
|
421
440
|
- **[PyPI Package](https://pypi.org/project/specpulse/)** - Official package page
|
422
441
|
- **[GitHub Repository](https://github.com/specpulse/specpulse)** - Source code and issues
|
423
|
-
- **[Examples](https://github.com/specpulse/specpulse/tree/main/examples)** - Real-world usage
|
424
442
|
- **Command Reference** - See AI Integration section above for full command list
|
425
443
|
|
426
444
|
## 📄 License
|
427
445
|
|
428
446
|
MIT License - see [LICENSE](LICENSE) file for details.
|
429
447
|
|
430
|
-
## 🙏 Acknowledgments
|
431
|
-
|
432
|
-
Built with inspiration from:
|
433
|
-
- Test-Driven Development principles
|
434
|
-
- Domain-Driven Design
|
435
|
-
- Clean Architecture
|
436
|
-
- Specification by Example
|
437
|
-
|
438
448
|
## 🚦 Project Status
|
439
449
|
|
440
450
|
[](https://github.com/specpulse/specpulse)
|
441
|
-
[](https://github.com/specpulse/specpulse)
|
452
|
+
[](https://github.com/specpulse/specpulse)
|
443
453
|
[](https://github.com/specpulse/specpulse)
|
444
454
|
|
445
455
|
---
|