Guide for following MassGen's release documentation workflow...
This skill provides guidance for documenting MassGen releases following the established workflow and conventions.
The release-documenter skill ensures consistent, complete release documentation by guiding you through the full release documentation workflow: CHANGELOG → Sphinx Documentation → README → Roadmap updates.
Use the release-documenter skill when you need to:
IMPORTANT: The primary source of truth for release documentation is:
📋 docs/dev_notes/release_checklist.md
This file contains:
Always consult this document for the complete release process.
Always follow this order:
ROADMAP_v0.1.X.md → ROADMAP_v0.1.X+1.md (see Phase 0)massgen/__init__.py __version__)This order is critical - never skip ahead!
⚠️ Easy to miss — this happens once, at the start of a new dev/v0.1.X branch, not at doc-writing time. When dev/v0.1.X is branched (right after the previous release merges in), a small bootstrap commit (feat: v0.1.X) sets the branch up:
massgen/__init__.py __version__ = "0.1.X" (pyproject.toml reads it dynamically).ROADMAP_v0.1.X.md → ROADMAP_v0.1.X+1.md and rewrite its content to plan the next release. This file always names the version after the one currently in development (the in-development version is tracked in the main ROADMAP.md sections). Update its title, "Overview", the deferred-feature "Deferred from …" range, and add the just-shipped version(s) to its "Related Tracks" list.git mv ROADMAP_v0.1.X.md ROADMAP_v0.1.X+1.md
# then edit __version__ and the renamed roadmap file
If you arrive mid-branch and find
ROADMAP_v0.1.X.md(matching the in-dev version) still present, or__version__still on the previous release, the bootstrap was skipped — do it now before the release docs.
Document all changes under these categories:
# Get changes since last release
git log v0.1.X-1..HEAD --oneline
gh pr list --base dev/v0.1.X --state merged
See docs/dev_notes/release_checklist.md sections 3.1 for detailed format.
Update as needed:
docs/source/index.rst - Recent Releases section (keep latest 3)docs/source/user_guide/ - New feature guidesdocs/source/reference/yaml_schema.rst - New YAML parametersdocs/source/reference/supported_models.rst - New modelsBuild and verify:
cd docs && make html
make linkcheck # Verify no broken links
See docs/dev_notes/release_checklist.md section 3.2 for complete requirements.
massgen/configs/README.md# Use template
cp docs/source/examples/case_studies/case-study-template.md \
docs/source/examples/case_studies/v0.1.X-feature-name.md
# Update index
vim docs/source/examples/case_studies.rst
See docs/dev_notes/release_checklist.md section 3.4.
Update these sections:
Copy format from CHANGELOG.md and expand.
✅ Auto-synced via pre-commit hook!
When you commit README.md changes:
git commit againManual sync if needed:
uv run python scripts/sync_readme_pypi.py
ROADMAP.mdROADMAP_v0.1.X+1.md for next releasedocs/source/development/roadmap.rst (auto-generated)docs/announcements/)⚠️ Easy to miss — not auto-generated. Each release rotates three things in docs/announcements/:
current-release.md to archive/v0.1.X-1.md (the version it currently describes).cp docs/announcements/current-release.md docs/announcements/archive/v0.1.X-1.md
current-release.md for the new version: update the title, Release Summary, Install version, release-notes link, "Suggested image" version, and the full LinkedIn announcement body (Key Improvements bullets). This is the long-form social/LinkedIn copy.github-release-v0.1.X-1.md and create github-release-v0.1.X.md (the short, emoji-sectioned GitHub Releases body dated (YYYY-MM-DD)).git rm docs/announcements/github-release-v0.1.X-1.md
# then write docs/announcements/github-release-v0.1.X.md
feature-highlights.md and README.md in that directory are general (not per-version) — leave them unless the highlights changed.
Use the just-archived previous version's files as templates so the structure/sections stay consistent. Keep [TO BE ADDED AFTER POSTING] placeholders for the X/LinkedIn links.
Don't forget the version bump (
massgen/__init__.py__version__ = "0.1.X") —pyproject.tomlreads the version dynamically from there.
Must Update (every release):
0. ✅ Fresh-branch bootstrap done? (__version__ bumped + ROADMAP_v0.1.X.md → ROADMAP_v0.1.X+1.md renamed — see Phase 0)
massgen/__init__.py (__version__ bump)Should Update (if applicable): 10. ⚠️ massgen/config_builder.py (if config params added) 11. ⚠️ massgen/backend/capabilities.py (if backend changes) 12. ✅ README_PYPI.md (auto-synced from README.md via pre-commit)
Build & Verify:
13. 🔨 cd docs && make html && make linkcheck
14. 🔨 Test new config files
15. 🔨 Verify all links work
See docs/dev_notes/release_checklist.md section "Quick Reference Checklist" for complete list.
If new YAML parameters were added, update massgen/config_builder.py:
massgen --config-builderIf backend capabilities changed, update massgen/backend/capabilities.py:
See docs/dev_notes/release_checklist.md section 2.1-2.2.
git commit -m "docs: Release v0.1.X documentation
- Updated CHANGELOG.md with full release notes
- Added case study: [Feature Name]
- Updated README.md Recent Achievements
- Enhanced Sphinx documentation
- Added example configurations
Major features:
- Feature 1: Description
- Feature 2: Description
"
git push origin dev/v0.1.X
gh pr create --base main --head dev/v0.1.X \
--title "Release v0.1.X: [Feature Name]" \
--body "See CHANGELOG.md for full release notes"
git checkout main && git pull
git tag -a v0.1.X -m "Release v0.1.X: [Feature Name]
Major features:
- Feature 1
- Feature 2
See CHANGELOG.md for details."
git push origin v0.1.X
See docs/dev_notes/release_checklist.md section 7 for complete workflow.
Primary Documentation:
docs/dev_notes/release_checklist.md ⭐ START HEREdocs/source/development/writing_configs.rstScripts:
scripts/sync_readme_pypi.pyscripts/precommit_validate_configs.pydocs/scripts/generate_backend_tables.pyTemplates:
docs/source/examples/case_studies/case-study-template.mdWhen preparing release documentation:
docs/dev_notes/release_checklist.mdcd docs && make html && make linkcheckdocs/dev_notes/release_checklist.md for complete guidanceThis skill is a quick reference guide. For comprehensive, step-by-step instructions, always refer to the official release checklist document.