Skip to content

sauljabin/changeloggh

Repository files navigation

changeloggh

Python GitHub MIT License GitHub Actions Codecov Python Versions Version Dependencies Platform

changeloggh is a command line tool to generate and administrate changelog files for GitHub according to https://keepachangelog.com/en/1.1.0/.

Installation

Install with pip:

pip install changeloggh

Upgrade with pip:

pip install --upgrade changeloggh

Usage

Alias clgh

Help:

changeloggh --help

Version:

changeloggh --version

Init CHANGELOG:

changeloggh init <GitHub Repo>

Add changes:

changeloggh <added|changed|deprecated|removed|fixed|security> "entry 1" "entry 2" ...

Bump version:

changeloggh bump <major|minor|patch>

Release version:

changeloggh release <version>

Import MD:

changeloggh import

Print current version:

changeloggh latest

Print CHANGELOG:

changeloggh print --format <rich|json|text>

Development

Installing poetry:

pip install poetry

Installing development dependencies:

poetry install

Installing pre-commit:

poetry run pre-commit install

Running unit tests:

poetry run python -m scripts.tests

Applying code styles:

poetry run python -m scripts.styles

Running code analysis:

poetry run python -m scripts.analyze

Running code coverage:

poetry run python -m scripts.coverage

Running cli using poetry:

poetry run changeloggh

Release a new version

Check https://python-poetry.org/docs/cli/#version

poetry run python -m scripts.bump --help
poetry run python -m scripts.bump <major|minor|patch>

Why a lock file?

A lot of tools (like yarn, npm, poetry ,etc) use lock files to ensures that installations remain identical and reproducible across systems. A lock files saves important metadata, so that is why changeloggh is using this approach. The changelog.lock file saves and structures changelog data in a json format. It's highly recommended to commit the changelog.lock file into your repository.

Limitations

  • Does not support other format besides semver major.minor.patch, ex.: 1.1.1.
  • It needs a changelog.lock.

Alternatives

About

changeloggh is a command line tool to generate changelog files for github

Topics

Resources

License

Stars

Watchers

Forks

Languages