forked from sonic-pi-net/sonic-pi
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
4 changed files
with
86 additions
and
112 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# Contributing | ||
|
||
Hello! If you are interested in contributing to Sonic Pi in some way, fantastic. Everyone is welcome to help! | ||
|
||
Are you wondering about the different ways you might be able to contribute? See [TYPES-OF-CONTRIBUTIONS.md](https://github.com/sonic-pi-net/sonic-pi/TYPES-OF-CONTRIBUTIONS.md). | ||
|
||
Do you want to know about all the new features that we'd love to see included in Sonic Pi? See [the Sonic Pi features project board](https://github.com/orgs/sonic-pi-net/projects/1). | ||
|
||
## Understanding the Sonic Pi source code | ||
There are several ways that you can learn more about the technical design of the Sonic Pi source code. | ||
- You can read brief outlines of the source code structure, and see a diagram of the major components, available from the 'Development' section of the sidebar on the [Sonic Pi wiki](https://github.com/sonic-pi-net/sonic-pi/wiki). _**Note: these are all out-of-date to varying degrees and we are in the process of updating them - so for any serious use, feel free to talk with us directly in the mean-time.**_ | ||
- You can study the source code itself at our official [Sonic Pi GitHub repository](https://github.com/sonic-pi-net/sonic-pi) | ||
- You can ask the core development team or wider Sonic Pi community questions at any of the places we gather as a [community](https://github.com/sonic-pi-net/sonic-pi/COMMUNITY.md) | ||
|
||
## Project and development process guidelines | ||
There are several guidelines that we value when planning the format of new work. We encourage community contributors to keep these in mind also when thinking about contributing to Sonic Pi. They are: | ||
|
||
- We prefer to limit the number of different technologies/frameworks/languages used in the project where practical | ||
- We prefer friendly, conversational style for documentation over formal language | ||
- In line with the core aims of the project, we want Sonic Pi features to be simple enough for a 10 year old child to understand and use | ||
- We prefer proposed contributions, as well as the technical choices made when building them, to have clear benefits that outweigh any downsides | ||
- We prefer not to introduce potential instability or uncertainty into the code that is used in the app's build process unless there is a really good reason to do so | ||
- Since the Sonic Pi project is ultimately owned by @samaaron, all contributions need to be in a form that aligns with Sam's vision for the project, and that he will be able to understand and maintain if the original author moves on from the project | ||
|
||
Also, regarding the Sonic Pi development process: | ||
- We don't set development deadlines | ||
- We merge code into `main` branch for stable releases only, and all work in progress we merge into `dev` branch | ||
- We want code intended to be merged into the `main` or `dev` branches to be passing all tests where possible | ||
- We prefer an issue ticket to be raised as soon as possible when a new bug is discovered (ideally within 48 hours) | ||
- When someone intends to start work on an issue or new feature, they check the [Issues page](https://github.com/sonic-pi-net/sonic-pi/issues) or [the Sonic Pi features project board](https://github.com/orgs/sonic-pi-net/projects/1) first. If the issue or feature is not already being worked on, the person who intends to start it mentions this publicly somewhere. (They can do this by updating the issue ticket, or mentioning it in any of the places we gather as a [community](https://github.com/sonic-pi-net/sonic-pi/COMMUNITY.md), in order to minimise the possibility of duplicated work. | ||
|
||
## Ideal process for contributing with code | ||
1. Familiarise yourself with the part(s) of the code that you wish to contribute towards if necessary. We're always happy to answer questions about the Sonic Pi code! | ||
2. For complex or large code changes, it's worth initially discussing the potential solutions with the core team and other Sonic Pi contributors - either by opening an issue and labelling it as a feature request, or again by chatting with us at any of the places we gather as a [community](https://github.com/sonic-pi-net/sonic-pi/COMMUNITY.md). | ||
3. Fork a copy of the Sonic Pi repository to your personal GitHub account. | ||
4. Clone your fork to your local machine. | ||
5. Make changes to your local clone of Sonic Pi. | ||
6. Commit your changes and push them to your fork on GitHub. | ||
7. Open a Pull Request to the official Sonic Pi repository. | ||
8. If changes are requested either by bots attached to the Sonic Pi repository, or the core team, make the desired changes and push again to your fork on GitHub. | ||
9. Once your code has passed review, it will be merged. | ||
|
||
(If you need any further help with any of the above steps for preparing a Pull Request for us on GitHub, it's worth searching the [GitHub documentation](https://docs.github.com/) first, but feel free to ask us for help if you're still stuck after that). | ||
|
||
**Note**: if it is decided that a contribution will _not_ be included at the time, this does _not_ mean that the effort is not valued! if such a situation occurs, the core team will endeavour to provide an explanation. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Types of contributions | ||
|
||
Hello! Are you interested in contributing to Sonic Pi, but not sure where to start? there are many ways to do so, even besides writing code. | ||
Here's a few ways you can help: | ||
|
||
## Share your Sonic Pi experiences | ||
- Sharing your Sonic Pi experiences with people is a great way to raise awareness of Sonic Pi. Giving talks, performances, tutorials or workshops, sharing resources and teaching materials, or even just posting a simple message on social media about it (on Twitter we're `@Sonic_Pi`) are all ways you can spread the word. For all the different ways people can connect as a community around Sonic Pi, see [COMMUNITY.md](https://github.com/sonic-pi-net/sonic-pi/blob/main/COMMUNITY.md) | ||
|
||
## Help with issues and pull requests on GitHub | ||
- Proof-reading pull requests. If a pull request contains plain text besides code, then spelling and grammar checks are always helpful. The default language is British English (en-GB). | ||
- Adding helpful comments to issues. [The list of issues on GitHub](https://github.com/sonic-pi-net/sonic-pi/issues) can often be quite large - this can become difficult for the core development team to manage, so comments that help to manage this are always welcome. | ||
This could include things like replying to folks: | ||
- Reminders that (politely) point to our [troubleshooting guide](https://github.com/sonic-pi-net/sonic-pi/wiki/Troubleshooting-Issues) | ||
- Help with filling out the issue templates | ||
- Pointers to existing issues that might already describe the same specific problem or request | ||
|
||
Or providing your own extra information to issues: | ||
- More detail to describe the problem | ||
- Potential workarounds or ideas for solutions | ||
|
||
## Raise a feature request | ||
If you have an idea for a new feature or enhancement, search the [Issues page](https://github.com/sonic-pi-net/sonic-pi/issues) or [the Sonic Pi features project board](https://github.com/orgs/sonic-pi-net/projects/1) first (someone might have raised it already!). | ||
If it's new after all, go ahead and [raise a feature request](https://github.com/sonic-pi-net/sonic-pi/issues/new/choose)! | ||
|
||
You can also visit [the Sonic Pi community forum](https://in-thread.sonic-pi.net/) if you want to discuss your idea more informally. | ||
|
||
## Translate Sonic Pi to your language | ||
It's a wonderful way to introduce school kids in your country to | ||
Sonic Pi and educators will appreciate it when we make it easier for | ||
their class. The tutorial is fairly long, but the graphical user | ||
interface is quickly translated and a good place to start. | ||
For details, see [TRANSLATION.md](https://github.com/sonic-pi-net/sonic-pi/blob/main/TRANSLATION.md) | ||
|
||
## Send us some changes for Sonic Pi in a Pull Request | ||
We're always interested in receiving fixes, new features and improvements for Sonic Pi - even more so in areas that the core team has been unable to focus on! | ||
|
||
If you don't have a specific bug-fix, new feature, or enhancement already in mind, you can always browse the | ||
[open issues](https://github.com/sonic-pi-net/sonic-pi/issues) or [the Sonic Pi features project board](https://github.com/orgs/sonic-pi-net/projects/1) on GitHub. | ||
There's probably an issue you can help to fix, or feature request you can help build. | ||
For guidelines to keep in mind while you're preparing your contribution, see [CONTRIBUTING.md](https://github.com/sonic-pi-net/sonic-pi/blob/main/CONTRIBUTING.md) |