diff --git a/src/content/docs/how-to-work-on-labs.mdx b/src/content/docs/how-to-work-on-labs.mdx index 9aee10c5..06357efa 100644 --- a/src/content/docs/how-to-work-on-labs.mdx +++ b/src/content/docs/how-to-work-on-labs.mdx @@ -111,6 +111,26 @@ Hooks are supported for lab types `25`, `26`, and `27`. +## 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/). diff --git a/src/content/docs/how-to-work-on-quizzes.mdx b/src/content/docs/how-to-work-on-quizzes.mdx index d3207712..057cacf5 100644 --- a/src/content/docs/how-to-work-on-quizzes.mdx +++ b/src/content/docs/how-to-work-on-quizzes.mdx @@ -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. + +## 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. diff --git a/src/content/docs/how-to-work-on-reviews.mdx b/src/content/docs/how-to-work-on-reviews.mdx index a9205d13..5efa16dd 100644 --- a/src/content/docs/how-to-work-on-reviews.mdx +++ b/src/content/docs/how-to-work-on-reviews.mdx @@ -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.