skip to content
walterra.dev
Table of Contents

I built a Claude Code /curriculum command that analyzes your branch changes and generates structured onboarding documentation automatically.

Use cases:

  • You vibe coded a new feature using tech you’re not super familiar with, this generates docs to onboard and learn for yourself, quite meta, eh?
  • You’re new to a codebase and want to learn about it, use it on the main branch to generate onboarding docs.

Given different inputs you can customize the generated docs for the same code:

  • For example you might be experienced in a project but it’s quite large and you’re onboarding to a new area.
  • You might be experienced but new to a certain framework used by a project. Tell the command which frameworks you know and it will generate customized onboarding based on your experience.

/curriculum

The command starts by asking you questions: Who’s the target audience? Junior dev or experienced engineer? What’s the focus - architecture, features, deployment? How deep should it go? This ensures the generated docs match your actual needs instead of generic fluff.

Then it analyzes your branch using git diff main...HEAD to understand what changed. It identifies technical concepts, frameworks, patterns, and dependencies. From there, it builds a logical learning path - organizing topics from foundational to advanced, grouping related concepts together.

Finally, it generates a structured curriculum in ./llm-docs/<slug>/ with an introduction, table of contents with time estimates, and individual chapter files. Each chapter focuses on a single concept with code examples from your actual codebase, context on why you chose certain approaches, and troubleshooting tips.

You can run it with just /curriculum to document your current branch. The command asks you to clarify the audience and focus, then handles the rest - reading your code, identifying patterns, and generating markdown files ready for your team.

To give it a try, grab curriculum.md and drop it in your Claude Code slash commands folder.