[DOCS] Add Contributing and Internal Design docs
[parrot-plumage:parrot-plumage.git] / docs / hacking / contributing.pod
1 =begin
2
3 =head1 Contributing
4
5 =head2 Getting Started
6
7 First, read through our short L<Internal Design|design-internals.pod> document
8 to get an idea of what things go where.  After that, you might want to take a
9 look at some of the more detailed documents in the F<docs/hacking/> directory;
10 several tasks (such as adding new commands to F<plumage>) have by now become
11 sufficiently regular that we have documented the usual workflow.
12
13 To contribute code right now you will want to be familiar with both the
14 NQP and PIR languages, though over time PIR expertise becomes less important
15 as we replace old PIR code with NQP.  Our metadata is stored as JSON, which
16 should be fairly easy to understand, but currently the Parrot JSON parser is
17 rather picky, so it helps to be pedantic if it's whining at you.
18
19
20 =head2 The Rules
21
22 (Don't worry, there aren't many.)
23
24 Fundamentally, our committer rules boil down to the same ones Parrot uses:
25
26   Rule 1: Don't break the build.
27   Rule 2: Increase the awesome.
28
29 (C<chromatic++> for these.)
30
31 Our code layout conventions match those in most common use on the Parrot
32 project, and are all relatively common sense.  If you have any questions,
33 just ask.
34
35
36 =head2 Submitting Your Changes
37
38 Commit bits are given freely to those who have sent in a signed CLA to the
39 Parrot project; just ping C<japhb> on C<#parrot> at C<irc.parrot.org> and ask.
40 If you prefer, you are welcome to clone the git repository and send patches --
41 one of us will review them and commit or reply with comments.
42
43 With your first patch or commit, please add yourself to the F<CREDITS> file.
44
45 And that's it.  Welcome to Plumage, we're happy to have you!
46
47 =end