Contributing to GoodDollar
When contributing to this project, please do first discuss the change you wish to make via any communication channel.
The GoodDollar project is distributed across multiple repositories. Please file the issue against the correct repository.
Issues
Issues are always welcome. Feature requests, bug reports, documentation improvements, and any other kind of contribution will be triaged and worked on according to the GoodDollar community and maintainers' prioritization and best effort.
Pull Requests
In general, GoodDollar project follows the GitHub flow.
Fork and clone the project locally.
Create an upstream remote and sync local copy before branching.
Use individual feature branches for each separate piece of work.
Code changes and tests accordingly. Writing good commit messages, making sure tests pass, maintaining coverage level, and following existing documentation.
Push to origin (fork) repository.
Create a new pull request.
Work with maintainers on code review feedback.
Scoutgame Developers
For the most part, you can follow the contribution guidelines written below. Full description about the scoutgame and participation can be found here: GoodDollar Partner Rewards
Any support needed during your time building?
For high-level questions the comment section of the issue you are working on is a good place to ask them.
More in depth questions or support required. Please create a ticket on the scoutgame support channel.
(Don't forget to request a scout label on Discord!)
Understand the Repositories:
Familiarize yourself with the architecture and functionality of the repository from which you take an issue.
Read existing code to understand structure and best practices. Always try to follow similar patterns / re-use existing helper methods.
If UI, verify if there are existing components you can utilize, and make sure your addition fits into existing design.
Select and Understand the Issue:
Review the reported issue carefully to ensure clear understanding.
Clarify any uncertainties by asking detailed questions—don't hesitate to seek guidance.
Ask, Ask, And Ask again
Fork and Clone:
Fork the repository.
Reproduce the Issue:
Run the existing codebase and reproduce the behavior or issue reported.
Prepare and Learn:
If the coding language or technology is new, complete a brief introductory course to familiarize yourself.
Implement Your Solution:
Develop your solution based on the issue's requirements.
While we don't enforce strict rules, we kindly expect adherence to the default principles of the frameworks and languages in use.
Seamlessly integrate your solution into the larger codebase—if existing code can be utilized, please do so!
For UI components: If no UI is provided, feel free to craft your own design, keeping in mind essential UI/UX principles.
If you're unsure about any part of the process, implementation, or a decision to make, we're here and more than happy to guide you.
Documentation and Examples:
Provide clear documentation and, if applicable, relevant examples or demonstrations of your solution.
Submit Your Pull Request (PR):
Clearly mention the issue in your PR and describe your solution thoroughly to facilitate quicker reviews.
If a new feature involving UX/UI is added, show a demo video, or screens. Most of our apps are usable on both desktop/mobile, so make sure they are responsive.
Respond promptly to feedback from maintainers and incorporate requested changes.
Make sure there are no build errors and typings are applied correctly (most of our projects use TypeScript). Utilize existing linting configuration like prettier and eslint.
If using VSCode, you can for example use the esbenp.prettier extension
in the root of the project, add a folder .vscode in .vscode, add a file settings.json
add the following settings:
Wishlist
The community is always coming up with ideas on what to build on GoodDollar.
Here you can find some recent ideas from a Hackathon in partnership with Superfluid. We also have our ideas board as part of the GoodBuilders program.
A Big Thank You!
Whether large or small, your contributions to this project take this initiative a step closer to reducing wealth inequality through blockchain technology. Thank you for taking the time to contribute.
Last updated
Was this helpful?