add contributing guidelines

This commit is contained in:
mungai-njoroge 2023-09-18 17:57:40 +03:00
parent 23c355d9bf
commit 5a3af6ff82
5 changed files with 156 additions and 0 deletions

13
.github/CODE_OF_CONDUCT.md vendored Normal file
View File

@ -0,0 +1,13 @@
# Contributor Code of Conduct
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
We are committed to making participation in this project a harassment-free experience for everyone, regardless of the level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion.
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)

9
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,9 @@
# These are supported funding model platforms
# github: [yyx990803, posva]
# patreon: evanyou
# open_collective: vuejs
# ko_fi: # Replace with a single Ko-fi username
# tidelift: npm/vue
# custom: # Replace with a single custom sponsorship URL
custom: https://swingmusic.vercel.app/support-us

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Create new issue
url: https://github.com/swing-opensource/swingmusic/issues/new
about: Please use the following link to create a new issue.
- name: Support Swing Music
url: https://swingmusic.vercel.app/support-us
about: Love Swing Music? Please consider supporting this project.

32
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,32 @@
<!--
Please make sure to read the Pull Request Guidelines:
https://github.com/swing-opensource/swingmusic/.github/CONTRIBUTING.md#pull-request-guidelines
-->
<!-- PULL REQUEST TEMPLATE -->
<!-- (Update "[ ]" to "[x]" to check a box) -->
**What kind of change does this PR introduce?** (check at least one)
- [ ] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:
**Does this PR introduce a breaking change?** (check one)
- [ ] Yes
- [ ] No
If yes, please describe the impact and migration path for existing applications:
**The PR fulfills these requirements:**
- [ ] When resolving a specific issue, it's referenced in the PR's title (e.g. `fix #xxx[,#xxx]`, where "xxx" is the issue number)
If adding a **new feature**, the PR's description includes:
- [ ] A convincing reason for adding this feature (it's best to open a suggestion issue first and wait for approval before working on it)
**Other information:**

94
.github/contributing.md vendored Normal file
View File

@ -0,0 +1,94 @@
# Swing Music Contributing Guide
Hi! We're really excited that you are interested in contributing to Swing Music. This project uses the Python, Flask, Sqlite, Poetry, and Vue.
If you are interested in making a code contribution take a moment to read through the following guidelines:
- [Code of Conduct](https://github.com/swing-opensource/swingmusic/.github/CODE_OF_CONDUCT.md)
- [Pull Request Guidelines](#pull-request-guidelines)
## Pull Request Guidelines
- Checkout a topic branch from the relevant branch, e.g. `master`, and merge back against that branch.
- If adding a new feature:
- Provide a convincing reason to add this feature. Ideally, you should open a suggestion issue first and have it approved before working on it.
- If fixing bug:
- Provide a detailed description of the bug in the PR.
## Development Setup
This project is broken down into 2 parts. The server (this repo) and the client (which lives [here](https://github.com/swing-opensource/swingmusic-client)).
To contribute to the server development, you need to install [Poetry package manager](https://python-poetry.org/docs).
Fork this repo, git clone and install all the dependencies:
```sh
git clone https://github.com/swing-opensource/swingmusic.git
# or with ssh
git clone git@github.com:swing-opensource/swingmusic.git
cd swingmusic
poetry install
```
Run the server. You can use a different port if you have another Swing Music instance running on the default port `1970`.
```sh
poetry run python manage.py --port 1980
```
If you are also
After that, checkout into a new branch and make your changes.
```sh
git checkout <branch_name>
```
Finally, commit your changes and open a pull request.
## Contributing to the client
You need to have [yarn](https://yarnpkg.com/) installed in your machine. See the [install guide](https://yarnpkg.com/getting-started/install).
Fork the repo, git clone and install the dependencies:
```sh
git clone https://github.com/swing-opensource/swingmusic-client.git
# or with ssh
git clone git@github.com:swing-opensource/swingmusic-client.git
cd swingmusic-client
yarn install
```
You can now run the client.
```sh
yarn dev
```
You can see the client at http://localhost:5173.
> The client is hardcoded to hook into the server on port `1980` (to allow the another server instance to be running on the default port). You can follow the instructions above to set up the server in that port, or you can change the port in `swingmusic-client/config.ts`. Don't forget to change it back when in the PR.
## Where can I go for help?
If you need help, you can email me at: geoffreymungai45@gmail.com
## What does the Code of Conduct mean for me?
Our Code of Conduct means that you are responsible for treating everyone on the project with respect and courtesy regardless of their identity. If you are the victim of any inappropriate behavior or comments as described in our Code of Conduct, we are here for you and will do the best to ensure that the abuser is reprimanded appropriately, per our code.
See yah!