---
title: "Getting Started"
---

> Documentation Index
> Fetch the complete documentation index at: https://contribute.freecodecamp.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting Started

The [freeCodeCamp.org](https://freecodecamp.org) community is possible thanks to thousands of kind volunteers like you. If you want to contribute your time and expertise, we would be excited to welcome you aboard.

:::note
Before you proceed, please take a quick 2 minutes to read our [Code of Conduct](https://www.freecodecamp.org/code-of-conduct). We strictly enforce it across our community so that contributing to freeCodeCamp.org is a safe, inclusive experience for everyone.
:::

## Choose Your Contribution Path

Select the pathway that best matches what you want to work on. Each path guides you through exactly which documentation you need.

- [Curriculum & Challenges](#curriculum--challenges) — Work on coding challenges, certifications, and learning content
- [UI & Client](#ui--client) — Improve the web app interface and user experience
- [Quick Fixes](#quick-fixes) — Fix typos, small bugs, or make minor documentation updates
- [Mobile App](#mobile-app) — Contribute to the freeCodeCamp mobile application
- [Documentation](#documentation) — Improve this contribution documentation site

- [Contributor FAQ](/faq/) — We answer common questions about contributing

- [Finding issues to work on](https://github.com/freecodecamp/freecodecamp/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) — Looking for something to work on? Check out issues labeled 'help wanted' on GitHub
---

### Curriculum & Challenges

Our curriculum is curated by the global freeCodeCamp community. You can help expand and improve the curriculum, update project user stories to better explain concepts, and improve automated tests.

1. **Set up freeCodeCamp locally**

   Follow our [local setup guide](/how-to-setup-freecodecamp-locally/) to get the codebase running on your machine.

2. **Learn the Git workflow**

   Read [our Git workflow guide](/basic-git-workflow/) for our branching and commit conventions.

3. **Work on curriculum challenges**

   Our main guide for curriculum work: [how to work on coding challenges](/how-to-work-on-coding-challenges/).

4. **Understand the curriculum structure**

   Review the [curriculum file structure](/curriculum-file-structure/) to understand how content is organized.

5. **Submit your changes**

   Follow [how to open a pull request](/how-to-open-a-pull-request/) when you're ready to submit.

:::tip[Optional Reading]

- [Work on quizzes](/how-to-work-on-quizzes/), [reviews](/how-to-work-on-reviews/), [labs](/how-to-work-on-labs/), or [workshops](/how-to-work-on-workshops/) - for specific content types
- [Add Playwright tests](/how-to-add-playwright-tests/) - if adding test coverage for your changes
- [Curriculum testing helpers](/curriculum-help/) - utilities for testing curriculum content

:::

---

### UI & Client

Our learning platform runs on a modern JavaScript stack including Node.js, MongoDB, React, and more. This path covers both frontend UI work and backend API contributions.

1. **Set up freeCodeCamp locally**

   Follow our [local setup guide](/how-to-setup-freecodecamp-locally/) to get the codebase running on your machine.

2. **Learn the Git workflow**

   Read [our Git workflow guide](/basic-git-workflow/) for our branching and commit conventions.

3. **Review codebase best practices**

   Study our [codebase best practices](/codebase-best-practices/) for coding standards and conventions.

4. **Submit your changes**

   Follow [how to open a pull request](/how-to-open-a-pull-request/) when you're ready to submit.

:::tip[Optional Reading]

- [Work on the component library](/how-to-work-on-the-component-library/) - for UI component development
- [Add Playwright tests](/how-to-add-playwright-tests/) - if your changes affect user flows
- [Work on localized client webapp](/how-to-work-on-localized-client-webapp/) - for internationalization work
- [Fix merge conflicts](/how-to-fix-merge-conflicts/) - if you encounter conflicts when syncing
- [Troubleshooting guide](/troubleshooting-development-issues/) - if you run into issues

:::

---

### Quick Fixes

Want to fix a typo or small bug in the [main freeCodeCamp repository](https://github.com/freecodecamp/freecodecamp)? Even for small changes, you should set up locally to run linters and tests before submitting.

For fixes to this documentation site, use the [Documentation pathway](#documentation) instead.

1. **Set up freeCodeCamp locally**

   Follow our [local setup guide](/how-to-setup-freecodecamp-locally/) to get the codebase running on your machine.

2. **Make your change**

   Fix the typo, bug, or documentation issue you found.

3. **Run linters and tests**

   Ensure your changes pass all checks before submitting. This catches errors early and saves time for everyone.

4. **Submit your changes**

   Follow [how to open a pull request](/how-to-open-a-pull-request/).

:::caution
Always test changes locally before submitting. Untested changes may introduce errors that affect millions of learners!
:::

---

### Mobile App

Contribute to the freeCodeCamp mobile application, available on iOS and Android.

1. **Set up the mobile app locally**

   Follow our [mobile app setup guide](/how-to-setup-freecodecamp-mobile-app-locally/) to get the app running.

2. **Learn the Git workflow**

   Read [our Git workflow guide](/basic-git-workflow/) for our branching and commit conventions.

3. **Submit your changes**

   Follow [how to open a pull request](/how-to-open-a-pull-request/) when you're ready to submit.

---

### Documentation

Help improve this very documentation site you're reading! Good documentation helps more people contribute.

1. **Set up the docs site locally**

   Follow [how to work on the docs site](/how-to-work-on-the-docs-site/) to run it locally.

2. **Learn the Git workflow**

   Read [our Git workflow guide](/basic-git-workflow/) for our branching and commit conventions.

3. **Make your improvements**

   Add new content, clarify existing guides, fix errors, or improve navigation.

4. **Submit your changes**

   Follow [how to open a pull request](/how-to-open-a-pull-request/) when you're ready to submit.

---

### Translations

:::caution[Currently Paused]
We're exploring new ways to translate freeCodeCamp's resources into world languages. For now, we're not accepting contributions to translate our curriculum.

In the meantime, please consider contributing to other areas listed above. If you have any questions, feel free to reach out to us on our [Discord server](https://chat.freecodecamp.org).
:::

---

## Need Help?

- **FAQ** — Check our [contributor FAQ](/faq/) for answers to common questions.
- **Troubleshooting** — Having issues? See our [troubleshooting
  guide](/troubleshooting-development-issues/).
- **Community** — Join our [Discord server](https://chat.freecodecamp.org) to chat with other
  contributors.
- **Forum** — Ask questions on our [community
  forum](https://forum.freecodecamp.org/c/site-community).

Happy contributing!

Source: https://contribute.freecodecamp.org/getting-started/index.mdx
