continuity

A strategy for continuous development, inspired by GitHub Flow.

OTHER License

Downloads
666
Stars
27
Committers
1

continuity: Continuous dev flow via GitHub Issues, Pivotal Tracker, or JIRA.

Inspired by GitHub Flow (https://guides.github.com/introduction/flow)

The Concept

This is a re-summarization of GitHub Flow:

  • Anything in the 'master' branch is deployable.
  • All new work is created with a 'issue' branch off of 'master' (or an
    integration branch).
  • In process work is regularly committed locally and pushed to a remote 'issue'
    branch.
  • When the 'issue' branch is ready for review, open a pull request.
  • Once the 'issue' branch is reviewed, merge it into 'master' (or an
    integration branch).
  • Ideally, 'master' will be deployed as soon as an 'issue' is merged and pushed.

The first and last of these points are informed primarily by The Lean Startup Movement. If you haven't already, buy and read the book by Eric Ries (http://theleanstartup.com). Seriously, do that now. Then come back here when you're inspired to continuously build-measure-learn.

The middle four points are covered by continuity. Once a git repository is configured for continuity; issue management, branching, pull request review, and merging are a breeze. And it's all handled at the command line using custom git commands. So you're not bouncing around between github.com, pivotaltracker.com, JIRA, and your code in order to get things done. Stay in the zone!

The Installation

Simple with pip:

$ pip install continuity

Better with brew:

$ brew tap jzempel/formula $ brew install https://raw.github.com/jzempel/homebrew-formula/master/continuity.rb

To configure a repository for continuity, run the following command:

$ continuity init

The Interface

init Initialize a git repository for use with continuity.

start (aliased by init as git-start) Start a branch linked to an issue/story.

commit Augments issue/story commit messages with a pre-commit-msg hook.

review (aliased by init as git-review) Open a GitHub pull request for issue/story branch review.

finish (aliased by init as git-finish) Finish an issue/story branch.

tasks (aliased by init as git-tasks) List and manage issue/story tasks.

  • with GitHub Issues or JIRA configuration:

issues (aliased by init as git-issues) List open issues.

issue (aliased by init as git-issue) Display issue branch information.

  • with Pivotal Tracker configuration:

backlog (aliased by init as git-backlog) List backlog stories.

story (aliased by init as git-story) Display story branch information.

Check out the documentation (http://pythonhosted.org/continuity) for more details.