18 releases (4 breaking)
0.5.2 | Sep 20, 2024 |
---|---|
0.5.1 | Sep 3, 2024 |
0.5.0 | Aug 30, 2024 |
0.4.0 | Aug 20, 2024 |
0.1.17 | Feb 12, 2024 |
#574 in Development tools
560KB
1K
SLoC
GitScribe
- A tool to help you maintain a changelog file in your project with semantic versioning.
Installation
Requirements
rust toolchain
- install from rustup: https://rustup.rs/
install from cates.io
cargo install gitscribe
For A Better Experience
enforce the use of Conventional Commits in your project
- https://github.com/compilerla/conventional-pre-commit
- you need to install the pre-commit tool first: https://pre-commit.com/#install
Usage
gitscribe --help
setup your project
# go through the init process to create a new config file
gitscribe init
make a new release
# 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.
Setting aliases
to make it easier to use, you can set an alias in your shell configuration file
alias gs="gitscribe"
features
-
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..
Dependencies
~11–24MB
~292K SLoC