Skip to content

Commit bc63f2b

Browse files
authored
Update CONTRIBUTING doc with various clarifications (mastodon#33517)
1 parent ab4874f commit bc63f2b

File tree

1 file changed

+43
-15
lines changed

1 file changed

+43
-15
lines changed

CONTRIBUTING.md

Lines changed: 43 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,49 +9,77 @@ You can contribute in the following ways:
99
- Contributing code to Mastodon by fixing bugs or implementing features
1010
- Improving the documentation
1111

12-
If your contributions are accepted into Mastodon, you can request to be paid through [our OpenCollective](https://opencollective.com/mastodon).
13-
1412
Please review the org-level [contribution guidelines] for high-level acceptance
1513
criteria guidance and the [DEVELOPMENT] guide for environment-specific details.
1614

17-
[contribution guidelines]: https://github.com/mastodon/.github/blob/main/CONTRIBUTING.md
18-
1915
## API Changes and Additions
2016

21-
Please note that any changes or additions made to the API should have an accompanying pull request on [our documentation repository](https://github.com/mastodon/documentation).
17+
Any changes or additions made to the API should have an accompanying pull
18+
request on our [documentation repository].
2219

23-
## Bug reports
20+
## Bug Reports
2421

25-
Bug reports and feature suggestions must use descriptive and concise titles and be submitted to [GitHub Issues](https://github.com/mastodon/mastodon/issues). Please use the search function to make sure that you are not submitting duplicates, and that a similar report or request has not already been resolved or rejected.
22+
Bug reports and feature suggestions must use descriptive and concise titles and
23+
be submitted to [GitHub Issues]. Please use the search function to make sure
24+
there are not duplicate bug reports or feature requests.
2625

2726
## Translations
2827

29-
You can submit translations via [Crowdin](https://crowdin.com/project/mastodon). They are periodically merged into the codebase.
28+
Translations are community contributed via [Crowdin]. They are periodically
29+
reviewed and merged into the codebase.
3030

3131
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/mastodon/localized.svg)](https://crowdin.com/project/mastodon)
3232

33-
## Pull requests
33+
## Pull Requests
34+
35+
### Size and Scope
36+
37+
Our time is limited and PRs making large, unsolicited changes are unlikely to
38+
get a response. Changes which link to an existing confirmed issue, or which come
39+
from a "help wanted" issue or other request are more likely to be reviewed.
3440

35-
**Please use clean, concise titles for your pull requests.** Unless the pull request is about refactoring code, updating dependencies or other internal tasks, assume that the person reading the pull request title is not a programmer or Mastodon developer, but instead a Mastodon user or server administrator, and **try to describe your change or fix from their perspective**. We use commit squashing, so the final commit in the main branch will carry the title of the pull request, and commits from the main branch are fed into the changelog. The changelog is separated into [keepachangelog.com categories](https://keepachangelog.com/en/1.0.0/), and while that spec does not prescribe how the entries ought to be named, for easier sorting, start your pull request titles using one of the verbs "Add", "Change", "Deprecate", "Remove", or "Fix" (present tense).
41+
The smaller and more narrowly focused the changes in a PR are, the easier they
42+
are to review and potentially merge. If the change only makes sense in some
43+
larger context of future ongoing work, note that in the description, but still
44+
aim to keep each distinct PR to a "smallest viable change" chunk of work.
45+
46+
### Description of Changes
47+
48+
Unless the Pull Request is about refactoring code, updating dependencies or
49+
other internal tasks, assume that the audience are not developers, but a
50+
Mastodon user or server admin, and try to describe it from their perspective.
51+
52+
The final commit in the main branch will carry the title from the PR. The main
53+
branch is then fed into the changelog and ultimately into release notes. We try
54+
to follow the [keepachangelog] spec, and while that does not prescribe how
55+
exactly the entries ought to be named, starting titles using one of the verbs
56+
"Add", "Change", "Deprecate", "Remove", or "Fix" (present tense) is helpful.
3657

3758
Example:
3859

3960
| Not ideal | Better |
4061
| ------------------------------------ | ------------------------------------------------------------- |
4162
| Fixed NoMethodError in RemovalWorker | Fix nil error when removing statuses caused by race condition |
4263

43-
It is not always possible to phrase every change in such a manner, but it is desired.
64+
### Technical Requirements
4465

45-
**The smaller the set of changes in the pull request is, the quicker it can be reviewed and merged.** Splitting tasks into multiple smaller pull requests is often preferable.
46-
47-
**Pull requests that do not pass automated checks may not be reviewed**. In particular, you need to keep in mind:
66+
Pull requests that do not pass automated checks on CI may not be reviewed. In
67+
particular, please keep in mind:
4868

4969
- Unit and integration tests (rspec, jest)
5070
- Code style rules (rubocop, eslint)
5171
- Normalization of locale files (i18n-tasks)
72+
- Relevant accessibility or performance concerns
5273

5374
## Documentation
5475

55-
The [Mastodon documentation](https://docs.joinmastodon.org) is a statically generated site. You can [submit merge requests to mastodon/documentation](https://github.com/mastodon/documentation).
76+
The [Mastodon documentation] is a statically generated site that contains guides
77+
and API docs. Improvements are made via PRs to the [documentation repository].
5678

79+
[contribution guidelines]: https://github.com/mastodon/.github/blob/main/CONTRIBUTING.md
80+
[Crowdin]: https://crowdin.com/project/mastodon
5781
[DEVELOPMENT]: docs/DEVELOPMENT.md
82+
[documentation repository]: https://github.com/mastodon/documentation
83+
[GitHub Issues]: https://github.com/mastodon/mastodon/issues
84+
[keepachangelog]: https://keepachangelog.com/en/1.0.0/
85+
[Mastodon documentation]: https://docs.joinmastodon.org

0 commit comments

Comments
 (0)