feat: generate changelog from commit range + cli basics #1

Merged
marc merged 2 commits from feat/basic-functionality into main 2024-11-09 20:23:21 +00:00
Showing only changes of commit f38bf8c60f - Show all commits

View file

@ -0,0 +1,34 @@
# Modif
Forgejo unfortunately doesn't support autogenerating release changelogs, and while a lot of tooling already exists out here to tackle that sort of problem, it often does far too much extra for my taste. Thus, `modif` seeks to do one thing and do it well: generate simple markdown changelogs from commit history data (and later, validate that commits comply with a desired format for those logs).
## Install
This isn't published anywhere, but can be installed directly from source control via `pipx` or `pip`:
```sh
# With pipx
pipx install git+https://forge.karnov.club/marc/modif.git
# With pip
pip install git+https://forge.karnov.club/marc/modif.git
```
The repository can also be pulled down to put it together yourself.
## Usage
### Generating changelogs from commit ranges
Changelogs can be generated based on a start and end reference:
```sh
modif log --from=<reference> --to=<reference>
```
Using the `--raw` flag will output the changelog markdown without any colours or headers - the output otherwise has
extra messaging that isn't part of the changelog itself.
### Commit format
Some assumptions are made about commit message formatting that will later be made more configurable. It is expected that commits conforms to the [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/) scheme.