Skip to content

Commit 3d784a2

Browse files
committed
first draft of CONTRIBUTING.md
1 parent e5480b7 commit 3d784a2

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed

CONTRIBUTING.md

+109
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# Contributing
2+
3+
Thanks for your interest in helping out! Here are a **few** _weird_ tricks to
4+
~~cut your mortgage in half~~ maximize the global net efficiency of your efforts!
5+
6+
## Issues
7+
8+
### Search open + closed issues for similar cases.
9+
10+
You may find an open issue that closely matches what you are thinking. You
11+
may also find a closed issue with discussion that either solves your problem
12+
or explains why we are unlikely to solve it in the near future.
13+
14+
If you find a matching issue that is open, and marked `accepted` and/or `help
15+
wanted`, you might want to [open a PR](#prs).
16+
17+
### Open an issue.
18+
19+
Let's discuss your issue. Could be as simple as unclear documentation or a
20+
wonky config file.
21+
If you're suggesting a feature, it might exist and need better
22+
documentation, or it might be in process. Even given those, some discussion might
23+
be warranted to ensure the enhancement is clear.
24+
25+
You're welcome to jump right to a PR, but without a discussion, can't make any
26+
guarantees about merging.
27+
28+
That said: sometimes seeing the code makes the discussion clearer.😄
29+
30+
This is a helpful contribution all by itself. Thanks!
31+
32+
## PRs
33+
34+
If you would like to implement something, firstly: thanks! Community contributions
35+
are a magical thing. Like Redux or the flux capacitor, they make open source possible.
36+
37+
Here are some things to keep in mind when working on a PR:
38+
39+
#### Tests
40+
41+
A PR that is just failing test cases for an existing issue is very helpful, as this
42+
can take as much time (if not more) as it takes to implement a new feature or fix
43+
a bug.
44+
45+
If you only have enough time to write tests, fantastic! Submit away. This is a great
46+
jumping-off point for a core contributor or even another PR to continue what you've started.
47+
48+
#### Docs
49+
50+
For enhancements to rules, please update the docs in `docs/rules` matching the rule
51+
filename from `src/rules`.
52+
53+
Also, take a quick look at the rule summary in README.md in case it could use tweaking,
54+
or add a line if you've implemented a new rule.
55+
56+
Bugfixes may not warrant docs changes, though it's worth skimming the existing
57+
docs to see if there are any relevant caveats that need to be removed.
58+
59+
#### Changelog
60+
61+
Please add a quick blurb to the [**Unreleased**](./CHANGELOG.md#unreleased) section of the change log. Give yourself
62+
some credit, and please link back to the PR for future reference. This is especially
63+
helpful for resolver changes, as the resolvers are less frequently modified and published.
64+
65+
Note also that the change log can't magically link back to Github entities (i.e. PRs,
66+
issues, users) or rules; there are a handful of footnote URL definitions at the bottom.
67+
You may need to add one or more URL if you've square-bracketed any such items.
68+
69+
## Checklist
70+
71+
- [ ] search open/closed issues
72+
- [ ] discuss bug/enhancement in new or old issue
73+
74+
PR time:
75+
- [ ] write tests
76+
- [ ] implement feature/fix bug
77+
- [ ] update docs
78+
- [ ] make a note in change log
79+
80+
Remember, you don't need to do it all yourself; any of these are helpful! 😎
81+
82+
## Code of Conduct
83+
84+
This is not so much a set of guidelines as a reference for what I hope may become
85+
a shared perspective on the project. I hope to write a longer essay to this end
86+
in the future. Comments are welcome, I'd like this to be as clear as possible.
87+
88+
### Empathy
89+
90+
People have feelings and perspectives, and people say and believe things for good reasons.
91+
92+
If you find that you summarily disagree with a perspective stated by someone else,
93+
you likely each have histories that have moved you in opposite directions on a continuum
94+
that probably does not have a "wrong" or "right" end. It may be that you simply
95+
are working toward different goals that require different strategies. Every decision
96+
has pros and cons, and could result in some winners and some losers. It's great to
97+
discuss this so that both are well-known, and realize that even with infinite discussion,
98+
cons and losers will likely never go to zero.
99+
100+
Also note that we're not doing brain surgery here, so while it's fine if we spend some time
101+
understanding each other, cordial disagreement should not be expensive in the
102+
long run, and we can accept that we will get some things wrong before we get them right (if ever!).
103+
104+
If we can all get together behind the common goal of embracing empathy, everything else should be able to work itself out.
105+
106+
#### Attribution
107+
108+
Thanks for help from http://mozillascience.github.io/working-open-workshop/contributing/
109+
for inspiration before I wrote this. --ben

0 commit comments

Comments
 (0)