Flux

Flux is a command-line tool that tries to eliminate the drudgery from your workflow.

It provides hooks for interacting with the following:

  • Tracker (currently only Pivotal Tracker is supported)
  • RCS (currently, git only)
  • Anything else you can think of, as long as someone implements it.

Some examples

Let's list all stories that have been scheduled (i.e., moved out of the icebox and into some iteration):

$ flux stories
ID        STATE      ASSIGNEE    STORY
12345678  unstarted              A developer can grab a story
12345679  finished   David Leal  A developer can link a branch to a story
12345680  finished   David Leal  A developer can mark a story as started
...

[TODO Complete workflow. For now try flux to see a list of implemented tasks.]

Configuration

A project is configured by placing a file named .flux in the project root. Each top level key represents a functional domain.

This project's .flux file is as follows:

trackers:
  adapter: pivotal_tracker
  project_id: 128808
rcs:
  adapter: git
workflows:
  adapter: mojotech

Local configuration

The .flux file should be used for project-wide configuration and kept under version control. Obviously you aren't going to store your account credentials there, so you need a different place where you can store them. That place is .flux.local. If you're using Git, this file should be added to the project's .gitignore.

Here's an example of a .flux.local file.

trackers:
  token: abcdef1234567890
  email: [email protected]

Note for Pivotal Tracker: Your API token is at https://www.pivotaltracker.com/profile