From 9bde22f08a70266b09ec8850b8a959252a18f012 Mon Sep 17 00:00:00 2001 From: Chinar Amrutkar Date: Mon, 2 Mar 2026 13:20:52 +0000 Subject: [PATCH 1/6] fix: change branch/name-here to branch-name-here in git push commands Closes #1202 - Improves clarity for new contributors by using hyphen instead of slash in branch name placeholder. --- src/content/docs/how-to-contribute-to-the-codebase.mdx | 2 +- .../docs/how-to-setup-freecodecamp-mobile-app-locally.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/how-to-contribute-to-the-codebase.mdx b/src/content/docs/how-to-contribute-to-the-codebase.mdx index bad50f9e..8d081596 100644 --- a/src/content/docs/how-to-contribute-to-the-codebase.mdx +++ b/src/content/docs/how-to-contribute-to-the-codebase.mdx @@ -218,7 +218,7 @@ Follow these steps: 10. Next, you can push your changes to your fork: ```bash - git push origin branch/name-here + git push origin branch-name-here ``` diff --git a/src/content/docs/how-to-setup-freecodecamp-mobile-app-locally.mdx b/src/content/docs/how-to-setup-freecodecamp-mobile-app-locally.mdx index 66bde0ca..556b6f8e 100644 --- a/src/content/docs/how-to-setup-freecodecamp-mobile-app-locally.mdx +++ b/src/content/docs/how-to-setup-freecodecamp-mobile-app-locally.mdx @@ -388,7 +388,7 @@ Follow these steps: 10. Next, you can push your changes to your fork: ```bash - git push origin branch/name-here + git push origin branch-name-here ``` From 150fade44fad3da3548265a300c14976ecc4b4ff Mon Sep 17 00:00:00 2001 From: Chinar Amrutkar Date: Tue, 3 Mar 2026 22:28:37 +0000 Subject: [PATCH 2/6] docs: document create-new-project script for labs, quizzes, and reviews --- src/content/docs/how-to-contribute-to-the-codebase.mdx | 2 +- .../how-to-setup-freecodecamp-mobile-app-locally.mdx | 2 +- src/content/docs/how-to-work-on-coding-challenges.mdx | 4 ++++ src/content/docs/how-to-work-on-labs.mdx | 10 ++++++++++ src/content/docs/how-to-work-on-quizzes.mdx | 10 ++++++++++ src/content/docs/how-to-work-on-reviews.mdx | 10 ++++++++++ 6 files changed, 36 insertions(+), 2 deletions(-) diff --git a/src/content/docs/how-to-contribute-to-the-codebase.mdx b/src/content/docs/how-to-contribute-to-the-codebase.mdx index 8d081596..bad50f9e 100644 --- a/src/content/docs/how-to-contribute-to-the-codebase.mdx +++ b/src/content/docs/how-to-contribute-to-the-codebase.mdx @@ -218,7 +218,7 @@ Follow these steps: 10. Next, you can push your changes to your fork: ```bash - git push origin branch-name-here + git push origin branch/name-here ``` diff --git a/src/content/docs/how-to-setup-freecodecamp-mobile-app-locally.mdx b/src/content/docs/how-to-setup-freecodecamp-mobile-app-locally.mdx index 556b6f8e..66bde0ca 100644 --- a/src/content/docs/how-to-setup-freecodecamp-mobile-app-locally.mdx +++ b/src/content/docs/how-to-setup-freecodecamp-mobile-app-locally.mdx @@ -388,7 +388,7 @@ Follow these steps: 10. Next, you can push your changes to your fork: ```bash - git push origin branch-name-here + git push origin branch/name-here ``` diff --git a/src/content/docs/how-to-work-on-coding-challenges.mdx b/src/content/docs/how-to-work-on-coding-challenges.mdx index a49287bb..394b28c4 100644 --- a/src/content/docs/how-to-work-on-coding-challenges.mdx +++ b/src/content/docs/how-to-work-on-coding-challenges.mdx @@ -741,6 +741,10 @@ If you are working with the step-based challenges, refer to the [Work on Worksho There are a few helper scripts that can be used to manage the challenges in a block. Note that these commands should all be run in the block directory. For example: +### 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`. + ```bash cd curriculum/challenges/english/blocks/basic-algorithm-scripting ``` diff --git a/src/content/docs/how-to-work-on-labs.mdx b/src/content/docs/how-to-work-on-labs.mdx index 19fbcd52..55f8f85f 100644 --- a/src/content/docs/how-to-work-on-labs.mdx +++ b/src/content/docs/how-to-work-on-labs.mdx @@ -35,3 +35,13 @@ For the labs that do not have a demo project, the solution can be the minimum ne The labs that have a demo project have a `demoType` property in the frontmatter with a value of `onClick`, the labs that do not have a demo project do not have a `demoType` project. The metadata for labs require a `blockType` property with a value of `lab`, and a `blockLayout` with a value of `link`. + +## 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`. diff --git a/src/content/docs/how-to-work-on-quizzes.mdx b/src/content/docs/how-to-work-on-quizzes.mdx index 51134d81..ee62633e 100644 --- a/src/content/docs/how-to-work-on-quizzes.mdx +++ b/src/content/docs/how-to-work-on-quizzes.mdx @@ -165,3 +165,13 @@ 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`. diff --git a/src/content/docs/how-to-work-on-reviews.mdx b/src/content/docs/how-to-work-on-reviews.mdx index 88bcb0c7..eb0a59d1 100644 --- a/src/content/docs/how-to-work-on-reviews.mdx +++ b/src/content/docs/how-to-work-on-reviews.mdx @@ -31,3 +31,13 @@ The metadata for reviews require a `blockType` property with a value of `review` Reviews use a `challengeType` of 31. Reviews have a dashedName with `review-topic`, and titles of the reviews are like `Topic Review`. + +## 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`. From 95c4e703e34e70acbac7d9dd0ab73bfde919dd6e Mon Sep 17 00:00:00 2001 From: Chinar Amrutkar Date: Tue, 24 Mar 2026 18:51:39 +0000 Subject: [PATCH 3/6] docs: remove coding-challenges page changes per maintainer feedback jdwilkin4 has a separate PR for updating the coding challenges page. This PR now focuses on labs, quizzes, and reviews only. --- src/content/docs/how-to-work-on-coding-challenges.mdx | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/content/docs/how-to-work-on-coding-challenges.mdx b/src/content/docs/how-to-work-on-coding-challenges.mdx index e08d5b2c..a49287bb 100644 --- a/src/content/docs/how-to-work-on-coding-challenges.mdx +++ b/src/content/docs/how-to-work-on-coding-challenges.mdx @@ -6,10 +6,6 @@ sidebar: import { Steps } from '@astrojs/starlight/components'; -:::tip -You'll need this guide if you're creating or modifying interactive coding challenges. If you're working on other types of curriculum like workshops, labs, or quizzes, check their respective guides. -::: - Our goal is to develop a fun and clear interactive learning experience. Designing interactive coding challenges is difficult. It would be much easier to write a lengthy explanation or to create a video tutorial. But for our core curriculum, we're sticking with what works best for most people - a fully interactive, video game-like experience. @@ -457,7 +453,7 @@ Our goal is to have thousands of 2-minute challenges. These can flow together an ### Formatting challenge text -In addition to the rules contained in the [Writing Style Guide](/writing-style-guide), here are specific formatting guidelines for challenge text and examples: +Here are specific formatting guidelines for challenge text and examples: - Language keywords go in `\`` backticks. For example, HTML tag names or CSS property names. - References to code parts (i.e. function, method, or variable names) should be wrapped in `\`` backticks. See example below: @@ -745,10 +741,6 @@ If you are working with the step-based challenges, refer to the [Work on Worksho There are a few helper scripts that can be used to manage the challenges in a block. Note that these commands should all be run in the block directory. For example: -### 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`. - ```bash cd curriculum/challenges/english/blocks/basic-algorithm-scripting ``` From 5959fd254e727a85e0db1cab914672d66e229c9e Mon Sep 17 00:00:00 2001 From: Chinar Amrutkar Date: Tue, 24 Mar 2026 18:52:39 +0000 Subject: [PATCH 4/6] docs: remove extraneous turborepo section per reviewer feedback --- .../docs/how-to-contribute-to-the-codebase.mdx | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/content/docs/how-to-contribute-to-the-codebase.mdx b/src/content/docs/how-to-contribute-to-the-codebase.mdx index 81cd401c..bad50f9e 100644 --- a/src/content/docs/how-to-contribute-to-the-codebase.mdx +++ b/src/content/docs/how-to-contribute-to-the-codebase.mdx @@ -247,16 +247,3 @@ A quick reference to the commands that you will need when working. | `FCC_BLOCK='basic-html-and-html5' pnpm run develop` | Build and develop a specific Block. | | `FCC_SUPERBLOCK='responsive-web-design' pnpm run develop` | Build and develop a specific SuperBlock. | | `pnpm run clean` | Uninstalls all dependencies and cleans up caches. | - -## Speeding up your workflows (applies to fCC Staff only) - -We make use of turborepo for caching and parallelizing tasks. To take advantage of the remote cache, add the following variables to your `.env` file `TURBO_API`, `TURBO_TEAM`, `TURBO_TOKEN`, `TURBO_REMOTE_CACHE_SIGNATURE_KEY` and `TURBO_CACHE`. These values are in Turborepo Remote Cache in 1password. - -The easiest way to do this to make use of [direnv](https://direnv.net/). After installing it, it needs [configuring](https://direnv.net/man/direnv.toml.1.html#description) with - -```toml -[global] -load_dotenv = true -``` - -typically in `~/.config/direnv/direnv.toml`. From 77071c95db262562b0536f199f7f42eb5f55875e Mon Sep 17 00:00:00 2001 From: Chinar Amrutkar Date: Wed, 25 Mar 2026 22:45:08 +0000 Subject: [PATCH 5/6] docs: restore deleted content and add create-new-project script documentation - Restored labs, reviews, and coding-challenges from upstream/main (merge conflict had accidentally deleted template/hook sections) - Added 'Create the Lab' section to labs.mdx with script questions - Added 'Create the Review' section to reviews.mdx with script questions - Expanded create-new-project docs in quizzes.mdx with script questions Each section documents all questions the script asks and what each answer means, including chapter-based vs non-chapter-based differences. --- .../docs/how-to-work-on-coding-challenges.mdx | 6 +- src/content/docs/how-to-work-on-labs.mdx | 91 +++++++++- src/content/docs/how-to-work-on-quizzes.mdx | 17 ++ src/content/docs/how-to-work-on-reviews.mdx | 168 +++++++++++++++++- 4 files changed, 270 insertions(+), 12 deletions(-) diff --git a/src/content/docs/how-to-work-on-coding-challenges.mdx b/src/content/docs/how-to-work-on-coding-challenges.mdx index ac587fd7..9de5c395 100644 --- a/src/content/docs/how-to-work-on-coding-challenges.mdx +++ b/src/content/docs/how-to-work-on-coding-challenges.mdx @@ -6,6 +6,10 @@ sidebar: import { Steps } from '@astrojs/starlight/components'; +:::tip +You will need this guide if you are working on any parts of the curriculum development which includes the workshops and labs. +::: + Our goal is to develop a fun and clear interactive learning experience. Designing interactive coding challenges is difficult. It would be much easier to write a lengthy explanation or to create a video tutorial. But for our core curriculum, we're sticking with what works best for most people - a fully interactive, video game-like experience. @@ -289,7 +293,7 @@ Our goal is to have thousands of 2-minute challenges. These can flow together an ### Formatting challenge text -Here are specific formatting guidelines for challenge text and examples: +In addition to the rules contained in the [Writing Style Guide](/writing-style-guide), here are specific formatting guidelines for challenge text and examples: - Language keywords go in `\`` backticks. For example, HTML tag names or CSS property names. - References to code parts (i.e. function, method, or variable names) should be wrapped in `\`` backticks. See example below: diff --git a/src/content/docs/how-to-work-on-labs.mdx b/src/content/docs/how-to-work-on-labs.mdx index 8da43880..06357efa 100644 --- a/src/content/docs/how-to-work-on-labs.mdx +++ b/src/content/docs/how-to-work-on-labs.mdx @@ -44,14 +44,93 @@ Labs that have a visual output (i.e. HTML-based) can have a demo project, in whi You can create the lab with `pnpm run create-new-project`. The CLI will ask you which certification, chapter, module, and position the lab belongs to. If you are unsure about these concepts, refer to the [curriculum file structure](/curriculum-file-structure/) page. -The metadata for labs require a `blockType` property with a value of `lab`, and a `blockLayout` with a value of `link`. +The metadata for labs require a `blockLabel` property with a value of `lab`, and a `blockLayout` with a value of `link`. -## Using the Scripts Manually +Labs have a dashedName starting with `lab-`, and titles follow the format "Build / Implement / Design / Debug [Name]". -If you want to work on the challenges manually, in your local IDE, you can run the step management scripts directly. +## Lab File Template -The `tools/challenge-helper-scripts` folder contains tools to help facilitate the creation and maintenance of the freeCodeCamp project-based curriculum. +Each lab is a single Markdown file. The `challengeType` and seed language depend on the type of lab: -### Create a New Project +| `challengeType` | Lab type | Seed language(s) | Solution language(s) | +| --------------- | ----------------- | ----------------------------------------- | -------------------- | +| `25` | HTML/CSS(/JS/JSX) | `html` + `css`, or + `js`, or + `jsx` | same combination | +| `26` | JavaScript | `js` | `js` | +| `27` | Python | `py` | `py` | +| `13` | Bash/SQL/etc. | no seed — runs via a CodeRoad `url` field | none | -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`. +`saveSubmissionToDB: true` is only present in cert-project labs. + +Here is the template for a JavaScript lab: + +````md +--- +id: +title: Build / Implement / Design / Debug [Name] +challengeType: X +dashedName: lab-name +demoType: onClick +--- + +# --description-- + +**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. + +**User Stories:** + +1. ... + +# --hints-- + +Description of what the test checks. + +```js +// test code +``` + +# --seed-- + +## --seed-contents-- + +```lang + +``` + +# --solutions-- + +```lang +// solution code +``` +```` + +## Hooks + +Hooks are optional code blocks that run at specific points during test execution. They can be used to set up shared state, install fake timers, or clean up after tests. + +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 8b06dd88..057cacf5 100644 --- a/src/content/docs/how-to-work-on-quizzes.mdx +++ b/src/content/docs/how-to-work-on-quizzes.mdx @@ -238,3 +238,20 @@ The `tools/challenge-helper-scripts` folder contains tools to help facilitate th ### 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 b0ff12d2..5efa16dd 100644 --- a/src/content/docs/how-to-work-on-reviews.mdx +++ b/src/content/docs/how-to-work-on-reviews.mdx @@ -40,12 +40,170 @@ The metadata for reviews require a `blockLabel` property with a value of `review Reviews have a dashedName with `review-topic`, and titles of the reviews are like `Topic Review`. -## Using the Scripts Manually +## Review File Template -If you want to work on the challenges manually, in your local IDE, you can run the step management scripts directly. +Each review is a single Markdown file. The content section uses either `# --interactive--` or `# --description--` depending on whether the review includes interactive code editors. -The `tools/challenge-helper-scripts` folder contains tools to help facilitate the creation and maintenance of the freeCodeCamp project-based curriculum. +Use `# --interactive--` when the review includes `:::interactive_editor` blocks that campers can run directly. -### Create a New Project +For JavaScript-only examples: -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`. +````md +--- +id: +title: [Topic] Review +challengeType: 31 +dashedName: review-topic-name +--- + +# --interactive-- + +## Section Heading + +- **concept**: explanation + +```js +// optional static code example +``` + +:::interactive_editor + +```js +// interactive code example campers can run +``` + +::: + +# --assignment-- + +Review the [topic] topics and concepts. +```` + +The `:::interactive_editor` block takes different forms depending on the file types involved. + +For JavaScript-only examples (no DOM manipulation): + +````md +:::interactive_editor + +```js +// interactive code example campers can run +``` + +::: +```` + +When an example involves HTML, include all the relevant files inside the same `:::interactive_editor` block. Files are not linked automatically: the HTML file must explicitly link to any CSS or JavaScript files using a `` or ` +``` + +```js +// JavaScript code +``` + +::: +```` + +For examples with HTML, CSS, and JavaScript, include all three files: + +````md +:::interactive_editor + +```html + + + +``` + +```css +/* CSS styles */ +``` + +```js +// JavaScript code +``` + +::: +```` + +Use `# --description--` when the review only contains static markdown content: + +````md +--- +id: +title: [Topic] Review +challengeType: 31 +dashedName: review-topic-name +--- + +# --description-- + +## Section Heading + +- **concept**: explanation + +```bash +# optional code example +``` + +# --assignment-- + +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. From cba1dffeae8768c5770fe7a8d740ab0b5b5e6385 Mon Sep 17 00:00:00 2001 From: Chinar Amrutkar Date: Wed, 25 Mar 2026 22:46:43 +0000 Subject: [PATCH 6/6] docs: restore turborepo section per reviewer feedback --- .../docs/how-to-contribute-to-the-codebase.mdx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/content/docs/how-to-contribute-to-the-codebase.mdx b/src/content/docs/how-to-contribute-to-the-codebase.mdx index bad50f9e..81cd401c 100644 --- a/src/content/docs/how-to-contribute-to-the-codebase.mdx +++ b/src/content/docs/how-to-contribute-to-the-codebase.mdx @@ -247,3 +247,16 @@ A quick reference to the commands that you will need when working. | `FCC_BLOCK='basic-html-and-html5' pnpm run develop` | Build and develop a specific Block. | | `FCC_SUPERBLOCK='responsive-web-design' pnpm run develop` | Build and develop a specific SuperBlock. | | `pnpm run clean` | Uninstalls all dependencies and cleans up caches. | + +## Speeding up your workflows (applies to fCC Staff only) + +We make use of turborepo for caching and parallelizing tasks. To take advantage of the remote cache, add the following variables to your `.env` file `TURBO_API`, `TURBO_TEAM`, `TURBO_TOKEN`, `TURBO_REMOTE_CACHE_SIGNATURE_KEY` and `TURBO_CACHE`. These values are in Turborepo Remote Cache in 1password. + +The easiest way to do this to make use of [direnv](https://direnv.net/). After installing it, it needs [configuring](https://direnv.net/man/direnv.toml.1.html#description) with + +```toml +[global] +load_dotenv = true +``` + +typically in `~/.config/direnv/direnv.toml`.