# Contribution Checklist
So you're interested in contributing to Wasabi - welcome! This checklist will get you plugged in and productive as quickly as possible.
# Who is a contributor?
A contributor is any individual who works to improve and add value to Wasabi and its users.
You can become a Wasabika!
Wasabi is free and open-source software, but contributing is not just about writing code. This means anything from fixing typos in documentation, to answering questions of fellow Wasabikas, to implementing new Wasabi features and everything in-between. All such contributions are very welcomed and greatly appreciated.
# Say hello and get started
- Join our Slack and especially check out our GitHub repository.
- Introduce yourself, say a bit about your skills and interests. This will help others point you in the right direction.
- Explore the communication channels and find out what the peers are tinkering on, learn about the project and who is contributing in what way. This will help you to find the interesting challenges you can work on.
- Follow @WasabiWallet on Twitter and subscribe to the Wasabi YouTube channel to stay up-to-date.
# Learn how we work
- To understand how Wasabi CoinJoins work, read Zero Link: The Bitcoin Fungibility Framework and explore the Documentation.
- Familiarize yourself with C4: The Collective Code Construction Contract. It’s a simple set of collaboration rules based on GitHub’s fork and pull request model, and a foundational part of how we work together.
# Do valuable work
Ok. You’re all set up and ready to work. Here’s what to do next.
- Find a problem somewhere in Wasabi-land that (a) needs fixing and (b) is a match for your skills and interests. Browse open issues and ask around about what other contributors think needs fixing. Because while you don’t need anybody’s permission and you can work on whatever you want, you’ll want to know up front whether anybody else is going to care about the work you do.
- Do work to fix that problem. Submit your fix for review with a pull request (for code and documentation changes) or with a GitHub issue (for everything else).
- Request that others review your work. The best way to do this is by writing good commit comments and pull request/issue descriptions that clearly explain the problem your work is intended to solve, why it’s important, and why you fixed it the way you did. Make it as easy as possible for others to review your work. Make it a pleasure for others to review your work.
- Incorporate review feedback you get until your fix gets merged or is otherwise accepted.
- Repeat steps 1–4.
# What to work on
It is not required to work on an existing issue to contribute to Wasabi, and no one is here to tell you what to do. Contributors who have their own ideas are free to work in their own forks on whatever they wish, however they wish, and without any permission from anyone.
With that said, it's a good idea to consult with other Wasabikas via Slack, GitHub, or other communication channels before setting out on any serious contribution effort. Do this in order to ensure your contribution is:
- something that the relevant maintainers would be likely to merge;
- subjected to as much feedback as possible while still an idea and thus cheap to change or abort;
- something that might be considered in the contribution game and bounty programs.
Remember: every contributor is free to work on what they want, including maintainers who may or may not want to review and merge your pull request if they don't have any prior context for it, or reason to believe it's worth spending their time on.
Reviews are for everybody!
If you want to be really popular around here, don’t just submit your own work, but also spend time reviewing the work of others.