Metadata-Version: 2.4
Name: release-version-cli
Version: 0.1.9
Summary: Safe GitHub release version bumper for Python and Node projects.
Author: Vivasvan Patel
License-Expression: MIT
License-File: LICENSE
Keywords: changelog,github,release,semver,version
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Python: >=3.11
Requires-Dist: click>=8.1
Requires-Dist: tomlkit>=0.12
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# release-version-cli

Safe GitHub release version bumper for Python and Node projects.

## Install

```bash
pipx install release-version-cli
```

## Usage

```bash
release-version patch
release-version minor
release-version major
release-version patch --dry-run
release-version patch --file packages/api/pyproject.toml
release-version patch --cwd packages/api --file pyproject.toml
release-version patch --initial
release-version patch --yes
```

## Behavior

- Supports static Python `[project].version` in `pyproject.toml`.
- Supports top-level `package.json.version`.
- Requires clean semver `X.Y.Z`.
- Uses strict git tags `vX.Y.Z`.
- Fetches remote tags before release.
- Requires clean worktree.
- Requires local HEAD to match upstream HEAD.
- Requires manifest version to match latest remote version tag unless `--initial` is used.
- Creates release commit containing only selected manifest bump.
- Pushes commit and tag before creating GitHub release.
- Creates GitHub release through `gh`.
- Uses Ollama `gemma4` for grouped notes when available.
- Falls back to deterministic grouped notes when Ollama fails.
- Always appends raw commits.

## Development

```bash
uv run --extra dev pytest
```

## Publishing this package

```bash
uv build
uv publish
```

GitHub Actions publishes tagged releases with uv. Push a strict `vX.Y.Z` tag
that matches `[project].version` in `pyproject.toml`, or run the `Publish`
workflow manually with that tag.

Configure a GitHub repository secret named `PYPI_API_TOKEN` with a PyPI API
token for this project.
