Skip to content

Types of (code) Contributions

Mithi Sevilla edited this page Jun 13, 2020 · 2 revisions

See also: The 5-minute Guide to Contributing Code

Thank you for wanting to contribute to this project! Ways you can help:

  1. Work on an existing issue (feature request, bug, etc)

    • If you'd like to work on an known issue, comment that issue and how you'd fix it. It will gladly be assigned to you. For a start, you can look at issues with labels: good first issue, low-hanging fruit, help wanted, bugs, and documentation.
  2. Report or work on bugs

    • Provide steps to reproduce your bug and/or screenshots in an issue. If you'd like to work on it, let me know your ideas on how to solve it.
  3. Suggest Idiomatic Javascript / React and best practices

    • This is my first time coding in Javascript and this is also my first react app, so I'm not that familiar with what's idiomatic and what's not. You can submit an issue explaining what you think should be changed and give your rationale.
  4. Suggest ways to improving code quality

    • If you have ideas on how to make blocks of code more readable, I'd love to hear it. Let me know what function or class you want to modify, how you'd change it, and why you think your way is better.
  5. Improve User Interface / Experience Design

    • The app isn't as responsive, how it looks on phones and could be better. The 450 line CSS file is pretty crappy. If you're a UI master, revamping index.css is most welcome.
  6. Add new tests

    • Adding new test cases for any module is always welcome!
  7. Improve documentation

    • Improving the wording and fixing typographical errors are very much welcome
    • All modules, classes, and algorithms should have explanations included at the top of the page. Modules, and classes should explain what their single responsibility is, and what which of their properties and methods are publicly exposed. There are a few relatively complex algorithms here, like Inverse Kinematics, computing the orientation etc - a high level overview of how each works should be provided. Issues on documentation
  8. Implement your own awesome idea

    • If you want to work on a particular feature, submit an issue explaining what this feature is about, and how you'd go about implementing it. If I think it's a great idea, a pull request of this feature from you will most likely get merged.
  9. None of the above

    • Whatever it is, I'd love to hear it. Go submit an issue, I'll check it out.
Clone this wiki locally