Skip to content

Commit f1d7720

Browse files
committed
add CONTRIBUTING.md and COLLABORATOR_GUIDE.md
1 parent 6a2b830 commit f1d7720

File tree

2 files changed

+221
-0
lines changed

2 files changed

+221
-0
lines changed

COLLABORATOR_GUIDE.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# jade Collaborator Guide
2+
3+
**Contents**
4+
5+
* Issues and Pull Requests
6+
* Accepting Modifications
7+
- Involving the TC
8+
* Landing Pull Requests
9+
- Technical HOWTO
10+
11+
This document contains information for Collaborators of the jade
12+
project regarding maintaining the code, documentation and issues.
13+
14+
Collaborators should be familiar with the guidelines for new
15+
contributors in [CONTRIBUTING.md](./CONTRIBUTING.md).
16+
17+
## Issues and Pull Requests
18+
19+
Courtesy should always be shown to individuals submitting issues and
20+
pull requests to the jade project.
21+
22+
Collaborators should feel free to take full responsibility for
23+
managing issues and pull requests they feel qualified to handle, as
24+
long as this is done while being mindful of these guidelines and the
25+
opinions of other Collaborators.
26+
27+
Collaborators may **close** any issue or pull request they believe is
28+
not relevant for the future of the jade project. Where this is
29+
unclear, the issue should be left open for several days to allow for
30+
additional discussion. Where this does not yield input from jade
31+
Collaborators or additional evidence that the issue has relevance, the
32+
issue may be closed. Remember that issues can always be re-opened if
33+
necessary.
34+
35+
## Accepting Modifications
36+
37+
All modifications to the jade code and documentation should be
38+
performed via GitHub pull requests, including modifications by
39+
Collaborators.
40+
41+
All pull requests must be reviewed and accepted by a Collaborator with
42+
sufficient expertise who is able to take full responsibility for the
43+
change. In the case of pull requests proposed by an existing
44+
Collaborator, an additional Collaborator is required for sign-off.
45+
46+
In some cases, it may be necessary to summon a qualified Collaborator
47+
to a pull request for review by @-mention.
48+
49+
If you are unsure about the modification and are not prepared to take
50+
full responsibility for the change, defer to another Collaborator.
51+
52+
Before landing pull requests, sufficient time should be left for input
53+
from other Collaborators. Leave at least 48 hours during the week and
54+
72 hours over weekends to account for international time differences
55+
and work schedules. Trivial changes (e.g. those which fix minor bugs
56+
or improve performance without affecting API or causing other
57+
wide-reaching impact) may be landed after a shorter delay.
58+
59+
Where there is no disagreement amongst Collaborators, a pull request
60+
may be landed given appropriate review. Where there is discussion
61+
amongst Collaborators, consensus should be sought if possible.
62+
63+
All bugfixes require a test case which demonstrates the defect. The
64+
test should *fail* before the change, and *pass* after the change.
65+
66+
### Building documentation
67+
68+
Create a file with the name ```.release.json``` and put your GitHub token
69+
into it so that it be read with JSON.parse:
70+
71+
```
72+
"abc123..."
73+
```
74+
75+
Run ```node release.js``` which will build it from the "docs" directory and then commit it to gh-pages automatically.
76+
77+
### Releasing
78+
79+
Open an issue with a proposed changelog and semver-compatible version number.
80+
81+
Once this has been approved by the Collaborators, run ```npm prepublish```,
82+
update ```History.md``` with the new changelog and bump the version number in
83+
```package.json``` and ```component.json```.
84+
85+
Commit these changes and run ```npm publish```.
86+
87+
### I just made a mistake
88+
89+
With git, there's a way to override remote trees by force pushing
90+
(`git push -f`). This should generally be seen as forbidden (since
91+
you're rewriting history on a repository other people are working
92+
against) but is allowed for simpler slip-ups such as typos in commit
93+
messages. However, you are only allowed to force push to any jade
94+
branch within 10 minutes from your original push. If someone else
95+
pushes to the branch your commit lives in or the 10 minute period
96+
passes, consider the commit final.

