release-prep
Prepare a release for this repository when the user says "release". Use to review changes since the last release, choose and confirm the semver bump, run tests, update version files, tag, push, and draft the GitHub release for code-index-mcp.
When & Why to Use This Skill
This Claude skill automates the end-to-end software release workflow, handling everything from semantic versioning and automated testing to version file updates and GitHub release drafting. It ensures a consistent, error-free deployment process by following a structured checklist and verifying repository status before every release.
Use Cases
- Automated Version Management: Automatically calculate semver bumps and synchronize version strings across multiple files like pyproject.toml and source code.
- Streamlined GitHub Releases: Generate functional release notes and draft official GitHub releases directly through the agent, reducing manual overhead.
- Pre-release Quality Assurance: Execute automated test suites and repository health checks to ensure only stable code is tagged and pushed to production.
- Standardized Release Compliance: Enforce Conventional Commits and standardized release workflows across development teams to maintain repository integrity.
| name | release-prep |
|---|---|
| description | Prepare a release for this repository when the user says "release". Use to review changes since the last release, choose and confirm the semver bump, run tests, update version files, tag, push, and draft the GitHub release for code-index-mcp. |
Release Prep
Overview
Follow the code-index-mcp release checklist and use the helper script for quick repo status. Keep this file focused on the high-level workflow; the checklist contains the exact commands.
Workflow
- Run
scripts/run_release_checks.pyand review the output. - Review changes since the last tag, decide the semver bump, and confirm the target version + branch with the user.
- Confirm test scope (full vs. -k) and run:
uv run pytest. - Update version files:
pyproject.toml,src/code_index_mcp/__init__.py,uv.lock. - Ensure the diff only touches the three version files.
- Commit with Conventional Commits (e.g.,
chore(release): vX.Y.Z). - Draft release notes focused only on functional changes (exclude technical-only modifications) and confirm the notes with the user before creating the GitHub release.
- Tag, push branch + tag, and create the GitHub release.
- Follow up on CI/deploy jobs.
Resources
scripts/
scripts/run_release_checks.pyfor repo status, latest tag, and version file presence before editing versions.
references/
references/release_checklist.mdfor the exact steps, commands, and files.