用途:在开始任何 shadcn/ui 组件工作或迁移前,检测项目实际使用的组件基础,输出 Base UI、Radix、React Aria、Mixed(需迁移)或 None(全新搭建)的判定,作为后续组件任务的准入条件。
主要能力:通过 5 个信号加权评分(各基础独立计 0-100 分):package.json 依赖(@base-ui/react、radix-ui / @radix-ui/、react-aria-components,权重 40%)、components.json 的 style 前缀(base-、radix-/new-york、aria-,20%)、源码 import 模式(25%)、data 属性(data-state= 为 Radix、data-open 为 Base UI、data-entering/data-placement 为 React Aria,15%),以及通过 lockfile 识别包管理器(bun/npm/pnpm/yarn)。若存在 components.json,可先运行 {runner} shadcn@latest info --json,从 .config.base 直接得到基础类型。
判定规则:仅一种基础得分 >50 即判为该基础;两种及以上 >0(扣除已知跨基础依赖后)判为 Mixed,需迁移;全部为 0 判为 None,全新初始化默认 Base UI,可用 -b radix 或 -b aria 指定。已知跨基础依赖不算 Mixed:radix-* Combobox 会引入 @base-ui/react;Questionnaire 与 MessageScroller 在各基础下都引入 @shadcn/react;所有当前组件都从 cn 包引入 cn。
使用方式:检测前并行启动两个 Agent(各一次 Agent 调用并命名):fuse-ai-pilot:explore-codebase 扫描项目结构,fuse-ai-pilot:research-expert 核实最新 primitive 模式;随后用结果配置组件工作流。检测结果在会话期间缓存,无需重复检测。
适用场景:shadcn/ui 项目的组件开发、迁移评估与初始化前判断。
限制:资料未提供具体安装命令、收费、价格或平台信息;检测依赖项目文件与源码可读性,缺失信号时准确性下降。