Skip to content

Latest commit

 

History

History
77 lines (56 loc) · 5.94 KB

CONTRIBUTING.md

File metadata and controls

77 lines (56 loc) · 5.94 KB

Contributing

How to contribute code

1. Decide what to work on

Then, tell folks what you'll be working on, and:

2. Create a fork of the repo, or work in a topic branch

Our process for submitting code is inspired by the C4.1 process (documentation may be edited directly by maintainers):

  1. Always either work in your own fork or a topic-branch and submit pull requests (PRs) to master. Our Cypress Dashboard integration currently makes topic-branches a better option for long-term contributor.
  2. Always add/update tests for any new/modified functionality. (:exclamation:)
  3. Always make sure your PR passes all tests (grunt test).
  4. Always ensure your PR adheres to the Contribution Policy described below.

3. Follow this Contribution Policy

This contribution policy will evolve over time. For now it is based on a slightly modified subset of C4.1.

Licensing and Ownership

  1. All contributions to the project source code ("patches" or "pull requests") SHALL use the same license as the project.
  2. All patches are owned by their authors. There SHALL NOT be any copyright assignment process.
  3. Each Contributor SHALL be responsible for identifying themselves in the project Contributor list.

Pull Request Requirements (❗️)

Pull requests (PRs) must adhere to the following requirements (unless the Founation is organizing a special hackathon, in which case, hackathon-rules apply).

  1. A PR SHOULD be a minimal and accurate answer to exactly one identified and agreed problem.
  2. A PR SHOULD follow the boy scout rule: leave the code cleaner than you found it when the refactor effort is not too big.
  3. A PR MAY NOT include non-trivial code from other projects unless the Contributor is the original author of that code.
  4. A PR MUST pass all tests on at least the principle target platform.
  5. A PR MUST include new tests for any new functionality introduced.
  6. A PR MUST follow the requirements spelled out in this project's Style Guide.
  7. A PR MUST receive approval from at least one long-term contributor before being merged. Contributors MAY NOT review their own PRs, MUST NOT push commits to someone else's PR.
  8. A PR MUST receive approval from the designer when it's related to the user interface before being merged.
  9. A PR MAY NOT be merged if there exist unaddressed concerns from a current maintainer (via the Github "request changes" review feature). Contributors are encouraged to discuss the requested changes, and may even argue against them if there are strong reasons to do so. However, maintainers have veto power over all PRs.
  10. Only maintainers may merge PRs. Maintainers SHOULD use "squash-merging" when merging to keep the master branch commit history clean. If there are no maintainers, further changes should happen in a fork. For this project, the maintainer(s) is/are: @taoeffect

How to help by translating

  1. Clone this repository locally.
  2. Download the strings utility for your platform.
  3. Create a branch using git locally for your changes. If you don't know how to do this, feel free to ask ChatGPT or the Internet for help.
  4. Open the strings/ folder.
    • You will see files like english.strings, english.json, french.strings, french.json, etc.
    • If you see your <language>.strings, open that file and begin adding translations for any strings marked MISSING TRANSLATION
    • If you do not see such a file, then copy english.strings into another file called <your-language>.strings. For example, you can create german.strings. Then begin adding translations. Use french.strings as an example for what to do.
  5. When you are done, save the file and run the strings command on the frontend/ folder like this: ./strings.mac frontend/
  6. At this point you are ready to submit a pull request.

Any time strings in the app are added or modified, simply add the updated translations to <language>.strings and run the strings command in the same way (and then send a PR! 😄).

Thank you so much! Read more about the strings utility here.

How to submit an issue