8.6 KiB
Read these guidelines in | English | 中文 | русский | عربى | Español | Português |
Contribution Guidelines
Hello 👋 !
freeCodeCamp.org is possible thanks to thousands of kind volunteers like you. We are grateful for your interest in contributing and we are exited to welcome you onboard.
There are a lot of ways you can help and contribute to the community. For instance, you can copy edit, and curate content for guide articles and curriculum. Translate freeCodeCamp into a language that you speak. Write code, report and fix bugs. Triage issues and help moderate and review changes to the codebase. You can help campers, provide feedback and coding assistance and more.
Any and all contributions are welcome alike.
A quick note before getting started:
We have a "Code of Conduct" that you should follow at all times. In summary - We want contributing to freeCodeCamp.org, foster a welcoming environment that is safe and inclusive for everyone.
Be polite and succinct in your conversations with fellow contributors. Remember to respect everyone's time and efforts, they are helping the community same as you.
Happy Contributing 🎉!
Here are some fun ways you can help
You can choose to contribute to an area of you interest:
-
Contribute to this open source codebase.
Help us in creating or editing guide articles, curriculum challenges and fixing bugs on the learning platform.
-
Help campers on our public forum.
- ❓ Help campers by answering their questions.
- 💬 Give feedback on camper projects.
-
Help us add subtitles on our YouTube channel.
Contribute to this open source codebase
We have a huge open source codebase of the thousands of Curriculum challenges and Guide articles. These challenges and articles make up the learning content available on the freeCodeCamp.org's learning platform.
You can help us:
Research, Write and Update our guide articles
What are Guide articles?
The Guide articles aim to be short articles to get you started and familiar with these concepts before going on to read more in-depth material.
Guide articles can be an explanation of a syntax, design pattern, what aria labels are for, or something like what the numbers mean in the top right-hand corner of your screen when at freecodecamp.org.
You can find an example article about HTML Elements here.
What can I write an article about?
Front-end development (adjective form with a dash) is when you are working on the front end (noun form with no dash). The same goes with the back end, full stack, and many other compound terms.
We welcome your help writing these articles. You don't have to be an expert in a topic to write about it—this entire Guide is open source, so even if you make a mistake, another contributor will eventually correct it.
To help, find a stub article
on our Guide website, write the article, then open a pull request (PR) to replace the stub with your article. A pull request is how you'll suggest changes. It lets others know about your changes, review them and adopt them.
If you can't find a stub about the topic you'd like to write about, you can open a PR that creates the stub and includes your draft article.
If you would like work on these, follow along these guidelines:
How to work on Guide articles.
Create, Update and Fix Bugs in our curriculum challenges
[TODO]
Translate guide articles and curriculum challenges
You can help us translate our Guide articles and Curriculum challenges for a language that you speak. Currently we have translated versions in:
- Chinese : 中文
- Russian : русский
- Arabic : عربى
- Spanish : Español
- Portuguese : Português
Most of these versions are machine translated. We would love your help in improving the quality of these translations.
If you would like work on these, follow along these steps:
[TODO]
Help us fix bugs in freeCodeCamp.org's learning platform
Our learning platform runs on a modern JavaScript stack. It has various components, tools and libraries including but not limited to Node.js, MongoDB, LoopBack, OAuth 2.0, React, Gatsby, Webpack, and more.
Broadly,
- We have a Node.js based API server.
- A set of React based client applications.
- A script that we use to use our Frontend projects.
Contributing to this requires some understanding of APIs, ES6 Syntax and a lot of curiosity.
If you would like work on these, follow along these steps:
[TODO]
FAQs
How can I report a bug, that is not on board?
If you think you've found a bug, first read the "Help I've Found a Bug" article and follow its instructions.
If you're confident it's a new bug, go ahead and create a new GitHub issue. Be sure to include as much information as possible so we can reproduce the bug. We have a pre-defined issue template to help you through this.
Please note, that any issues that seek coding help on a challenge, will be closed. The issue tracker is strictly for the codebase related issues and discussions. You should seek assistance on the forum before reporting whenever in doubt.
How can I report a security issue?
Please don't create GitHub issues for security issues. Instead, please send an email to security@freecodecamp.org
and we'll look into it immediately.
I am stuck on something that is not in these documentation. How can get help?
Feel free to ask for help in:
We are excited to help you contribute to any of the topics that you would like to work on. Make sure you search for your query before posting a new one. Be polite and patient. Our community volunteers and moderators are always around to guide you through your queries.
I am new to GitHub and Open Source in general:
- You can learn how from this free series "How to Contribute to an Open Source Project on GitHub" - by Kent C. Dodds
- Checkout https://www.firsttimersonly.com, a great resource on finding issues to contribute to as a first timer.
What do these different labels mean, that are tagged on issues?
Our community moderators triage issues and pull requests based on their priority, severity and other factors. You can find a complete glossary of their meanings here. You should go through Help Wanted
or first timers welcome
issues for quick lookup of what is available for you to work on.
I found a typo, should I report an issue before I can make a pull request?
You can straight away create a pull request without having to report any issues, for typos, or small changes to verbiage. Issues are a tool to seek confirmation on changes that you would want to propose via a pull request.