= Rainbows! Hacker's Guide

=== Tests

All tests are written in POSIX shell.  See README file in the t/ directory.

=== Documentation

Due to the lack of RDoc-to-manpage converters we know about, we're
writing manpages in Markdown and converting to troff/HTML with Pandoc.

Please wrap documentation at 72 characters-per-line or less (long URLs
are exempt) so it is comfortably readable from terminals.

When referencing mailing list posts, use
"https://bogomips.org/rainbows-public/<Message-ID>/" if possible since
the Message-ID remains searchable even if the website becomes unavailable.

== Contributing

Contributions are welcome in the form of patches, pull requests, code
review, testing, documentation, user support or any other feedback is
welcome.  The mailing list is the central coordination point for all
user and developer feedback and bug reports.

=== Submitting Patches

Follow conventions already established in the code and do not exceed 80
characters per line.

Inline patches (from "git format-patch -M") to the mailing list are
preferred because they allow code review and comments in the reply to
the patch.

We will adhere to mostly the same conventions for patch submissions as
git itself.  See the Documentation/SubmittingPatches document
distributed with git on on patch submission guidelines to follow.  Just
don't email the git mailing list or maintainer with Rainbows! patches :)

No subscription is required to post to the mailing list at
rainbows-public@bogomips.org

Please Cc: everyone on replies, as not everyone is subscribed.

== Building a Gem

In order to build the gem, you must install the following components:

 * olddoc (RubyGem)
 * pandoc

You can build the Unicorn gem with the following command:

  gmake gem

== Running Development Versions

It is easy to install the contents of your git working directory:

Via RubyGems (recommended):

  gmake install-gem

Without RubyGems (via setup.rb):

  ruby setup.rb

It is not at all recommended to mix a RubyGems installation with an
installation done without RubyGems, however.
