Metadata-Version: 2.0
Name: changelog-cli
Version: 0.5.2
Summary: Command line interface for managing CHANGELOG.md files
Home-page: https://github.com/mc706/changelog-cli
Author: Ryan McDevitt
Author-email: mcdevitt.ryan@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Documentation
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Documentation
Classifier: Topic :: Utilities
Requires-Dist: click
Provides-Extra: dev
Requires-Dist: coverage; extra == 'dev'
Requires-Dist: invoke; extra == 'dev'
Requires-Dist: mock; extra == 'dev'
Requires-Dist: prospector; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Requires-Dist: wheel; extra == 'dev'

Changelog CLI
=============

|PyPI version| |Build Status| |Code Health| |Coverage Status| |PyPI|
|Stories in Ready|

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| image:: https://badge.fury.io/py/changelog-cli.svg
   :target: https://badge.fury.io/py/changelog-cli
.. |Build Status| image:: https://travis-ci.org/mc706/changelog-cli.svg?branch=master
   :target: https://travis-ci.org/mc706/changelog-cli
.. |Code Health| image:: https://landscape.io/github/mc706/changelog-cli/master/landscape.svg?style=flat
   :target: https://landscape.io/github/mc706/changelog-cli/master
.. |Coverage Status| image:: https://coveralls.io/repos/github/mc706/changelog-cli/badge.svg?branch=master
   :target: https://coveralls.io/github/mc706/changelog-cli?branch=master
.. |PyPI| image:: https://img.shields.io/pypi/pyversions/changelog-cli.svg
   :target: https://pypi.org/project/changelog-cli/
.. |Stories in Ready| image:: https://badge.waffle.io/mc706/changelog-cli.png?label=ready&title=Ready
   :target: https://waffle.io/mc706/changelog-cli?utm_source=badge


