|
1 | 1 | # Contributing to the p5.js Web Editor
|
2 | 2 |
|
3 |
| -Hello! We welcome community contributions to the p5.js Web Editor. Contributing takes many forms and doesn't have to be **writing code**, it can be **report bugs**, **proposing new features**, **creating UI/UX designs**, and **updating documentation**. |
4 |
| - |
5 |
| -Here are links to all the sections in this document: |
6 |
| - |
7 |
| -<!-- If you change any of the headings in this document, remember to update the table of contents. --> |
8 |
| - |
9 |
| -- [Code of Conduct](#code-of-conduct) |
10 |
| -- [How Can I Contribute ?](#how-can-i-contribute?) |
11 |
| - - [First Timers](#first-timers) |
12 |
| - - [Want something more challenging](#want-something-more-challenging) |
13 |
| - - [Feature Enhancement](#feature-enhancement) |
14 |
| -- [Creating a Pull request](#creating-a-pull-request) |
15 |
| - - - [Tips](#tips) |
| 3 | +Hello! We welcome community contributions to the p5.js Web Editor. Contributing takes many forms and doesn't have to be **writing code**, it can be **reporting bugs**, **proposing new features**, **creating UI/UX designs**, and **updating documentation**. |
| 4 | + |
| 5 | +## Table of Contents |
| 6 | +- [Contributing to the p5.js Web Editor](#contributing-to-the-p5js-web-editor) |
| 7 | + - [Table of Contents](#table-of-contents) |
| 8 | + - [Code of Conduct](#code-of-conduct) |
| 9 | + - [How Can I Contribute?](#how-can-i-contribute) |
| 10 | + - [First Steps](#first-steps) |
| 11 | + - [Good First Issues](#good-first-issues) |
| 12 | + - [Good Medium Issues](#good-medium-issues) |
| 13 | + - [Project Board](#project-board) |
| 14 | + - [Project Ideas](#project-ideas) |
| 15 | + - [Issue Search and Tagging](#issue-search-and-tagging) |
| 16 | + - [Beginning Work](#beginning-work) |
| 17 | + - [Contribution Guides](#contribution-guides) |
16 | 18 |
|
17 | 19 | ## Code of Conduct
|
18 | 20 |
|
19 |
| -Please follow the guidelines mentioned at [CODE OF CONDUCT.md](https://github.com/processing/p5.js-web-editor/blob/master/.github/CODE_OF_CONDUCT.md). |
| 21 | +Please follow the guidelines in the [Code of Conduct](https://github.com/processing/p5.js-web-editor/blob/master/.github/CODE_OF_CONDUCT.md). |
20 | 22 |
|
21 | 23 | ## How Can I Contribute?
|
| 24 | +If you're new to open source, [read about how to contribute to open source](https://opensource.guide/how-to-contribute/). |
22 | 25 |
|
23 |
| -### First Timers |
24 |
| -For first-time contributors or those who want to start with a small task: [check out our list of good first bugs](https://github.com/processing/p5.js-web-editor/labels/good%20first%20issue). First read the github discussion on that issue and find out if there's currently a person working on that or not. If no one is working on it or if there has was one claimed to but has not been active for a while, ask if it is up for grabs. It's okay to not know how to fix an issue and feel free to ask questions about to approach the problem! We are all just here to learn and make something awesome. Someone from the community would help you out and these are great issues for learning about the web editor, its file structure and its development process. |
25 |
| - |
26 |
| -### Want something more challenging |
27 |
| -If you're already familiar with the project or would like take on something a little more challenging, please take a look at the [priority: high](https://github.com/processing/p5.js-web-editor/labels/priority%3Ahigh) issues. |
| 26 | +### First Steps |
| 27 | +Don't know where to begin? Here are some suggestions to get started: |
| 28 | +* Think about what you're hoping to learn by working on open source. The web editor is a full-stack web application, therefore there's tons of different areas to focus on: |
| 29 | + - UI/UX design |
| 30 | + - Project management: Organizing tickets, pull requests, tasks |
| 31 | + - Front end: React/Redux, CSS/Sass, CodeMirror |
| 32 | + - Back end: Node, Express, MongoDB, Jest, AWS |
| 33 | + - DevOps: Travis CI, Jest, Docker, Kubernetes, AWS |
| 34 | + - Documentation |
| 35 | + - Translations: Application and documentation |
| 36 | +* Use the [p5.js Web Editor](https://editor.p5js.org)! Find a bug? Think of something you think would add to the project? Open an issue. |
| 37 | +* Expand an existing issue. Sometimes issues are missing steps to reproduce, or need suggestions for potential solutions. Sometimes they need another voice saying, "this is really important!" |
| 38 | +* Try getting the project running locally on your computer by following the [installation steps](./../developer_docs/installation.md). |
| 39 | +* Look through the documentation in the [developer docs](../developer_docs/). Is there anything that could be expanded? Is there anything missing? |
| 40 | +* Look at the [development guide](./../developer_docs/development.md). |
28 | 41 |
|
29 |
| -### Feature Enhancement |
30 |
| -If you want to work on building new things, please take a look at [type: feature](https://github.com/processing/p5.js-web-editor/labels/type%3Afeature). |
| 42 | +### Good First Issues |
| 43 | +For first-time contributors or those who want to start with a small task, [check out the list of good first issues](https://github.com/processing/p5.js-web-editor/labels/good%20first%20issue), or [issues that need documentation of steps to reproduce](https://github.com/processing/p5.js-web-editor/issues?q=is%3Aissue+is%3Aopen+label%3A%22needs+steps+to+reproduce%22). If the issue has not been assigned to anyone, then you can work on it! It's okay to not know how to fix an issue, and feel free to ask questions about to approach the problem! We are all here to learn and make something awesome. Someone from the community would help you out and these are great issues for learning about the web editor, its file structure and its development process. |
31 | 44 |
|
32 |
| -If you'd like to work on a bug, please comment on it to let the maintainers know. |
33 |
| -If someone else has already commented and taken up that bug, please refrain from working on it and submitting a PR without asking the maintainers as it leads to unnecessary duplication of effort. |
34 |
| - |
35 |
| -### Contribution guides |
36 |
| - |
37 |
| -* [https://guides.github.com/activities/hello-world/](https://guides.github.com/activities/hello-world/) |
38 |
| -* [https://guides.github.com/activities/forking/](https://guides.github.com/activities/forking/) |
| 45 | +### Good Medium Issues |
| 46 | +If you're looking for a bigger project to take on, look through the issues tagged [good medium issue](https://github.com/processing/p5.js-web-editor/labels/good%20medium%20issue). These issues are self-contained projects that may take longer to work on, but are great if you're looking to get more deeply involved in contributing! |
39 | 47 |
|
40 |
| -## Writing commit messages |
| 48 | +### Project Board |
| 49 | +Many issues are related to each other and fall under bigger projects. To get a bigger picture, look at the [All Projects](https://github.com/processing/p5.js-web-editor/projects/4) board. |
41 | 50 |
|
42 |
| -Good commit messages serve at least three important purposes: |
| 51 | +### Project Ideas |
| 52 | +If you're looking for inspiration for Google Summer of Code or a bigger project, there's a [project list](https://github.com/processing/processing/wiki/Project-List#p5js-web-editor) maintained on the Processing wiki. |
43 | 53 |
|
44 |
| -* They speed up the reviewing process. |
45 |
| -* They help us write good release notes. |
46 |
| -* They help future maintainers understand your change and the reasons behind it. |
| 54 | +### Issue Search and Tagging |
| 55 | +If you're looking for issues to work on, a good place to start is with tickets labeled [high priority](https://github.com/processing/p5.js-web-editor/labels/priority%3Ahigh). You can also look for tickets that are [feature enhancements](https://github.com/processing/p5.js-web-editor/labels/type%3Afeature), [bug fixes](https://github.com/processing/p5.js-web-editor/labels/type%3Abug), and a few other tags. |
47 | 56 |
|
48 |
| -Structure your commit message like this: |
| 57 | +If you feel like an issue is tagged incorrectly (e.g. it's low priority and you think it should be high), please update the issue! |
49 | 58 |
|
50 |
| - ``` |
51 |
| - Short (50 chars or less) summary of changes ( involving Fixes #Issue-number keyword ) |
| 59 | +### Beginning Work |
52 | 60 |
|
53 |
| - More detailed explanatory text, if necessary. Wrap it to about 72 |
54 |
| - characters or so. In some contexts, the first line is treated as the |
55 |
| - subject of an email and the rest of the text as the body. The blank |
56 |
| - line separating the summary from the body is critical (unless you omit |
57 |
| - the body entirely); tools like rebase can get confused if you run the |
58 |
| - two together. |
| 61 | +If you'd like to work on an issue, please comment on it to let the maintainers know, so that they can assign it to you. If someone else has already commented and taken up that issue, please refrain from working on it and submitting a PR without asking the maintainers as it leads to unnecessary duplication of effort. |
59 | 62 |
|
60 |
| - Further paragraphs come after blank lines. |
61 |
| -
|
62 |
| - - Bullet points are okay, too |
63 |
| -
|
64 |
| - - Typically a hyphen or asterisk is used for the bullet, preceded by a |
65 |
| - single space, with blank lines in between, but conventions vary here |
66 |
| - ``` |
67 |
| - |
68 |
| -* Write the summary line and description of what you have done in the imperative mode, that is as if you were commanding someone. Start the line with "Fix", "Add", "Change" instead of "Fixed", "Added", "Changed". |
69 |
| -* Always leave the second line blank. |
70 |
| -* Be as descriptive as possible in the description. It helps reasoning about the intention of commits and gives more context about why changes happened. |
71 |
| - |
72 |
| -Tips |
73 |
| ----- |
74 |
| - |
75 |
| -* If it seems difficult to summarize what your commit does, it may be because it includes several logical changes or bug fixes, and are better split up into several commits using `git add -p`. |
| 63 | +Then, look at the [development guide](https://github.com/processing/p5.js-web-editor/blob/master/developer_docs/development.md) for instructions on how to install the project locally and follow the right development workflow. |
76 | 64 |
|
| 65 | +### Contribution Guides |
77 | 66 |
|
| 67 | +* [https://guides.github.com/activities/hello-world/](https://guides.github.com/activities/hello-world/) |
| 68 | +* [https://guides.github.com/activities/forking/](https://guides.github.com/activities/forking/) |
0 commit comments