doc: add HACKING document
[rainbows.git] / HACKING
bloba855eacc4da8be07d6efffaa017608f976fffdb8
1 = Rainbows! Hacker's Guide
3 === Tests
5 All tests are written in POSIX shell.  See README file in the t/ directory.
7 === Documentation
9 We use RDoc 3.9.x with Darkfish for documentation as much as possible,
10 if you're on Ruby 1.8 you want to install the latest "rdoc" gem.  Due to
11 the lack of RDoc-to-manpage converters we know about, we're writing
12 manpages in Markdown and converting to troff/HTML with Pandoc.
14 Please wrap documentation at 72 characters-per-line or less (long URLs
15 are exempt) so it is comfortably readable from terminals.
17 When referencing mailing list posts, use
18 "http://mid.gmane.org/$MESSAGE_ID" if possible since the Message-ID
19 remains searchable even if Gmane becomes unavailable.
21 == Contributing
23 Contributions are welcome in the form of patches, pull requests, code
24 review, testing, documentation, user support or any other feedback is
25 welcome.  The mailing list is the central coordination point for all
26 user and developer feedback and bug reports.
28 === Submitting Patches
30 Follow conventions already established in the code and do not exceed 80
31 characters per line.
33 Inline patches (from "git format-patch -M") to the mailing list are
34 preferred because they allow code review and comments in the reply to
35 the patch.
37 We will adhere to mostly the same conventions for patch submissions as
38 git itself.  See the Documentation/SubmittingPatches document
39 distributed with git on on patch submission guidelines to follow.  Just
40 don't email the git mailing list or maintainer with Rainbows! patches :)
42 No subscription is required to post to the mailing list at
43 rainbows-talk@rubyforge.org
45 Please ask for Cc: if you are not subscribed (Cc:-by-default is uncommon
46 on Ruby mailing lists)
48 == Building a Gem
50 In order to build the gem, you must install the following components:
52  * wrongdoc
53  * pandoc
55 You can build the Unicorn gem with the following command:
57   gmake gem
59 == Running Development Versions
61 It is easy to install the contents of your git working directory:
63 Via RubyGems (recommended):
65   gmake install-gem
67 Without RubyGems (via setup.rb):
69   ruby setup.rb
71 It is not at all recommended to mix a RubyGems installation with an
72 installation done without RubyGems, however.