Skip to content
develop
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

You can’t perform that action at this time.