| name | add-exercise |
| description | Add an interactive exercise with solution to an existing lesson. Creates properly formatted exercise and solution admonition blocks. Use when a lesson needs hands-on practice. |
Add an exercise with solution to an existing training lesson.
See ../shared/repo-conventions.md for directory structure and file conventions.
Follow these steps:
-
Ask the user:
- Which lesson file to add the exercise to
- What the exercise should teach/practice
- Difficulty level (beginner, intermediate, advanced)
-
Read the lesson file to understand context
-
Create the exercise using the ??? exercise admonition:
??? exercise "Exercise: [Title]"
Brief description of what to do.
1. First step
2. Second step
3. Expected outcome
!!! tip
Helpful hint if needed
-
Create the corresponding solution using ??? solution or ??? result:
??? solution "Solution"
Explanation of the solution approach.
```groovy title="filename.nf" linenums="1"
[solution code]
```
Expected output:
```console title="Output"
[expected output]
```
-
If the exercise requires a solution file:
- Create the solution script in
[module]/solutions/
- Follow naming convention matching the exercise
- Ensure the solution script is complete and tested
- Add comments explaining key parts
-
Insert the exercise at an appropriate point in the lesson:
- After explaining the relevant concept
- Before the section's Takeaway
- With clear connection to learning objectives
-
Test the exercise:
- Verify instructions are clear
- Confirm solution code works
- Check that exercise difficulty is appropriate
- Ensure expected output is correct
-
Remind the user to:
- Test the solution code themselves
- Consider if hints are needed
- Preview how it renders in the docs
- Check that file paths in exercise are correct