Skip to content

feat: add teach map — unified ecosystem discovery command #358

@Data-Wise

Description

@Data-Wise

Quick Win 2: teach map — Unified Ecosystem Discovery

Effort: 2-3 hours | Priority: High (single source of truth)

Problem

Users don't know which tool (flow-cli, Scholar, Craft) handles what. No unified discovery command exists.

What to implement

A teach map subcommand that shows the full ecosystem with clear tool attribution.

Where

Add map case to teach() function in teach-dispatcher.zsh (before the * catch-all). Create _teach_map() function.

Implementation sketch

_teach_map() {
    # Detect which tools are available
    local has_scholar=false has_craft=false
    command -v claude &>/dev/null && {
        [[ -d "${HOME}/.claude/plugins/scholar" ]] && has_scholar=true
        [[ -d "${HOME}/.claude/plugins/craft" ]] && has_craft=true
    }
    # Box-drawing output showing all commands with tool attribution
}

Output design

SETUP & CONFIG                         [flow-cli]
  teach init, teach config, teach doctor, teach dates, teach plan, ...

CONTENT GENERATION                     [scholar AI]
  teach lecture, teach exam, teach quiz, teach slides, ...

VALIDATION                             [all three]
  teach validate [flow-cli], /scholar:validate [scholar], /craft:site:check [craft]

DEPLOYMENT                             [flow-cli]
  teach deploy, teach deploy --preview

SEMESTER TRACKING                      [flow-cli]
  teach status, teach week, teach dates

SITE MANAGEMENT                        [craft]
  /craft:site:publish, /craft:site:progress, /craft:site:build

Pattern

Follow existing _teach_dispatcher_help() box-drawing style (lines 4170-4250).

Verification

  • teach map displays full ecosystem with tool attribution
  • Adapts output based on which tools are installed

Context

Part of the Teaching Ecosystem Coordination spec. Craft-side changes (QW3: config normalization) merged in Data-Wise/craft@ced5ac5.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions