Managing Content with the CMS
How to add and edit modules, quiz questions, challenges, and playground examples through the web interface.
The Content CMS at /admin/cms/lessons lets you manage all platform content without touching a single JSON file.
Creating a new module
- Go to Admin → Content CMS → 📚 Modules tab.
- Fill in the New module form at the top:
- Title — e.g. "Role Prompting for Beginners"
- Module label — e.g. "Module 14"
- Slug — leave blank to auto-generate from the title
- Short intro — one-line summary
- Prompt starter — default prompt shown in the playground for this module
- Click Create module. You're taken to the module editor.
Editing a module
Click Edit next to any module in the table. The editor has two columns:
- Left — basic info (title, module label, intro, learning goals)
- Right — quiz questions (add, edit, delete inline)
Adding quiz questions
- In the module editor, expand ➕ Add new question at the bottom of the quiz panel.
- Type the question text.
- Fill in 2–4 options. The correct answer must exactly match one of the options.
- Add an explanation (shown after answering) and a hint (shown on request).
- Click Add question.
Managing challenges
Switch to the 🎯 Challenges tab. Each challenge card has inline edit fields — change any field and click Save. Add new challenges with the form at the top.
Playground examples
The 🧪 Playground tab manages the starter example cards shown at the bottom of the Playground page. Link each example to a module so students can jump straight to the relevant lesson.
Data format
The CMS writes the same JSON format as the raw data files in data/. All writes are atomic — changes won't corrupt the file if the server crashes mid-write. You can also edit the JSON files directly and they'll be picked up on the next request.