Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions src/content/docs/how-to-work-on-labs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,26 @@ Hooks are supported for lab types `25`, `26`, and `27`.

<HooksShared />

## Create the Lab

You can create the lab with `pnpm run create-new-project`. This opens up a command line UI that guides you through the process. Once that has finished, there should be a new challenge in the English curriculum that you can use for the first step of the project. For example, if you created a project called `test-project` in the Responsive Web Design certification, it would be in `curriculum/challenges/english/blocks/test-project`.

The script will ask the following questions:

1. **Which certification does this belong to?** — Select the certification (e.g., Responsive Web Design). This determines which superblock the lab is added to.
2. **What is the dashed name (in kebab-case) for this project?** — The block name in kebab-case (e.g., `lab-building-a-card`). Must be unique across all blocks.
3. **Enter a title for this project:** — The display title shown to campers. Defaults to the dashed name if left blank.
4. **Choose a help category** — Select the most relevant category (e.g., HTML-CSS for HTML-based labs, JavaScript for JS labs).
5. **Choose a block label** — Select `lab`. (This question only appears for chapter-based certifications.)
6. **Choose a block layout** — Select `link`. (This question only appears for chapter-based certifications.)
7. **What chapter should this project go in?** — Select the chapter within the certification. (Chapter-based certifications only.)
8. **What module should this project go in?** — Select the module within the chosen chapter. (Chapter-based certifications only.)
9. **At which position does this appear in the module?** — The position number within the module (e.g., 1 for first project). (Chapter-based certifications only.)

For non-chapter-based certifications, instead of questions 5–9, you will be asked:

- **Which position does this appear in the certificate?** — The position number in the certificate's project list.

## Proposing a Pull Request (PR)

After you've committed your changes, check here for [how to open a Pull Request](/how-to-open-a-pull-request/).
27 changes: 27 additions & 0 deletions src/content/docs/how-to-work-on-quizzes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -228,3 +228,30 @@ Also, any question that was taken from external quiz sites is prohibited.
Please come up with your own quiz questions and answers.

</Aside>

## Using the Scripts Manually

If you want to work on the challenges manually, in your local IDE, you can run the step management scripts directly.

The `tools/challenge-helper-scripts` folder contains tools to help facilitate the creation and maintenance of the freeCodeCamp project-based curriculum.

### Create a New Project

Run `pnpm run create-new-project`. This opens up a command line UI that guides you through the process. Once that has finished, there should be a new challenge in the English curriculum that you can use for the first step of the project. For example, if you created a project called `test-project` in the Responsive Web Design certification, it would be in `curriculum/challenges/english/blocks/test-project`.

The script will ask the following questions:

1. **Which certification does this belong to?** — Select the certification the quiz is associated with.
2. **What is the dashed name (in kebab-case) for this project?** — The block name in kebab-case (e.g., `quiz-html-basics`). Must be unique across all blocks.
3. **Enter a title for this project:** — The display title shown to campers. Defaults to the dashed name if left blank.
4. **Choose a help category** — Select the most relevant category (e.g., HTML-CSS, JavaScript).
5. **Choose a block label** — Select `quiz`. (This question only appears for chapter-based certifications.)
6. **Choose a block layout** — Select `link`. (This question only appears for chapter-based certifications.)
7. **Choose a question count** — Select 10 or 20 questions for the quiz. (Quiz only.)
8. **What chapter should this project go in?** — Select the chapter within the certification. (Chapter-based certifications only.)
9. **What module should this project go in?** — Select the module within the chosen chapter. (Chapter-based certifications only.)
10. **At which position does this appear in the module?** — The position number within the module (e.g., 1 for first project). (Chapter-based certifications only.)

For non-chapter-based certifications, instead of questions 5–7 and 8–10, you will be asked:

- **Which position does this appear in the certificate?** — The position number in the certificate's project list.
20 changes: 20 additions & 0 deletions src/content/docs/how-to-work-on-reviews.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -187,3 +187,23 @@ dashedName: review-topic-name

Review the [topic] topics and concepts.
````

## Create the Review

You can create the review with `pnpm run create-new-project`. This opens up a command line UI that guides you through the process. Once that has finished, there should be a new challenge in the English curriculum that you can use for the first step of the project.

The script will ask the following questions:

1. **Which certification does this belong to?** — Select the certification the review is associated with.
2. **What is the dashed name (in kebab-case) for this project?** — The block name in kebab-case (e.g., `review-basic-html`). Must be unique across all blocks.
3. **Enter a title for this project:** — The display title shown to campers. Defaults to the dashed name if left blank.
4. **Choose a help category** — Select the most relevant category (e.g., HTML-CSS, JavaScript).
5. **Choose a block label** — Select `review`. (This question only appears for chapter-based certifications.)
6. **Choose a block layout** — Select `link`. (This question only appears for chapter-based certifications.)
7. **What chapter should this project go in?** — Select the chapter within the certification. (Chapter-based certifications only.)
8. **What module should this project go in?** — Select the module within the chosen chapter. (Chapter-based certifications only.)
9. **At which position does this appear in the module?** — The position number within the module (e.g., 1 for first project). (Chapter-based certifications only.)

For non-chapter-based certifications, instead of questions 5–9, you will be asked:

- **Which position does this appear in the certificate?** — The position number in the certificate's project list.