SuperAPI AI 工具集

ink-tui-wizard

办公与效率

查看项目

更新于 10-16 03:46

技能介绍

用途:该技能用于使用 Ink(React for CLIs)与 @inkjs/ui 构建多步终端向导,适用于 CLI 安装/配置流程、响应式会话驱动界面、实时进度与状态展示,以及需要超越顺序提示的 Node.js/TypeScript CLI。

主要能力与架构:采用响应式会话驱动模式,渲染界面是会话状态的纯函数。核心概念包括 WizardSession(所有向导决策的唯一来源)、WizardRouter(声明式流程管道,每个屏幕有 isComplete 判断)、WizardStore(基于 nanostores 的响应式存储,显式 setter 通过 useSyncExternalStore 触发 React 重渲染)、WizardUI 接口(桥接业务逻辑与存储,由 InkUI 与 LoggingUI 实现)、屏幕注册表、可注入服务、以及用于错误/中断模态的覆盖层。

必要用法:新增屏幕时在 src/ui/tui/screens/ 创建组件,在 router.ts 的 Screen 枚举中添加,添加带 isComplete 的 FlowEntry,并在 screen-registry.tsx 注册。布局优先使用 src/ui/tui/primitives/ 中的可复用原语,样式常量在 styles.ts。可用 pnpm try --playground 查看所有原语。状态比较使用 TypeScript 枚举而非字符串字面量。

依赖与兼容:核心依赖为 ink、react、@inkjs/ui、figures;不要使用旧包 ink-text-input、ink-select-input、ink-spinner。需处理小终端、管道输入、CI 环境(--ci 使用 LoggingUI)、深色模式与 Ctrl+C 退出。

限制:资料未提供价格、许可、支持平台等具体信息。