Command line interface for managing CHANGELOG.md files
Project description
# Changelog CLI
[![PyPI version](https://badge.fury.io/py/changelog-cli.svg)](https://badge.fury.io/py/changelog-cli)
[![Build Status](https://travis-ci.org/mc706/changelog-cli.svg?branch=master)](https://travis-ci.org/mc706/changelog-cli)
[![Code Health](https://landscape.io/github/mc706/changelog-cli/master/landscape.svg?style=flat)](https://landscape.io/github/mc706/changelog-cli/master)
[![Coverage Status](https://coveralls.io/repos/github/mc706/changelog-cli/badge.svg?branch=master)](https://coveralls.io/github/mc706/changelog-cli?branch=master)
[![PyPI](https://img.shields.io/pypi/pyversions/changelog-cli.svg)](https://pypi.org/project/changelog-cli/)
[![Stories in Ready](https://badge.waffle.io/mc706/changelog-cli.png?label=ready&title=Ready)](https://waffle.io/mc706/changelog-cli?utm_source=badge)
A command line interface for managing your CHANGELOG.md files. Designed to make it easy to manage your repositories
release history according to [Keep a Changelog](http://keepachangelog.com/).
## Installation
install using `pip` via:
```
pip install changelog-cli
```
## How To
To keep an accurate changelog, whenenever you commit a change that affects how end users use
your project, use this command line tool to add a line to the changelog.
If you added a new feature, use something like `changelog new "added feature x"`. This will add a
line to your `CHANGELOG.md` under the `### New` section.
When you are ready for release, run `changelog release` and that will infer the correct semantic
version based on the types of changes since the last release. For example your `new` change should
prompt a `minor (0.X.0)` release. A `breaks` change would prompt a `major (X.0.0)` version bump and `fix` or `change` changes
would prompt a `patch (0.0.X)`.
You can manually override what type of of release via `changelog release --minor` using the `--patch`, `--minor` or `--major`
flags.
## Commands
`changelog init` -> Creates a CHANGELOG.md with some basic documentation in it.
`changelog (new|change|fix|breaks) "<message>"` -> adds a line to the appropriate section
`changelog release (--major|minor|patch|suggest) (--yes)` -> Cuts a release for the changelog, incrementing the version.
`changelog current` -> returns the current version of the project based on the changelog
`changelog suggest` -> returns the suggested version of the next release based on the current logged changes
`changelog --version` -> get the current version of the changelog tool
`changelog --help` -> show helps screen
## Shortcut
If you get tired of typing out `changelog` for every command, it can also be accessed via its shorthand `cl`
## Example Usage
```
>>> changelog current
1.4.1
>>> changelog new "add new feature x"
>>> changelog suggest
1.5.0
>>> changelog breaks "removing key feature y"
>>> cl release
Planning on releasing version 2.0.0. Proceed? [y/N]: n
>>> cl release --minor
>>> cl current
1.5.0
```
Example Changelog as a result of the above
```
# CHANGELOG
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a Changelog](http://keepachangelog.com/).
## Unreleased
---
### New
### Changes
### Fixes
### Breaks
## 1.5.0 - (2017-06-09)
---
### New
* add new feature x
### Breaks
* remove key feature y
## 1.4.1 - (2017-05-29)
---
### Changes
* updating documentation
...
```
[![PyPI version](https://badge.fury.io/py/changelog-cli.svg)](https://badge.fury.io/py/changelog-cli)
[![Build Status](https://travis-ci.org/mc706/changelog-cli.svg?branch=master)](https://travis-ci.org/mc706/changelog-cli)
[![Code Health](https://landscape.io/github/mc706/changelog-cli/master/landscape.svg?style=flat)](https://landscape.io/github/mc706/changelog-cli/master)
[![Coverage Status](https://coveralls.io/repos/github/mc706/changelog-cli/badge.svg?branch=master)](https://coveralls.io/github/mc706/changelog-cli?branch=master)
[![PyPI](https://img.shields.io/pypi/pyversions/changelog-cli.svg)](https://pypi.org/project/changelog-cli/)
[![Stories in Ready](https://badge.waffle.io/mc706/changelog-cli.png?label=ready&title=Ready)](https://waffle.io/mc706/changelog-cli?utm_source=badge)
A command line interface for managing your CHANGELOG.md files. Designed to make it easy to manage your repositories
release history according to [Keep a Changelog](http://keepachangelog.com/).
## Installation
install using `pip` via:
```
pip install changelog-cli
```
## How To
To keep an accurate changelog, whenenever you commit a change that affects how end users use
your project, use this command line tool to add a line to the changelog.
If you added a new feature, use something like `changelog new "added feature x"`. This will add a
line to your `CHANGELOG.md` under the `### New` section.
When you are ready for release, run `changelog release` and that will infer the correct semantic
version based on the types of changes since the last release. For example your `new` change should
prompt a `minor (0.X.0)` release. A `breaks` change would prompt a `major (X.0.0)` version bump and `fix` or `change` changes
would prompt a `patch (0.0.X)`.
You can manually override what type of of release via `changelog release --minor` using the `--patch`, `--minor` or `--major`
flags.
## Commands
`changelog init` -> Creates a CHANGELOG.md with some basic documentation in it.
`changelog (new|change|fix|breaks) "<message>"` -> adds a line to the appropriate section
`changelog release (--major|minor|patch|suggest) (--yes)` -> Cuts a release for the changelog, incrementing the version.
`changelog current` -> returns the current version of the project based on the changelog
`changelog suggest` -> returns the suggested version of the next release based on the current logged changes
`changelog --version` -> get the current version of the changelog tool
`changelog --help` -> show helps screen
## Shortcut
If you get tired of typing out `changelog` for every command, it can also be accessed via its shorthand `cl`
## Example Usage
```
>>> changelog current
1.4.1
>>> changelog new "add new feature x"
>>> changelog suggest
1.5.0
>>> changelog breaks "removing key feature y"
>>> cl release
Planning on releasing version 2.0.0. Proceed? [y/N]: n
>>> cl release --minor
>>> cl current
1.5.0
```
Example Changelog as a result of the above
```
# CHANGELOG
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a Changelog](http://keepachangelog.com/).
## Unreleased
---
### New
### Changes
### Fixes
### Breaks
## 1.5.0 - (2017-06-09)
---
### New
* add new feature x
### Breaks
* remove key feature y
## 1.4.1 - (2017-05-29)
---
### Changes
* updating documentation
...
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
changelog-cli-0.5.1.tar.gz
(5.8 kB
view hashes)
Built Distribution
Close
Hashes for changelog_cli-0.5.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a79f8f958673edf389cdecabbe5b67b96188018873a2e4892a45dcafad461247 |
|
MD5 | 8bca61b6bd301a4ee3b953a751d1ab28 |
|
BLAKE2b-256 | f5531ae51017294077e5cf9aab296a3c0550822f602b938c9431109b4f900302 |