gitscribe

Crates.iogitscribe
lib.rsgitscribe
version0.5.2
sourcesrc
created_at2024-02-12 15:27:13.134208
updated_at2024-09-20 13:19:49.03024
descriptionA simple command line tool to generate a change log from a git repository and control the versioning of a project.
homepagehttps://github.com/Kade-Powell/gitscribe
repositoryhttps://github.com/Kade-Powell/gitscribe
max_upload_size
id1137092
size728,790
(Kade-Powell)

documentation

README

GitScribe

  • A tool to help you maintain a changelog file in your project with semantic versioning.

Installation

Requirements

rust toolchain

install from cates.io

  • cargo install gitscribe

For A Better Experience

enforce the use of Conventional Commits in your project

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

failed_patch

As seen above, you must have a clean working tree.

Below you can see a successful example

successful_patch

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

Commit count: 62

cargo fmt