4 releases

✓ Uses Rust 2018 edition

new 0.2.1 Jan 21, 2020
0.2.0 Jan 12, 2020
0.1.1 Dec 29, 2019
0.1.0 Dec 26, 2019

#21 in Build Utils

28 downloads per month

MIT license

66KB
1.5K SLoC

Convco

GitHub Workflow Status Crates.io

A Conventional commit cli.

convco gives tools to work with Conventional Commits.

The tool is still in early development. It provides already the following commands:

  • convco changelog: Create a changelog file.
  • convco check: Checks if a range of commits is following the convention.
  • convco commit: Helps to make conventional commits.
  • convco version: Finds out the current or next version.

Installation

cargo install convco

Tools

Changelog

A changelog can be generated using the conventional commits. It is inspired by conventional changelog. Configuration follows the conventional-changelog-config-spec

convco changelog > CHANGELOG.md

Check

Check a range of revisions for compliance.

It returns a non zero exit code if some commits are not conventional. This is useful in a pre-push hook.

convco check $remote_sha..$local_sha

Commit

Helps to make conventional commits. A scope, description, body, breaking change and issues will be prompted.

# commit a new feature and then run git commit with the interactive patch switch
convco commit --feat -- --patch

Version

When no options are given it will return the current version. When --bump is provided, the next version will be printed out. Conventional commits are used to calculate the next major, minor or patch. If needed one can provide --major, --minor or --patch to overrule the convention.

convco version --bump

TODO

  • automatic notes for breaking changes
  • custom template folder
  • use a .versionrc file
  • limit to a range of versions
  • sort sections in changelog
  • issue references

Dependencies

~16MB
~372K SLoC