- A tool to help you maintain a changelog file in your project with semantic versioning. currently it is under development and not ready for use.
- install from rustup: https://rustup.rs/
cargo install gitscribe
- https://github.com/compilerla/conventional-pre-commit
- you need to install the pre-commit tool first: https://pre-commit.com/#install
gitscribe --help
# depending on the changes you made, you can use the following commands to make a new release version
gitscribe patch | minor | major
behind the scenes, it will do the following:
- if no config file is found, it will create a new one
- update the version in gitscribe.json
- update or create a new changelog file
- default file name is CHANGELOG.md and is placed in the root of the project
- add and commit the changes
As seen above, you must have a clean working tree.
Below you can see a successful example
With the default configuration you get a new markdown changelog generated at the root of your project and new commit on your working branch that is a chore
commit with the new version.
This tool will only output valid commits following conventional commit spec.
to make it easier to use, you can set an alias in your shell configuration file
alias gs="gitscribe"
-
create a new changelog file
-
create multiple changelog files for different output formats
-
sync other package management files (pyproject.toml, package.json, cargo.toml) with the gitscribe.json version.
-
more to come..