Metadata-Version: 2.0
Name: changelog-cli
Version: 0.3.0
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.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: prospector; extra == 'dev'
Requires-Dist: pypandoc; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Requires-Dist: wheel; extra == 'dev'

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

|PyPI version| |Build Status| |Code Health| |Coverage Status|

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

.. |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


