6.0 KiB
6.0 KiB
Storybook Release Process Checklist
Template Version: 1.0
This checklist integrates with the commit and testing policies defined in
.claude/CLAUDE.md. All CLAUDE.md policies remain in effect throughout the release process. Do not proceed to Phase 8 (Release Artifacts) until Phases 1-7 are complete.
How to Use
- Copy this checklist into a new file at
.claude/tmp/release-vX.Y.Z.md - Replace
vX.Y.Zwith the target version throughout - Work through each phase in order, checking off items as they are completed
- Do not skip phases or reorder them -- earlier phases gate later ones
Phase 1: Code Quality & Testing
Enforces CLAUDE.md: "All tests must pass", "No unused variables or dead code"
- All
cargo testtests pass with 0 failures - All
cargo test --libunit tests pass cargo clippyreports no warnings or errorscargo fmt --checkreports no formatting issues- No unused variables, imports, or dead code in the codebase
- No
#[allow(dead_code)]or underscore-prefixed suppressions added for release - All new code introduced since last release has corresponding tests
- Pre-commit hooks pass cleanly (trailing whitespace, rustfmt, clippy)
Phase 2: Documentation
docs/README.mdreflects the new version and any feature changes- All reference docs in
docs/reference/are up to date with current syntax - Tutorial docs in
docs/tutorial/work with the current compiler - SBIR specification (
docs/SBIR-vX.Y.Z-SPEC.md) exists if binary format changed docs/TYPE-SYSTEM.mdis current (if type system changes are included)docs/design.mdreflects any architectural changes- No broken internal links between documentation files
- API and CLI help text matches current behavior
Phase 3: Examples & Demos
- All
.storyexample files indocs/examples/parse without errors - Examples compile to valid SBIR output
- Baker family example (
docs/examples/24-baker-family-complete.md) is current - Examples demonstrate any new features introduced in this release
- No examples reference removed or renamed syntax
Phase 4: Version Control & Changelog
Enforces CLAUDE.md: commit message format, conventional commits
Cargo.tomlversion field updated toX.Y.Zdocs/SBIR-CHANGELOG.mdupdated with changes since last release- All commits since last release follow conventional commit format
- No commits bypass pre-commit hooks (
--no-verifynot used) - Git history is clean -- no fixup or WIP commits remain
- Branch is up to date with
mainline
Phase 5: Build & Package
cargo build --releasesucceeds with no warningscargo install --path . --bin sb --forceinstalls correctlycargo install --path . --bin storybook-lsp --forceinstalls correctly- LSP binary at
~/.cargo/bin/storybook-lsplaunches without errors sbCLI binary executes and shows correct version
Phase 6: Cross-Platform Testing
- macOS (primary development platform): full test suite passes
- Linux (if CI available): full test suite passes
- Zed extension builds successfully (
cd zed-storybook && ./build-extension.sh) - Zed extension loads and provides syntax highlighting
- LSP features work in Zed: completions, diagnostics, semantic highlighting
extension.tomlrevfield points to correct commit SHA
Phase 7: Performance & Regression
- Compile times have not regressed significantly
- Parser handles large
.storyfiles without timeout - SBIR binary output is deterministic (same input produces same output)
- No regressions in existing test suite from previous release
- Memory usage is reasonable for typical workloads
Phase 8: Release Artifacts
GATE: Do not begin this phase until Phases 1-7 are all complete.
- Final
cargo testpass immediately before tagging - Create annotated git tag:
git tag -a vX.Y.Z -m "Release vX.Y.Z" - Tag message includes a brief summary of major changes
- Verify tag points to the correct commit:
git log --oneline -1 vX.Y.Z - Push tag to remote:
git push origin vX.Y.Z
Phase 9: Communication
- Release notes written summarizing user-facing changes
- Breaking changes clearly documented with migration guidance
- Known issues or limitations listed
- Contributors acknowledged (if applicable)
Phase 10: Post-Release Verification
- Fresh clone of the repository builds successfully
cargo installfrom the tagged commit works- Zed extension works with the released version
- LSP connects and provides diagnostics on a sample
.storyfile - Version number in CLI output matches the tag
Rollback Plan
If critical issues are discovered after tagging:
- Do not delete the tag. Published tags should remain for traceability.
- Identify and fix the issue on
mainline. - Run the full checklist again for a patch release (
vX.Y.Z+1). - Tag the patch release and document the issue in the changelog.
- If the release was communicated externally, send a follow-up noting the patch.
For issues discovered before pushing the tag:
- Delete the local tag:
git tag -d vX.Y.Z - Fix the issue and commit the fix.
- Re-run Phases 1-7 before re-tagging.
Sign-Off
| Role | Name | Date | Approved |
|---|---|---|---|
| Developer | [ ] | ||
| Reviewer | [ ] | ||
| Release Manager | [ ] |
Release approved: [ ] Yes / [ ] No
Notes
- This checklist integrates with
.claude/CLAUDE.mdpolicies. All commit, testing, and code quality rules from CLAUDE.md apply at every phase. - When updating this template, increment the Template Version at the top and note what changed below.
- For breaking changes, consider whether SBIR format version needs updating and whether a migration guide is required.
Template Changelog
- 1.0 - Initial release checklist template