|
| 1 | +# Migration Guide: v0.16.x to v0.19.x |
| 2 | + |
| 3 | +This guide helps you upgrade from SpecFact CLI v0.16.x to v0.19.x. |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +v0.17.0 - v0.19.0 are part of the **0.x stabilization track** leading to v0.20.0 LTS. |
| 8 | + |
| 9 | +### Key Changes |
| 10 | + |
| 11 | +| Version | Changes | |
| 12 | +|---------|---------| |
| 13 | +| **0.17.0** | Deprecated `implement` command, added bridge commands, version management | |
| 14 | +| **0.18.0** | Updated documentation positioning, AI IDE bridge workflow | |
| 15 | +| **0.19.0** | Full test coverage for Phase 7, migration guide | |
| 16 | + |
| 17 | +--- |
| 18 | + |
| 19 | +## Breaking Changes |
| 20 | + |
| 21 | +### `implement` Command Deprecated |
| 22 | + |
| 23 | +The `implement tasks` command is deprecated in v0.17.0 and will be removed in v1.0. |
| 24 | + |
| 25 | +**Before (v0.16.x):** |
| 26 | + |
| 27 | +```bash |
| 28 | +specfact implement tasks .specfact/projects/my-bundle/tasks.yaml |
| 29 | +``` |
| 30 | + |
| 31 | +**After (v0.17.0+):** |
| 32 | + |
| 33 | +Use the new bridge commands instead: |
| 34 | + |
| 35 | +```bash |
| 36 | +# Find gaps in your code |
| 37 | +specfact analyze gaps --bundle my-bundle |
| 38 | + |
| 39 | +# Generate AI-ready prompt to fix a gap |
| 40 | +specfact generate fix-prompt GAP-001 --bundle my-bundle |
| 41 | + |
| 42 | +# Generate AI-ready prompt to add tests |
| 43 | +specfact generate test-prompt src/auth/login.py --bundle my-bundle |
| 44 | +``` |
| 45 | + |
| 46 | +### `run idea-to-ship` Removed |
| 47 | + |
| 48 | +The `run idea-to-ship` command has been removed in v0.17.0. |
| 49 | + |
| 50 | +**Rationale:** Code generation features are being redesigned for v1.0 with AI-assisted workflows. |
| 51 | + |
| 52 | +--- |
| 53 | + |
| 54 | +## New Features |
| 55 | + |
| 56 | +### Bridge Commands (v0.17.0) |
| 57 | + |
| 58 | +New commands that generate AI-ready prompts for your IDE: |
| 59 | + |
| 60 | +```bash |
| 61 | +# Generate fix prompt for a gap |
| 62 | +specfact generate fix-prompt GAP-001 |
| 63 | + |
| 64 | +# Generate test prompt for a file |
| 65 | +specfact generate test-prompt src/module.py --type unit |
| 66 | +``` |
| 67 | + |
| 68 | +### Version Management (v0.17.0) |
| 69 | + |
| 70 | +New commands for managing bundle versions: |
| 71 | + |
| 72 | +```bash |
| 73 | +# Check for recommended version bump |
| 74 | +specfact project version check --bundle my-bundle |
| 75 | + |
| 76 | +# Bump version (major/minor/patch) |
| 77 | +specfact project version bump --bundle my-bundle --type minor |
| 78 | + |
| 79 | +# Set explicit version |
| 80 | +specfact project version set --bundle my-bundle --version 2.0.0 |
| 81 | +``` |
| 82 | + |
| 83 | +### CI Version Check (v0.17.0) |
| 84 | + |
| 85 | +GitHub Actions template now includes version check with configurable modes: |
| 86 | + |
| 87 | +- `info` - Informational only |
| 88 | +- `warn` (default) - Log warnings, continue CI |
| 89 | +- `block` - Fail CI if version bump not followed |
| 90 | + |
| 91 | +--- |
| 92 | + |
| 93 | +## Upgrade Steps |
| 94 | + |
| 95 | +### Step 1: Update SpecFact CLI |
| 96 | + |
| 97 | +```bash |
| 98 | +pip install -U specfact-cli |
| 99 | +# or |
| 100 | +uvx specfact-cli@latest --version |
| 101 | +``` |
| 102 | + |
| 103 | +### Step 2: Verify Version |
| 104 | + |
| 105 | +```bash |
| 106 | +specfact --version |
| 107 | +# Should show: SpecFact CLI version 0.19.0 |
| 108 | +``` |
| 109 | + |
| 110 | +### Step 3: Update Workflows |
| 111 | + |
| 112 | +If you were using `implement tasks` or `run idea-to-ship`, migrate to bridge commands: |
| 113 | + |
| 114 | +**Old workflow:** |
| 115 | + |
| 116 | +```bash |
| 117 | +specfact generate tasks --bundle my-bundle |
| 118 | +specfact implement tasks .specfact/projects/my-bundle/tasks.yaml |
| 119 | +``` |
| 120 | + |
| 121 | +**New workflow:** |
| 122 | + |
| 123 | +```bash |
| 124 | +# 1. Analyze for gaps |
| 125 | +specfact analyze gaps --bundle my-bundle |
| 126 | + |
| 127 | +# 2. Generate AI prompts for each gap |
| 128 | +specfact generate fix-prompt GAP-001 |
| 129 | + |
| 130 | +# 3. Copy prompt to AI IDE, get fix, apply |
| 131 | + |
| 132 | +# 4. Validate |
| 133 | +specfact enforce sdd --bundle my-bundle |
| 134 | +``` |
| 135 | + |
| 136 | +### Step 4: Update CI/CD (Optional) |
| 137 | + |
| 138 | +Add version check to your GitHub Actions: |
| 139 | + |
| 140 | +```yaml |
| 141 | +- name: Version Check |
| 142 | + run: specfact project version check --bundle ${{ env.BUNDLE_NAME }} |
| 143 | + env: |
| 144 | + SPECFACT_VERSION_CHECK_MODE: warn # or 'info' or 'block' |
| 145 | +``` |
| 146 | +
|
| 147 | +--- |
| 148 | +
|
| 149 | +## FAQ |
| 150 | +
|
| 151 | +### Q: Why was `implement` deprecated? |
| 152 | + |
| 153 | +**A:** The `implement` command attempted to generate code directly, but this approach doesn't align with the Ultimate Vision for v1.0. In v1.0, AI copilots will consume structured data from SpecFact and generate code, with SpecFact validating the results. The bridge commands provide a transitional workflow. |
| 154 | + |
| 155 | +### Q: Can I still use v0.16.x? |
| 156 | + |
| 157 | +**A:** Yes, v0.16.x will continue to work. However, we recommend upgrading to v0.19.x for the latest fixes and features. v0.20.0 will be the Long-Term Stable (LTS) release. |
| 158 | + |
| 159 | +### Q: When will v1.0 be released? |
| 160 | + |
| 161 | +**A:** See the [GitHub Discussions](https://github.com/nold-ai/specfact-cli/discussions) for the v1.0 roadmap. |
| 162 | + |
| 163 | +--- |
| 164 | + |
| 165 | +## Support |
| 166 | + |
| 167 | +- 💬 **Questions?** [GitHub Discussions](https://github.com/nold-ai/specfact-cli/discussions) |
| 168 | +- 🐛 **Found a bug?** [GitHub Issues](https://github.com/nold-ai/specfact-cli/issues) |
| 169 | +- 📧 **Need help?** [hello@noldai.com](mailto:hello@noldai.com) |
| 170 | + |
0 commit comments