Start Contributing
What is my role?
By default we consider everyone that submits a pull request (PR) to be a contributor. People that contribute regularly and want to get more involved can become maintainers to help new contributors. People here for the long term are core maintainers and work on the core of the platform. Here is an overview of the roles
Role | Payment | Requirements | Tasks |
---|---|---|---|
🤙 Contributor | Bounty System | Submit a PR | Resolves issues by submitting pull requests |
⚡️ Maintainer | Bounty System | Minimum 3 merged PR's + chat with core maintainer | Review basic PR's, help contributors & improve documentation |
🔧 Core Maintainer | Hourly scale | Minimum 3 months maintainer | Review complex PR's, improve code quality, devops, optimisations, security, general updates & documentation |
🤙 Things that Contributors do:
Pick up issues
- Check our documentation to run it locally.
- Pick an open issue.
- If there is a bounty label on it you can claim a reward.
- Read our contribution guidelines.
- Bonus: Add tests.
⚡️ Things that Maintainers do:
Review incoming code from Contributors
- Validate if code is clean.
- Validate if the project structure is correct.
- Check out user profile to see who is behind the commit.
- Add them to our contributors list.
- Make sure Lint commit message is correct.
- Make sure all checks are passed and help to resolve errors.
- If there is a bounty label on the PR you can get it for reviewing.
- Bonus: Ask for integrating tests.
🔧 Things that Core Maintainers do:
Review complex PRs & release changes
There is a workflow for deploying code changes from development to production environments. It ensures proper review, testing, and versioning before reaching production sites.
The steps are as follows:
- The PR is merged into the
master
branch. master
branch triggers an automated build and deployment to development environments.- Manual approval is required by a maintainer in CircleCI
- After approval, an automated build, versioning, and deployment to production sites.
Rewards:
Recognising Contributors
We have adopted all contributors and their tooling for managing the contributors listing on the project README.md.
After merging a new contributors PR:
- Add a comment to the merged PR mentioning the bot, contributor and their contribution type, for example:
@all-contributors add @username for code
. - A PR will be automatically raised, example.
- The PR raised by the
All Contributors
bot will need to be merged with admin privileges as the required CI skips are deliberately skipped.
Payment
Each role gets paid a bit differently. Contributors and maintainers get paid according to the Bounty system. For core maintainers there is a separate hourly pay scale. Aimed at developers who help a bit more consistently at around 2-3 hours per week. If you're interested in these roles then feel free to reach out on Discord.
Onboarding checklist
Tasks | 🤙 Contributor | ⚡️ Maintainer | 🔧 Core Maintainer |
---|---|---|---|
Invite to Discord #development | ☑️ | ☑️ | ☑️ |
Send link to bounty system | ☑️ | ☑️ | ☑️ |
Add GitHub maintainer permissions | ☑️ | ☑️ | |
Add maintainer status using All contributors | ☑️ | ☑️ | |
Get on a video call | ☑️ | ☑️ | |
Explain hourly rate vs bounty system | ☑️ | ☑️ | |
Add GitHub core maintainer permissions | ☑️ | ||
Add core-maintainer status using All contributors | ☑️ | ||
Invite to Google Analytics | ☑️ | ||
Invite to Firebase projects: Precious Plastic PROD, Precious Plastic DEV, Project Kamp PROD, Project Kamp DEV, Fixing Fashion PROD, Fixing Fashion DEV | ☑️ |