Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ydcjeff/chlog
Universal changelog generator using conventional commit+ with monorepo support. Written in Rust.
https://github.com/ydcjeff/chlog
changelog changelog-generator conventional-changelog conventional-commits git rust
Last synced: 3 days ago
JSON representation
Universal changelog generator using conventional commit+ with monorepo support. Written in Rust.
- Host: GitHub
- URL: https://github.com/ydcjeff/chlog
- Owner: ydcjeff
- License: mit
- Created: 2022-01-02T07:55:43.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-02-04T14:42:26.000Z (almost 3 years ago)
- Last Synced: 2024-11-02T12:52:12.417Z (10 days ago)
- Topics: changelog, changelog-generator, conventional-changelog, conventional-commits, git, rust
- Language: Rust
- Homepage:
- Size: 270 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# chlog
> Universal changelog generator using conventional commit+ with monorepo
> support.[![demo](https://raw.githubusercontent.com/ydcjeff/chlog/main/.github/screenshot.png)](https://github.com/ydcjeff/chlog/blob/main/.github/screenshot.png?raw=true)
**chlog** can generate the changelog from the conventional commits with a few
extra commit types. The supported commit types are:- `fix` -> Bug Fixes
- `deps` -> Dependency Updates
- `deprecate` -> Deprecations (Deprecations are important for users as putting
under refactor is hard to find)
- `dx` -> Developer Experience
- `docs` -> Documentation
- `feat` -> Features
- `perf` -> Performance Improvements
- `refactor` -> RefactoringIf there is `!` after the commit types or commit scope, those commits will be
under BREAKING CHANGES section.## Installation
Binary releases can be downloaded at
[GitHub release page](https://github.com/ydcjeff/chlog/releases/latest) or if
you want to install with `cargo`:```sh
cargo install chlog
```## Usage
**chlog** has command line options for generating and prepending changelogs.
For the first release, you can run with:
```sh
chlog -o CHANGELOG.md -r 0 -t v0.1.0
```For the subsequent release,
```sh
chlog -o CHANGELOG.md -t v0.2.0
```For the packages with monorepo, you can use `commit-path` option. It will
generate the changelog scoped to that package.```sh
chlog -o CHANGELOG.md -t v0.3.0 -r 2 --commit-path crates/scope-crate
```CLI:
```console
chlogDescription:
Universal changelog generator using conventional commit+
with monorepo supportUsage:
$ chlog [options]Example:
$ chlog -o CHANGELOG.md -t v1.0.0
$ chlog -o CHANGELOG.md -t v1.0.0
$ chlog -o CHANGELOG.md -t v1.0.0 -r 2
$ chlog -o CHANGELOG.md -t v1.0.0 -r 2 --commit-path crates/scope-crateOptions:
-t Tag name for the next release
-r Number of releases to generate the changelog
If 0, the whole changelog will be generated
(i.e. first release) (default: 1)
-o File to write the generated changelog
It will prepend the changelogs if the file exists
otherwise, will create a new one
--commit-path Generate a changelog scoped to a specific directoryFlags:
-h, --help Show this message
-V, --version Show version numberSource: https://github.com/ydcjeff/chlog
```## Contribution
- Make sure you have installed [Rust](https://www.rust-lang.org/tools/install).
- Setup git hook```sh
git config core.hookspath .githooks
```## LICENSE
[MIT](./LICENSE)