Skip to content

refactor(tui): 引入 CLI 命令框架以重构入口与子命令路由 #210

@minorcell

Description

@minorcell

背景

当前 memo 的 CLI 入口主要由手写参数解析与路由组成(例如 routeCli + parseArgs + main 分支)。随着子命令与参数增长,入口逻辑可读性与可维护性会逐步下降。

目标

引入成熟的 CLI 命令框架(优先考虑 Ink 生态方案,例如 Pastel,或其他同类方案),将“命令定义/参数解析/帮助信息”与“TUI 渲染逻辑”解耦。

范围(第一阶段)

  • 迁移命令层,不改变现有业务行为
  • 保留现有 Ink App 作为交互渲染层
  • 将以下能力映射到框架命令体系:
    • memo(默认进入 TUI 或按非 TTY/--once 走 plain 模式)
    • memo mcp ...(list/get/add/remove/login/logout)
    • 全局参数:--once --prev --dangerous --version

验收标准

  • CLI 对外行为与现状一致(命令语义、参数语义、错误码)
  • 入口文件复杂度下降,命令结构按模块拆分
  • 新增/修改子命令时无需再改动主入口分支逻辑
  • 文档(README/docs)同步更新

备注

建议采用“命令层先迁移、会话核心不改动”的策略,降低回归风险。

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:docsDocumentation and docs UXarea:securityApproval, sandbox, and security policyarea:toolsBuilt-in tools and tool runtimearea:tuiTerminal UI and interaction layerneeds-triageIssue needs initial triage

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions