=head1 A Short Introduction To Bif

This is a very quick, very hands-on introduction to the bif project
management tool.  The examples given here are based on project
management situations typically encountered by software developers.  It
is assumed that you are comfortable working with command line programs
and your operating system shell (e.g. bash).

For a more thorough approach see the L<bif> manual.  The documentation
index can be found in L<bif-doc-index>.

=head1 Version

0.1.0_11 (2014-04-18)

=begin comment

    =head1 Initialize your identity

    Some bif actions require your name and email address. Run the following
    command before doing anything else to set them up:

        #!sh
        bif new id my@email.address My Name

=end comment

=head1 Initialize a repository

A repository must be initialized before you can create any topics:

    #!sh
    bif init

The first time you run this you will be asked for your email address
and name.

=head1 Create, List And Modify Topics

Create a project, identified by a name and a title. You will also be
prompted to add an initial update message.

    #!sh
    bif new project todo Things to do

Create some tasks and issues. Use the C<--message|-m> option to prevent
your $EDITOR from being invoked.

    #!sh
    bif new task Take out the rubbish
    bif new issue I need more spare time -m "meh!"

Retrieve the lists of things you have created:

    #!sh
    bif list projects
    bif list topics

Change the status of some things using the C<update> command, but first
you might want to know which status types are valid:

    #!sh
    bif list task-status
    bif update 16 closed

View the history of changes to a particular topic:

    #!
    bif log 16

Not giving an ID argument to C<log> will display the entire history of
the repository.

=head1 Share An Issue Between Two Projects

    #!sh
    bif new project other Someone elses problem
    bif push 17 other

But recognise that their status can be individually modified:

    #!sh
    bif update 45 closed

So how do we see all the current statuses of an issue?

    bif show 45

=head1 Fork An Existing Project

Say you are managing a software project, and you are releasing a new
version but are also continuing to work on your development branch.
Rather than having to push each issue separately from the old project
to the new we can just fork the old one.

    #!sh
    bif new project v2 --fork devel

And notice that the new project has exactly the same issues as the
original:

    #!sh
    bif list topics

=head1 Collaborating With Others

Need to register with an organisation's hub somewhere, and may as well
give the hub an alias while you are at it:

    #!sh
    bif register organisation@hub.com --alias org

Then, most likely, someone else already created the project, and you
just want to work on it too:

    #!sh
    bif import todo org
    bif list projects

Then to exchange updates you make and get updates others have made,
just call C<sync>:

    #!sh
    bif sync

=head1 See Also

L<bif>(1), L<bif-doc-faq>(1), L<bif-doc-index>(1)

=head1 Author

Mark Lawrence E<lt>nomad@null.netE<gt>

=head1 Copyright and License

Copyright 2013-2014 Mark Lawrence <nomad@null.net>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3 of the License, or (at your
option) any later version.

