| name | next-topic |
| description | Unlock the next module in the java-mastery curriculum — write the theory README and create its starter exercises with failing tests. Use when the user finished a module and wants to progress, or asks to start a specific module. |
Skill: next-topic
Advance through the curriculum by fully scaffolding a module.
Input
$ARGUMENTS = a module number/name (e.g. "02", "collections"). If empty, pick the next
⬜/🟡 module in order from the tracker in the root README.md.
Steps
- Create
src/main/java/com/mastery/<module>/README.md with English theory:
- A concise but complete recap of the topic (tables, code snippets, gotchas).
- The "why it matters in interviews / production" angle.
- An exercise index table.
- Create 2–3 worked examples under
<module>/examples/: fully-implemented, heavily
commented classes, each with a runnable main(). Annotate lines with the value they
print so the learner can predict the output. These are for READING, not solving.
- Create 2–4 exercises (stub classes with Javadoc +
TODO + UnsupportedOperationException)
under <module>/exercises/, ramping easy → hard.
- Create matching JUnit 5 + AssertJ test classes under the test tree. They must compile and
fail (red) against the stubs. Cover edge cases and use
@ParameterizedTest where useful.
- Run
mvn test-compile to confirm everything compiles, and mvn compile exec:java -Dexec.mainClass="..." on at least one example to confirm it runs.
- Update the root
README.md tracker: set the module to 🟡.
- Report what the module covers, the run commands for the examples, and which exercise to
start with. Do NOT solve the exercises.
Keep everything in English. Match the style of m01_fundamentals (already in the repo).