用途:指导使用 Ink(React for CLIs)构建终端命令行界面应用,提供组件、Hooks、布局、测试等主题的参考索引与选择路径。
主要能力:涵盖组件(Text、Box、Static、Transform、Newline、Spacer)、Hooks(useInput、useApp、useFocus、useFocusManager、useCursor、useStdin/useStdout/useStderr)、Flexbox 布局、App 生命周期(render、renderToString、waitUntilExit、rerender、unmount)、测试(ink-testing-library)、可访问性(ARIA 角色与状态)以及性能与最佳实践规则。文档以决策树方式按“显示内容、用户输入、布局定位、生命周期、测试、可访问性、排错”等场景指引到对应参考文件。
使用方式:核心参考遵循五文件模式(REFERENCE.md、api.md、configuration.md、patterns.md、gotchas.md),先读 core/REFERENCE.md,再按任务选择文件,例如构建 UI 读 components/REFERENCE.md,处理输入读 hooks/input.md,布局读 layout/REFERENCE.md,排错读 core/gotchas.md,最佳实践读 rules/RULES.md。安装需同时安装 ink 与 react:npm install ink react。
限制与关键规则:所有文本必须包裹在 <Text> 内,裸字符串会报错;<Text> 只能包含文本节点和嵌套 <Text>,不能内嵌 <Box>;<Box> 始终为 display: flex;退出应使用 useApp().exit(),不要在组件内直接调用 process.exit();<Static> 只渲染新增项,已渲染项的变更会被忽略。仓库地址为 https://github.com/vadimdemedes/ink。