https://github.com/moolen/asdf
Changelog generation as easy as typing asdf
https://github.com/moolen/asdf
Last synced: 10 months ago
JSON representation
Changelog generation as easy as typing asdf
- Host: GitHub
- URL: https://github.com/moolen/asdf
- Owner: moolen
- License: apache-2.0
- Created: 2017-11-12T15:35:15.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-11T17:26:12.000Z (over 8 years ago)
- Last Synced: 2025-02-23T19:46:31.464Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 1.21 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# asdf
Generates a changelog based on semantic commit messages.
## Usage
```
$ asdf --help
NAME:
asdf - Changelog and version generation based on semantic commit messages.
Specification about the structure is here: http://conventionalcommits.org
All commit messages should follow this very convention:
-------------------------------
(scope):
-------------------------------
Example commit message subjects:
feat(TICKET-123): implementing a feature
fix: fixed something
(TICKET-123): some message
USAGE:
asdf [global options] command [command options] [arguments...]
VERSION:
0.1.0
COMMANDS:
next-version, n Tells you the next version you want to release. By default it uses a VERSION file to fetch the history since the last release. the file location may be overridden via --file
generate, g generates a changelog and the next version based on semantic commits and writes them to files
changelog, c generates the changelog and writes it to stdout. By default it uses a VERSION file to fetch the history since the last release. This can be overridden by defining a--version and --revision
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--dir value set the current wokring directory
--help, -h show help
--version, -v print the version
```
### Commit Message Schema
Commit messages have to follow the angularjs commit message conventions [[link](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit)].
#### Examples
- `test(PROJ-1312): write tests. do yourself a favor`
- `docs(PROJ-1000):some thing!`
- `(TICKK-123): foobar booman`
- `bug: Y U NO GOAT?`
#### Resulting Markdown
```
## 0.2.0 (2017-11-14)
####
* * WIP: generate tests (8835f264)
#### Documentation
* display usage (d2bd0903)
#### Feature
* next command (e6beb561)
* parsing commit body (6c0eed43)
#### Bug Fixes
* changelog test depended on time oo (ac4b9d06)
* parsing multi-line commits (9c1b0bea)
#### Code Refactoring
* removing asdf.json (eb481d20)
* changelog cmd (c80c64e5)
* getting rid of type constraints (78361cc1)
* cmd now in repo root (94e034d4)
#### Tests
* config (ddf8535f)
* cli commands (dcd068a0)
```
### default types
| Key | Label | Change type |
| --- | --- | --- |
| breaking | Breaking Changes | Major |
| feat | Feature | Minor |
| fix | Bug Fixes | Patch |
| perf | Performance Improvements | Patch |
| revert | Reverts | Patch |
| docs | Documentation | Patch |
| refactor | Code Refactoring | Patch |
| test | Tests | Patch |
| chore | Chores | Patch |
### TODO
[ ] add flag `--merge-only`to show only merges