Feature Request: Teaching Config Consolidation
Date: 2026-01-27
Updated: 2026-02-03 (narrowed scope — lesson plan extraction shipped in v6.1.0, config rename dropped)
Priority: Medium
Effort: Small (~1-2 hours)
What's Already Done (v6.1.0) ✅
- ✅ Lesson plan extraction —
teach migrate-config separates weeks into .flow/lesson-plans.yml
- ✅ Single-file lesson plan loading —
_teach_load_lesson_plan() reads from .flow/lesson-plans.yml with fallback to embedded weeks
- ✅ Backward compatibility — Old embedded format still works with deprecation warning
- ✅ teach plan CRUD — Full create/list/show/edit/delete on
.flow/lesson-plans.yml
Dropped ❌
- ❌ Config file rename — Both flow-cli (~14 refs) and Scholar (~30+ refs in source, tests, docs) use
.flow/teach-config.yml. Renaming to config-teach.yml would be a breaking change across both repos with no functional benefit. Keeping current name.
Remaining Work
1. Merge teaching style into teach-config.yml
Currently teaching style lives in .claude/teaching-style.local.md (markdown frontmatter), read by Scholar's style-loader.js (line 153). Add support for a teaching_style: section directly in .flow/teach-config.yml:
# .flow/teach-config.yml
course:
name: "STAT 545"
teaching_style:
pedagogical_approach:
primary: "problem-based"
notation_conventions:
expectation: "\\E{}"
command_overrides:
slides:
style: "rigorous"
flow-cli side:
New helpers needed:
_teach_get_style() # Read teaching_style.<key> from teach-config.yml
_teach_get_command_override() # Read command_overrides.<cmd>.<key>
teach doctor should report teaching style source location.
Scholar side (see #299):
Update loadCourseStyle() in style-loader.js to check .flow/teach-config.yml first, fall back to .claude/teaching-style.local.md.
2. Schema update
Add teaching_style and command_overrides to lib/templates/teaching/teach-config.schema.json.
Acceptance Criteria
Related
Feature Request: Teaching Config Consolidation
Date: 2026-01-27
Updated: 2026-02-03 (narrowed scope — lesson plan extraction shipped in v6.1.0, config rename dropped)
Priority: Medium
Effort: Small (~1-2 hours)
What's Already Done (v6.1.0) ✅
teach migrate-configseparates weeks into.flow/lesson-plans.yml_teach_load_lesson_plan()reads from.flow/lesson-plans.ymlwith fallback to embedded weeks.flow/lesson-plans.ymlDropped ❌
.flow/teach-config.yml. Renaming toconfig-teach.ymlwould be a breaking change across both repos with no functional benefit. Keeping current name.Remaining Work
1. Merge teaching style into teach-config.yml
Currently teaching style lives in
.claude/teaching-style.local.md(markdown frontmatter), read by Scholar'sstyle-loader.js(line 153). Add support for ateaching_style:section directly in.flow/teach-config.yml:flow-cli side:
New helpers needed:
teach doctorshould report teaching style source location.Scholar side (see #299):
Update
loadCourseStyle()instyle-loader.jsto check.flow/teach-config.ymlfirst, fall back to.claude/teaching-style.local.md.2. Schema update
Add
teaching_styleandcommand_overridestolib/templates/teaching/teach-config.schema.json.Acceptance Criteria
teaching_style:section readable from.flow/teach-config.yml.claude/teaching-style.local.mdstill works as fallback_teach_get_style()and_teach_get_command_override()helpers existteach doctorreports teaching style sourceRelated
teach dashboardsubcommand for dynamic website content #275 — teach dashboard (independent)