releaselisted
Install: claude install-skill fmind/dotfiles
# Release Process
Turn the Conventional Commits since the last tag into a versioned release: a bumped `CHANGELOG.md`, package manifest updates, an annotated git tag, and a GitHub release. Uses **git-cliff** (config: `dot_config/git-cliff/cliff.toml`, deployed to `~/.config/git-cliff/cliff.toml`).
## Preconditions
- Clean working tree on the default branch (`main`), synced with `origin`.
- History follows [conventional-commit](../conventional-commit/SKILL.md) — git-cliff groups commits by `type` and skips `chore(release)`/`chore(deps)`.
## Workflow
1. **Compute the next version** from the commit types since the last tag (`feat` → minor, `fix`/others → patch, `!`/`BREAKING CHANGE` → major):
```bash
# Resolves the local/global cliff.toml configuration
git-cliff --bumped-version
# Or explicitly reference the global config if a local one is not present:
git-cliff --config ~/.config/git-cliff/cliff.toml --bumped-version
```
1. **Update package manifests** (if the project doesn't use dynamic/VCS-based versioning) to match the computed version (e.g., `vX.Y.Z` or `X.Y.Z`):
- **Python**: Bump `version` in `pyproject.toml` (unless using dynamic versioning via `hatch-vcs` or similar).
- **Node.js**: Run `npm version --no-git-tag-version X.Y.Z` or update `package.json`.
- **Go / OpenTofu**: Versioned via git tags (no file changes needed).
1. **Generate the changelog** for that version (pass `--config` to be explicit):
```bash
git-cliff --config ~/.