CONTRIBUTING.md

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Contributing to jade
2+
3+
### Step 1: Fork
4+
5+
Fork the project [on GitHub](https://github.com/jadejs/jade) and check out your
6+
copy locally.
7+
8+
```text
9+
$ git clone [email protected]:username/jade.git
10+
$ cd jade
11+
$ git remote add upstream git://github.com/jadejs/jade.git
12+
```
13+
14+
#### Which branch?
15+
16+
For developing new features and bug fixes, the `master` branch should be pulled
17+
and built upon.
18+
19+
### Step 2: Branch
20+
21+
Create a feature branch and start hacking:
22+
23+
```text
24+
$ git checkout -b my-feature-branch -t origin/master
25+
```
26+
27+
### Step 3: Commit
28+
29+
Make sure git knows your name and email address:
30+
31+
```text
32+
$ git config --global user.name "J. Random User"
33+
$ git config --global user.email "[email protected]"
34+
```
35+
36+
### Step 4: Rebase
37+
38+
Use `git rebase` (not `git merge`) to sync your work from time to time.
39+
40+
```text
41+
$ git fetch upstream
42+
$ git rebase upstream/master
43+
```
44+
45+
### Step 5: Test
46+
47+
Bug fixes and features **should come with tests**. Add your tests in the
48+
test/ directory. Look at other tests to see how they should be
49+
structured (license boilerplate, common includes, etc.).
50+
51+
```text
52+
$ npm test
53+
```
54+
55+
Make sure that all tests pass. Please, do not submit patches that fail.
56+
57+
58+
### Step 6: Push
59+
60+
```text
61+
$ git push origin my-feature-branch
62+
```
63+
64+
Go to https://github.com/yourusername/jades and select your feature branch.
65+
Click the 'Pull Request' button and fill out the form.
66+
67+
Pull requests are usually reviewed within a few days. If there are comments
68+
to address, apply your changes in a separate commit and push that to your
69+
feature branch. Post a comment in the pull request afterwards; GitHub does
70+
not send out notifications when you add commits.
71+
72+
73+
## Developer's Certificate of Origin 1.0
74+
75+
By making a contribution to this project, I certify that:
76+
77+
* (a) The contribution was created in whole or in part by me and I
78+
have the right to submit it under the open source license indicated
79+
in the file; or
80+
* (b) The contribution is based upon previous work that, to the best
81+
of my knowledge, is covered under an appropriate open source license
82+
and I have the right under that license to submit that work with
83+
modifications, whether created in whole or in part by me, under the
84+
same open source license (unless I am permitted to submit under a
85+
different license), as indicated in the file; or
86+
* (c) The contribution was provided directly to me by some other
87+
person who certified (a), (b) or (c) and I have not modified it.
88+
89+
90+
## Code of Conduct
91+
92+
This Code of Conduct is adapted from [Rust's wonderful
93+
CoC](http://www.rust-lang.org/conduct.html).
94+
95+
* We are committed to providing a friendly, safe and welcoming
96+
environment for all, regardless of gender, sexual orientation,
97+
disability, ethnicity, religion, or similar personal characteristic.
98+
* Please avoid using overtly sexual nicknames or other nicknames that
99+
might detract from a friendly, safe and welcoming environment for
100+
all.
101+
* Please be kind and courteous. There's no need to be mean or rude.
102+
* Respect that people have differences of opinion and that every
103+
design or implementation choice carries a trade-off and numerous
104+
costs. There is seldom a right answer.
105+
* Please keep unstructured critique to a minimum. If you have solid
106+
ideas you want to experiment with, make a fork and see how it works.
107+
* We will exclude you from interaction if you insult, demean or harass
108+
anyone. That is not welcome behaviour. We interpret the term
109+
"harassment" as including the definition in the [Citizen Code of
110+
Conduct](http://citizencodeofconduct.org/); if you have any lack of
111+
clarity about what might be included in that concept, please read
112+
their definition. In particular, we don't tolerate behavior that
113+
excludes people in socially marginalized groups.
114+
* Private harassment is also unacceptable. No matter who you are, if
115+
you feel you have been or are being harassed or made uncomfortable
116+
by a community member, please contact one of the channel ops or any
117+
of the TC members immediately with a capture (log, photo, email) of
118+
the harassment if possible. Whether you're a regular contributor or
119+
a newcomer, we care about making this community a safe place for you
120+
and we've got your back.
121+
* Likewise any spamming, trolling, flaming, baiting or other
122+
attention-stealing behaviour is not welcome.
123+
* Avoid the use of personal pronouns in code comments or
124+
documentation. There is no need to address persons when explaining
125+
code (e.g. "When the developer")

0 commit comments

Comments
 (0)