Commit deaf04e
authored
feat: add tutorial guided execution MCP tools (Phase 2) (#12)
* feat: add tutorial step annotation engine with command extraction and tests
* feat: add MergeCompletedSteps for batch progress updates
* feat: add DataDir to MCP server Deps for tutorial progress
* feat: add get_tutorial_step MCP tool with annotations and progress
Registers 4 new MCP tools (get_tutorial_step, update_tutorial_progress,
get_tutorial_progress, list_active_tutorials) in tools_tutorial_exec.go.
get_tutorial_step is fully implemented with loadOrFetchTutorial helper
(cache-hit → GitHub fetch fallback), StepAnnotations extraction, and
optional progress tracking. The other 3 handlers are stubs returning
"not implemented yet" for Tasks 6-7. Extends MCP server instructions
with guidance for the new tutorial execution tools.
* feat: add update_tutorial_progress MCP tool
Replaces the stub handler with a real implementation that merges
completed step indices into stored progress via MergeCompletedSteps,
validates slug and step ranges, and returns a progress snapshot.
Adds three unit tests covering the happy path, invalid slug, and
out-of-range step inputs.
* feat: add get_tutorial_progress and list_active_tutorials MCP tools
Replaces the two remaining stub handlers with real implementations.
get_tutorial_progress returns a single-tutorial or all-tutorials
progress snapshot sorted by last access. list_active_tutorials
returns only incomplete tutorials (CompletedAt == nil), respects the
limit parameter, and is sorted by recency. Adds five unit tests
covering single/all/missing progress lookups and active-tutorial
filtering.
* docs: update CLAUDE.md and TODO.md for tutorial guided execution (30 MCP tools)
* docs: fix dead links in TODO.md for tutorial guided execution1 parent f6d0884 commit deaf04e
10 files changed
Lines changed: 1018 additions & 12 deletions
File tree
- cmd
- internal
- mcpserver
- tutorials
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
177 | | - | |
| 177 | + | |
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
468 | 468 | | |
469 | 469 | | |
470 | 470 | | |
471 | | - | |
| 471 | + | |
472 | 472 | | |
473 | | - | |
474 | | - | |
475 | | - | |
476 | | - | |
| 473 | + | |
477 | 474 | | |
478 | | - | |
479 | | - | |
480 | | - | |
481 | | - | |
482 | | - | |
| 475 | + | |
483 | 476 | | |
484 | 477 | | |
485 | 478 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
| 102 | + | |
102 | 103 | | |
103 | 104 | | |
104 | 105 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
33 | | - | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| 50 | + | |
49 | 51 | | |
50 | 52 | | |
51 | 53 | | |
0 commit comments