|
2 | 2 |
|
3 | 3 | Welcome to Orcasound! We're thrilled you're interested in contributing to the site. |
4 | 4 |
|
5 | | -### Code of Conduct |
| 5 | +- [Code of Conduct](#code-of-conduct) |
| 6 | +- [Reporting Bugs](#bugs) |
| 7 | +- [Requesting New Features](#new-features) |
| 8 | +- [Contributing Code](#contributing-code) |
| 9 | +- [Contacting Us](#contacting-us) |
| 10 | +- [Resources](#resources) |
| 11 | + |
| 12 | +## Code of Conduct |
6 | 13 |
|
7 | 14 | Please read and make sure you understand our [Code of Conduct](/CODE_OF_CONDUCT.md) before contributing to the project. |
8 | 15 |
|
9 | | -### General workflow |
10 | | -We recommend following these steps if you'd like to contribute to the repo. |
| 16 | +## Reporting Bugs |
| 17 | + |
| 18 | +First, **ensure the bug was not already reported** by searching on GitHub under |
| 19 | +[Issues](https://github.com/orcasound/orcasite/issues). |
| 20 | + |
| 21 | +If you found bug, you can help us by |
| 22 | +[submitting a GitHub Issue](https://github.com/orcasound/orcasite/issues/new). |
| 23 | +The best bug reports provide a detailed description of the issue and step-by-step instructions |
| 24 | +for reliably reproducing the issue. |
| 25 | + |
| 26 | +## Requesting New Features |
| 27 | + |
| 28 | +You can request a new feature by [submitting a GitHub Issue](https://github.com/orcasound/orcasite/issues/new). |
| 29 | + |
| 30 | +If you would like to implement a new feature, please first |
| 31 | +[submit a GitHub Issue](https://github.com/orcasound/orcasite/issues/new) and |
| 32 | +communicate your proposal so that the community can review and provide feedback. Getting |
| 33 | +early feedback will help ensure your implementation work is accepted by the community. |
| 34 | +This will also allow us to better coordinate our efforts and minimize duplicated effort. |
| 35 | + |
| 36 | +## Contributing Code |
| 37 | + |
| 38 | +Orcasite is currently covered by the [GNU Affero General Public License v3.0](https://github.com/orcasound/orcasite/blob/main/LICENSE). Permissions of this strongest copyleft license are conditioned on making available |
| 39 | +complete source code of licensed works and modifications, which include larger works using a licensed |
| 40 | +work, under the same license. Copyright and license notices must be preserved. Contributors provide |
| 41 | +an express grant of patent rights. |
| 42 | + |
| 43 | +If you are willing to follow the conditions of this license, check out the following links |
| 44 | +to find an unassigned item to contribute to: |
| 45 | + |
| 46 | +- ["Good first issue" GitHub issues for first-timers](https://github.com/orcasound/orcasite/labels/good%20first%20issue) |
| 47 | +- ["Help wanted" GitHub issues](https://github.com/orcasound/orcasite/labels/help%20wanted) |
| 48 | +- [Project board](https://github.com/orgs/orcasound/projects/38/views/1) |
| 49 | +- [Figma](https://www.figma.com/design/41JuvNkXJhTUob8HMsJiNC/Orcasite%3A-design-updates?node-id=882-3971) |
| 50 | +- [Trello board with overview of features](https://trello.com/b/hRFh7Sc1/orcasite-development) |
| 51 | +- [Public roadmap](https://trello.com/b/wBg0qhss/orcasound-roadmap) |
| 52 | + |
| 53 | +Once you've chosen an issue and want to contribute code: |
11 | 54 |
|
12 | | -0. Check out the [Trello board](https://trello.com/b/hRFh7Sc1/orcasite-development) for an overview of features being worked on. |
13 | | - - This [public roadmap](https://trello.com/b/wBg0qhss/orcasound-roadmap) has a higher level view. |
14 | 55 | 1. Fork the Orcasite repo. |
15 | 56 | 2. Develop on a [feature branch](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow). |
16 | 57 | 3. Submit a PR (don't review your own)! |
17 | 58 | - To maintain a consistent style, we recommend running [Prettier](https://github.com/prettier/prettier) on js, and `mix format` before submission. |
18 | 59 | 4. Once a PR is merged, we can throw it up onto the dev server to see how things look! |
19 | 60 |
|
| 61 | +### Submitting a Pull Request |
| 62 | + |
| 63 | +For all but the absolute simplest changes, first find an existing GitHub issue or |
| 64 | +[submit a new issue](https://github.com/orcasound/orcasite/issues/new) so that the |
| 65 | +community can review and provide feedback. Getting early feedback will help ensure your work |
| 66 | +is accepted by the community. This will also allow us to better coordinate our efforts and |
| 67 | +minimize duplicated effort. |
| 68 | + |
| 69 | +If you would like to contribute, first identify the scale of what you would like to contribute. |
| 70 | +If it is small (grammar/spelling or a bug fix) feel free to start working on a fix. If you are |
| 71 | +submitting a feature or substantial code contribution, please discuss it with the maintainers and |
| 72 | +ensure it follows the public roadmap. You might also read these two blogs posts on contributing |
| 73 | +code: [Open Source Contribution Etiquette](http://tirania.org/blog/archive/2010/Dec-31.html) by Miguel de Icaza and |
| 74 | +[Don't "Push" Your Pull Requests](https://www.igvita.com/2011/12/19/dont-push-your-pull-requests/) by Ilya Grigorik. |
| 75 | +All code submissions will be reviewed and tested, and only those that meet |
| 76 | +the bar for both quality and design/roadmap appropriateness will be merged into the source. |
| 77 | + |
| 78 | +For all pull requests the following rules apply: |
| 79 | +- The pull request description should describe the problem and solution, and reference the GitHub issue if one exists. |
| 80 | +- Existing tests should continue to pass. |
| 81 | +- Tests should ideally be included for every bug or feature that is completed. |
| 82 | +- Documentation should be included for every feature that is end-user visible. |
| 83 | +- Coding style should be consistent with the style used in other files of the same type in this repository. |
| 84 | + |
| 85 | +## Contacting Us |
| 86 | + |
20 | 87 | ### Questions? |
| 88 | + |
| 89 | +We are happy to answer as best we can any question you have about Orcasite. |
| 90 | +There are multiple ways you can ask questions: |
| 91 | + |
| 92 | +- Using the [Zulip channel](https://orcasound.zulipchat.com/#narrow/stream/437031-orcasite) |
| 93 | +- Using [Github discussions](https://github.com/orcasound/orcasite/discussions) |
| 94 | + |
| 95 | +### Meetings |
| 96 | + |
| 97 | +We meet for one hour other Wednesday via Google Meet. You can request a calendar invite or check the |
| 98 | +[Zulip channel](https://orcasound.zulipchat.com/#narrow/stream/437031-orcasite) for the latest meeting |
| 99 | +date and time information. |
| 100 | + |
| 101 | +- [Request a calendar invite](https://forms.gle/Tegj4x6qxWx7PSes5) |
| 102 | +- [Meeting link](https://meet.google.com/igp-gpdr-wwu) |
| 103 | +- [Meeting notes](https://docs.google.com/document/d/1zXngvGO5kdm24gqSTNfHleFifU6ldtbA4amGSXe5jpg/edit?tab=t.0#heading=h.qyef7i4h6hom) |
| 104 | + |
| 105 | +### Maintainers |
| 106 | + |
21 | 107 | If you have any questions about parts of the architecture and site, these are contributors with context about various parts: |
22 | 108 |
|
23 | 109 | - [Paul Cretu](https://github.com/paulcretu) - Orcanode, streaming backend, ffmpeg |
24 | 110 | - [Skander Mzali](https://github.com/skanderm) - Elixir backend, JS/React frontend |
25 | 111 |
|
| 112 | +## Resources |
| 113 | + |
26 | 114 | ### Learning resources |
27 | 115 | If you're new to Elixir (or JS and React), that's no problem! Here are some resources for learning what they're about. |
28 | 116 |
|
|
0 commit comments