Start or continue a lesson on a specific topic. Use /tutor:learn [topic] to learn something new or /tutor:learn to continue where you left off.
Creates interactive programming lessons as files and guides your learning journey.
/plugin marketplace add netsirius/tutor-plugin/plugin install tutor@tutor-pluginsThe user wants to learn or continue learning.
Before presenting any content, read .tutor/config.json and check the learning_language field. ALL content (explanations, examples, code comments, feedback) MUST be presented in the student's chosen language.
ALL learning content MUST be generated as physical files in the project structure. The student reads and works with these files directly. Claude's role in chat is ONLY to:
NEVER present lesson content only in chat. Always create/update files first, then reference them.
/tutor:learn ownership).tutor/progress.json to understand the context.tutor/config.json to get the student's learning languagelessons/[module]/:
lessons/02-ownership/
├── README.md # Main lesson content
├── 01-concepts.md # Conceptual explanation with analogies
├── 02-examples.md # Detailed examples with explanations
├── examples/
│ ├── example_01.rs # Working code examples
│ ├── example_02.rs
│ └── run_examples.sh # Script to run examples
└── exercises/ # Practice exercises (created separately)
lessons/[module]/. Start by reading README.md".tutor/progress.json with current_module and current_topic/tutor:learn).tutor/progress.json.tutor/config.json to get the learning language.tutor/
├── config.json # Course configuration
├── progress.json # Initial progress
└── curriculum.json # Study plan (generated or imported)
{
"learning_language": "en",
"programming_language": "rust",
"student_name": "name",
"level": "beginner|intermediate|advanced",
"started_at": "2026-01-06",
"goals": ["Contribute to open source projects", "Create CLI tools"],
"time_per_session": "30min|1h|2h",
"curriculum_source": "generated|custom"
}
Each lesson module should contain:
lessons/[XX-module-name]/
├── README.md # Overview, objectives, prerequisites
├── 01-[topic].md # First topic explanation
├── 02-[topic].md # Second topic explanation
├── ...
├── examples/
│ ├── ex01_[name].rs # Runnable example with comments
│ ├── ex02_[name].rs
│ └── Cargo.toml # So examples can be run
└── exercises/ # Created by /tutor:exercise
# Module: [Module Name]
## Learning Objectives
After this module, you will be able to:
- [ ] [Objective 1]
- [ ] [Objective 2]
- [ ] [Objective 3]
## Prerequisites
- [Previous module or concept]
## Topics
1. [01-topic.md](01-topic.md) - Description
2. [02-topic.md](02-topic.md) - Description
## Estimated Time
~[X] hours
## How to Use This Lesson
1. Read each topic file in order
2. Run the examples in `examples/`
3. Complete exercises when suggested
4. Ask Claude if you have questions
DO in chat:
lessons/02-ownership/README.md to begin"cargo run --example ex01_basic"01-concepts.md?"DON'T in chat: