We encourage all contributions to this project! All we ask are you follow these simple rules when contributing:
- Write clean code
- Comment your code
- Follow Typescript and React best practices
Please make sure you have completed the following pre-requisites:
- Install Git: download
- Install NodeJS (Latest Stable): download
- Install a code editor. Here are a few recommended editors:
Once you have a code editor installed, remember to install all of the required plugins/extensions such as the following:
- Typescript
- ESLint
- Prettier
In order to start contributing, follow these steps:
- Create a GitHub account
- Fork the
BlueBubbles-Server
repository: here - On your desktop, clone your forked repository:
- HTTPS:
git clone https://github.com/BlueBubblesApp/BlueBubbles-Server.git
- SSH:
git clone git@github.com:BlueBubblesApp/BlueBubbles-Server.git
- HTTPS:
- Set the upstream to our main repo (this will allow you to pull official changes)
git remote add upstream git@github.com:BlueBubblesApp/BlueBubbles-Server.git
- Fetch all the required branches/code
git fetch
git fetch upstream
- Pull the latest changes, or a specific branch you want to start from
- Pull code from the main repository's master branch:
git pull upstream master
- Checkout a specific branch:
git checkout upstream <name of branch>
- Pull code from the main repository's master branch:
- Make your code changes :)
- Create your own branch
git checkout -b <your name>/<feature>
- Example:
git checkout -b zach/improved-animations
- Stage your changes to the commit using a code-editor plugin, or Git directly
- Stage a specific file:
git add <file name>
- Stage all changes:
git add -A
- Stage a specific file:
- Commit your changes
git commit -m "<Description of your changes>"
- Push your changes to your forked repository
git push origin <your branch name>
Once you have made all your changes, follow these instructions:
- Login to GitHub's website
- Go to your forked
BlueBubbles-Server
repository - Go to the
Pull requests
tab - Create a new Pull request, merging your changes into the main
development
branch - Please include the following information with your pull request:
- The problem
- What your code solves
- How you fixed it
- Once submitted, your changes will be reviewed, and hopefully committed into the master branch!