clog
A library for generating a conventional changelog from git metadata, written in Rust
About
clog
creates a changelog automatically from your local git metadata. See the
clog
s changelog.md for an example.
The way this works, is every time you make a commit, you ensure your commit subject line follows the conventional format.
NOTE: clog
also supports empty components by making commit messages such as
alias: message
or alias(): message
(i.e. without the component)
Usage
There are two ways to use clog
, as a binary via the command line (See
clog-cli for details) or as a library in your applications.
See the documentation for information on using clog
in your
applications.
In order to see it in action, you'll need a repository that already has some of
those specially crafted commit messages in it's history. For this, we'll use
the clog
repository itself.
- Clone the
clog-lib
repository (we will clone to our home directory to make things simple, feel free to change it)
- Add
clog
as a dependency in yourCargo.toml
[]
= "*"
- Use the following in your
src/main.rs
extern crate clog;
use Clog;
- Compile and run `$ cargo build --release && ./target/release/bin_name
- View the output in your favorite markdown viewer!
$ vim changelog.md
Configuration
clog
can also be configured using a configuration file in TOML.
See the examples/clog.toml
for available options.
Companion Projects
clog-cli
- A command line tool that uses this library to generate changelogs.- Commitizen - A command line tool that helps you writing better commit messages.
LICENSE
clog is licensed under the MIT Open Source license. For more information, see the LICENSE file in this repository.