#semver #changelog #versioning #git-repository #automation #command-line-tool #version-control

bin+lib gitscribe

A simple command line tool to generate a change log from a git repository and control the versioning of a project

13 releases

0.2.13 Mar 1, 2024
0.2.8 Feb 13, 2024
0.1.17 Feb 12, 2024

#495 in Development tools

Download history 37/week @ 2024-02-06 151/week @ 2024-02-13 6/week @ 2024-02-20 135/week @ 2024-02-27 42/week @ 2024-03-05 34/week @ 2024-03-12 27/week @ 2024-03-26 163/week @ 2024-04-02

228 downloads per month


887 lines


  • 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.



rust toolchain

install from cates.io

  • cargo install gitscribe

For A Better Experience

enforce the use of Conventional Commits in your project


gitscribe --help

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"


  • 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..


~287K SLoC