Browse Source

Update CONTRIBUTING.md (#9014)

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md
Eugen Rochko 1 month ago
parent
commit
890968603b
No account linked to committer's email address
1 changed files with 21 additions and 40 deletions
  1. 21
    40
      CONTRIBUTING.md

+ 21
- 40
CONTRIBUTING.md View File

@@ -1,56 +1,37 @@
1
-CONTRIBUTING
1
+Contributing
2 2
 ============
3 3
 
4
-There are three ways in which you can contribute to this repository:
4
+Thank you for considering contributing to Mastodon 🐘 
5 5
 
6
-1. By improving the documentation
7
-2. By working on the back-end application
8
-3. By working on the front-end application
6
+You can contribute in the following ways:
9 7
 
10
-Choosing what to work on in a large open source project is not easy. The list of [GitHub issues](https://github.com/tootsuite/mastodon/issues) may provide some ideas, but not every feature request has been greenlit. Likewise, not every change or feature that resolves a personal itch will be merged into the main repository. Some communication ahead of time may be wise. If your addition creates a new feature or setting, or otherwise changes how things work in some substantial way, please remember to submit a correlating pull request to document your changes in the [documentation](http://github.com/tootsuite/documentation).
8
+- Finding and reporting bugs
9
+- Translating the Mastodon interface into various languages
10
+- Contributing code to Mastodon by fixing bugs or implementing features
11
+- Improving the documentation
11 12
 
12
-Below are the guidelines for working on pull requests:
13
+## Bug reports
13 14
 
14
-## General
15
+Bug reports and feature suggestions can be submitted to [GitHub Issues](https://github.com/tootsuite/mastodon/issues). Please make sure that you are not submitting duplicates, and that a similar report or request has not already been resolved or rejected in the past using the search function. Please also use descriptive, concise titles.
15 16
 
16
-- 2 spaces indentation
17
+## Translations
17 18
 
18
-## Documentation
19
-
20
-- No spelling mistakes
21
-- No orthographic mistakes
22
-- No Markdown syntax errors
23
-
24
-## Requirements
25
-
26
-- Ruby
27
-- Node.js
28
-- PostgreSQL
29
-- Redis
30
-- Nginx (optional)
31
-
32
-## Back-end application
19
+You can submit translations via [Weblate](https://weblate.joinmastodon.org/). They are periodically merged into the codebase.
33 20
 
34
-It is expected that you have a working development environment set up. The development environment includes [rubocop](https://github.com/bbatsov/rubocop), which checks your Ruby code for compliance with our style guide and best practices. Sublime Text, likely like other editors, has a [Rubocop plugin](https://github.com/pderichs/sublime_rubocop) that runs checks on files as you edit them. The codebase also has a test suite.
35
-
36
-* The codebase is not perfect, at the time of writing, but it is expected that you do not introduce new code style violations
37
-* The rspec test suite must pass
38
-* To the extent that it is possible, verify your changes. In the best case, by adding new tests to the test suite. At the very least, by running the server or console and checking it manually
39
-* If you are introducing new strings to the user interface, they must be using localization methods
21
+[![Mastodon translation statistics by language](https://weblate.joinmastodon.org/widgets/mastodon/-/multi-auto.svg)](https://weblate.joinmastodon.org/)
40 22
 
41
-If your code has syntax errors that won't let it run, it's a good sign that the pull request isn't ready for submission yet.
23
+## Pull requests
42 24
 
43
-## Front-end application
25
+Please use clean, concise titles for your pull requests. We use commit squashing, so the final commit in the master branch will carry the title of the pull request.
44 26
 
45
-It is expected that you have a working development environment set up (see back-end application section). This project includes an ESLint configuration file, with which you can lint your changes.
27
+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 28
 
47
-* Avoid grave ESLint violations
48
-* Verify that your changes work
49
-* If you are introducing new strings, they must be using localization methods
29
+**Pull requests that do not pass automated checks may not be reviewed**. In particular, you need to keep in mind:
50 30
 
51
-If the JavaScript or CSS assets won't compile due to a syntax error, it's a good sign that the pull request isn't ready for submission yet.
31
+- Unit and integration tests (rspec, jest)
32
+- Code style rules (rubocop, eslint)
33
+- Normalization of locale files (i18n-tasks)
52 34
 
53
-## Translate
35
+## Documentation
54 36
 
55
-You can contribute to translating Mastodon via Weblate at [weblate.joinmastodon.org](https://weblate.joinmastodon.org/).
56
-[![Mastodon translation statistics by language](https://weblate.joinmastodon.org/widgets/mastodon/-/multi-auto.svg)](https://weblate.joinmastodon.org/)
37
+The [Mastodon documentation](https://docs.joinmastodon.org) is a statically generated site. You can [submit merge requests to mastodon/docs](https://source.joinmastodon.org/mastodon/docs).