:neckbeard:🎉 Command line interface for managing release notes. 🎉:neckbeard:
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
test
.editorconfig
.eslintrc.yml
.gitignore
.travis.yml
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
package.json
release-notes.yml
yarn.lock

README.md

Release Notes CLI

Subscribe to Release Notes NPM Package Build Status MIT license

About

Release Notes CLI is a console tool for automated release notes management around traditional CHANGELOG files and our generalized Release Notes Schema Specification.

Installation

$ yarn global add @release-notes/cli
# or
$ npm i -g @release-notes/cli

Usage

$ release-notes -h

release-notes <command> [args]

Commands:
  release-notes init [file]      Initialize release notes file
  release-notes convert [file]   Convert release notes to another format
  release-notes validate [file]  Validate release notes file
  release-notes publish [file]   Publish release notes file to the hub
                                 (https://release-notes.com)

Options:
  --version, -v  Show version number
  --help, -h     Show help

Initialize Release Notes

$ release-notes init [options] [file]
Parameter Default Value Description
--help, -h false Show help
--file, -f "./release-notes.yml" Path to the release-notes.yml file to create.
--title, -t "Release Notes of something awesome" Title of the project
--description, -d empty Project description. Can be passed multiple times.

Example

If you want to initialize a new release-notes.yml file in your current working directory:

$ release-notes init --title 'Release notes of an awesome project.' \
    -d 'You can pass multiple lines of description' \
    -d 'This is a second line of description'

Convert Release Notes

$ release-notes convert [options] [file]
Parameter Default Value Description
--help, -h false Show help
--file, -f "./release-notes.yml" Path to some release-notes or CHANGELOG file
--type, -t empty - required The converter to use. Possible values are ["json", "release-notes", "yml", "changelog", "md"]

Convert a CHANGELOG.md file into a release-notes.yml definition:

$ release-notes convert -t release-notes CHANGELOG.md > release-notes.yml

Converts the release-notes.yml file in the cwd to json and print it to stdout:

$ release-notes convert -t json

Convert a release-notes.yml file to a CHANGELOG.md:

$ release-notes convert -t changelog path-to/release-notes.yml > CHANGELOG.md

Print all released versions

The following command rely on jq a json processor for the console.

# show versions of the ./release-notes.yml file
$ release-notes convert -t json | jq .releases[].version

# or of a CHANGELOG.md file
$ release-notes convert -t json path-to/CHANGELOG.md | jq .releases[].version

Validate Release Notes

$ release-notes validate [options] [file]
Parameter Default Value Description
--help, -h false Show help
--file, -f "./release-notes.yml" Path to a release-notes.yml file.

Validate the release-notes.yml file in the CWD:

$ release-notes validate

The command will exit with code 0 on success. Any other exit code can be treated as failure.


Publish Release Notes

$ release-notes publish [options] [file]

In order to publish some release notes to the release notes hub run:

$ release-notes publish \
    --scope my-user-name \
    --name some-package-name \
    --token PMxU6hEiLQPdoGkKy8rij1qsgrQmplk5gvWdJWubrNg= \
    ./CHANGELOG.md

This would publish your ./CHANGELOG.md definition to https://release-notes.com/@my-user-name/some-package-name.

You can also pass the parameters via environment variables, which may be handy.

Parameter Environment variable Description
--scope, -s RELEASE_NOTES_SCOPE Your release-notes hub username
--name, -n RELEASE_NOTES_NAME Your release notes handle (only numbers, letters and dashes)
--file, -f RELEASE_NOTES_FILE Path to a CHANGELOG.md or release-notes.yml file (default ./release-notes.yml)
--token, -t RELEASE_NOTES_TOKEN Your release-notes api token see (https://release-notes.com/auth-tokens)

Project Repositories


LICENSE

The files in this archive are released under MIT license. You can find a copy of this license in LICENSE.