Bif Project Management Tool
    Bif is a project management tool with a command-line interface. It
    tracks tasks and issues using a local database, exchanging updates with
    remote databases on demand. The tool runs on any system that supports
    Perl and SQLite.

    The underlying data model supports a couple of noteworthy features that
    make bif particularly useful for distributed teams and interdependent
    projects:

    Offline Operation
        Many bif actions work offline; you can create and update tasks and
        issues while disconnected from the network.

    Inter-project Cooperation
        Bif issues (and tasks) can be linked with (or copied to) multiple
        projects, mirroring the inter-project relationships that exist in
        the real world.

    This flexibility comes with minimal additional complexity; bif commands
    are designed for consistency and ease of use. See bif-intro for a very
    quick hands-on introduction.

Project Status
    Bif is still at a very early stage of development. Much of the
    functionality is missing, documentation is incomplete (or in some cases
    ahead of the implementation) and test coverage is lacking and/or
    failing. DO NOT USE BIF FOR REAL DATA!

    We are actively seeking contributors. See below for how you can help.

Project Organisation
    Website:
        <http://bifax.org/bif/>

    Mailing List:
        Doesn't exist yet.

    Issue Tracker:
        Doesn't exit yet.

    Code Repository:
        git://bifax.org/bif.git/

Documentation
    The main entry point for reference documentation is the bif manual.
    After installation you should be able to access it by running "bif
    help", or "perldoc bif", or "man bif". You can also browse the
    documentation online at <http://bifax.org/bif/doc/>.

Build Requirements
  C Compiler
    You will need a C compiler to build some of the dependencies (at least
    DBI, DBD::SQLite, Digest::SHA and Coro require one) unless your
    distribution already contains them. Debian and its derivatives package
    these up as "libdbi-perl", "libdbd-sqlite3-perl", "libdigest-sha-perl"
    and "libcoro-perl".

  Cpanminus (cpanm)
    As a Perl wrapper around an SQLite database, bif depends on several
    packages from the Comprehensive Perl Archive Network (CPAN
    <http://cpan.org>). It is recommended that you install bif using the
    "cpanm" client, which can build and install the dependencies for you.

    If you do not have a prepackaged "cpanminus" package in your operating
    system distribution, then it can be installed directly using "curl" and
    "perl" as shown below.

        #!sh
        curl -L http://cpanmin.us | perl - --sudo App::cpanminus

Installing
    To build and install a bif release system-wide simply point "cpanm" at
    the appropriate tarball, using the "--sudo" option.

        #!sh
        cpanm --sudo http://bifax.org/download/bif-stable.tar.gz

Test Builds
    You can test a release without having to install it. The following
    commands for example would download the latest development release and
    build a local "bif" command (in t/bif) with local dependencies (in
    extlib/) without affecting the rest of your system.

        #!sh
        curl http://bifax.org/download/bif-devel.tar.gz
        tar zxf bif-devel.tar.gz

        cd App-bif-VERSION  # replace VERSION as appropriate
        cpanm --installdeps --local-lib extlib .

        t/bif  # run the in-tree bif command

Contributing
    You do not have to be a developer to contribute to bif! It is arguable
    that many key aspects of successful open source projects have more to do
    with the community and non-development contributions than technical
    skills.

    What long-term project members lose relatively quickly are those fresh
    eyes and first impressions that easily identify missing, broken and
    unexplained things. Therefore feedback from first-time users, both
    positive and negative, is extremely valuable. Please get in touch!

    Otherwise help would be appreciated for practically anything: reference
    documentation, tutorials, translation, user-interface consistency,
    website copywriting & design, blogging & advocacy, not to mention Perl /
    SQLite coders, testers, operating system distribution integrators, etc.
    Software architect? The overall design could use a big dose of
    third-party analysis. Big-picture thinker? How could the bif model of
    information distribution be applied to addressbooks, slow-changing
    datasets (e.g. country lists, currencies), business transactions, etc.
    Financial sponsorship would also be more than welcome.

Development
    For those comfortable with git, development takes place on the "devel"
    branch of the git repository, with communication via the mailing list.
    All Perl and POD content is expected to be "tidy" according to the
    .perltidyrc and .podtidy-opts files in the source tree. The easiest way
    to ensure this happens on commit is to install "githook-perltidy":

        #!sh
        cpanm App::githook_perltidy

        # cd into your git repository and then:
        githook-perltidy install

    We encourage personal development branches in the repository on
    bifax.org. Send a request to the mailing list with your public ssh key
    (something like $HOME/.ssh/id_rsa.pub) and your desired *username*. Once
    the permissions are configured on the server then you can do something
    like the following:

        #!sh
        # Tell git to use ssh authentication
        git config remote.origin.url ssh://git@bifax.org:bif.git

        # Create your own feature branch
        git checkout -b u/USERNAME/feature devel

        # $EDIT files
        git commit

        # Rebase your tree against most recent devel
        git fetch
        git rebase origin/devel
        git push origin u/USERNAME/feature

        # tell the mailing list what you have done

    This allows anyone who clones the repository to see, modify and merge
    your work from the command line, without having to visit a website to
    find where all the forks are.

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

    This program, and all material accompanying it, is distributed in the
    hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
    implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    See the GNU General Public License for more details.

Credits
    Bif was started by Mark Lawrence <nomad@null.net>.

