# Ways to contribute
So you want to contribute to IPFS and the ecosystem? Here is a quick listing of things we need help with and how you can get started. Even if what you want to do is not listed here, we probably accept contributions for it! If you're unsure, please open an issue.
The IPFS community believes that our mission is best served in an environment that is friendly, safe, and accepting, and free from intimidation or harassment. To that end, we ask that everyone involved in IPFS read and respect our code of conduct (opens new window). Please contact [email protected] if you need to report a problem or address a grievance related to an abuse report.
# Code
IPFS and its sister-projects are big, with lots of code written in multiple languages. We always need help writing and maintaining code, but it can be daunting to just jump in. We use the label Help Wanted on features or bug fixes that people can help out with. They are an excellent place for you to start contributing code.
The biggest and most active repositories we have today are:
- ipfs/kubo (opens new window)
- ipfs/js-ipfs (opens new window)
- libp2p/go-libp2p (opens new window)
- libp2p/js-libp2p (opens new window)
If you want to start contributing to the core of IPFS, those repositories are a great place to start. But the Help Wanted label exists in all of our repositories across the GitHub organizations:
- IPFS (opens new window)
- libp2p (opens new window)
- IPLD (opens new window)
- Multiformats (opens new window)
# Documentation
IPFS is a huge project and undertaking, and with lots of code comes the need for lots of good documentation! However, we need a lot more help to write the awesome docs the project needs.
Before contributing to the IPFS docs, please read these quick guides; they'll save you time and help keep the docs accurate and consistent!
If you have never contributed to an open-source project before or just need a refresher, take a look at the contribution tutorial.
# Support
IPFS already has lots of users and curious people experimenting and using IPFS in their applications. These users sometimes get stuck or have questions that need answering. If you've contributed something with code or documentation, the chances are that you can probably help a lot of people with their questions.
The IPFS forum (opens new window) is the best place to go if you're looking to give or get support.
# Testing
We're continuously improving IPFS every day, but mistakes can happen, and we could release something that doesn't work as well as it should — or simply doesn't work at all! If you enjoy instrumentation and testing, check out these projects.
# Design
We have many design needs, but only a small team of visual and UX designers who divide their time between IPFS-related projects and other work here. That means there are a number of issues that could use your design contributions. As home to IPFS Desktop and Companion, the ipfs-gui (opens new window) repo is a good place to look for opportunities to help move our design work forward. Simply filter by the label that best fits your skill set, such as design-visual (opens new window) or design-ux (opens new window).
# Applications
A few ways to discover applications, solutions, and tools built with IPFS.
- IPFS Ecosystem Directory (opens new window)
- ipfs/awesome-ipfs (opens new window)
- IPFS Forum (opens new window)
# Protocol Design
IPFS is ultimately about building better protocols, and we always welcome ideas and feedback on how to improve those protocols. Post feedback, issues, and proposals via GitHub.