SuperAPI AI 工具集

shadcn-detection

编程与开发

查看项目

更新于 10-26 17:21

技能介绍

shadcn-detection 是一个用于识别 shadcn/ui 项目组件基础类型的技能。其核心用途是在对项目进行任何组件开发或迁移之前,先确定项目当前使用的是 Base UI、Radix UI 还是 React Aria,并给出 Base UI / Radix / React Aria / Mixed(需要迁移)/ None(全新安装)五种判定结果之一。该判定结果作为后续所有 shadcn 组件操作或迁移任务的前置门禁。

主要能力包括五类检测信号:CLI 探测(通过 shadcn@latest info --json 读取 .config.base 等配置)、package.json 依赖扫描(检测 @base-ui/react、radix-ui 或 @radix-ui/、react-aria-components)、components.json 样式前缀分析(base-、radix-/new-york、aria-)、源码导入模式扫描,以及数据属性扫描(data-state= 对应 Radix、data-open 对应 Base UI、data-entering/data-placement 对应 React Aria)。此外还会通过锁文件检测包管理器(bun/npm/pnpm/yarn),以便选择正确的运行命令。

使用方式上,该技能要求在执行检测前并行启动两个 Agent:explore-codebase 用于扫描项目结构,research-expert 用于核实最新的基础模式。检测采用五步加权算法:依赖扫描权重 40%,components.json 样式前缀权重 20%,导入模式权重 25%,数据属性权重 15%,包管理器用于确定运行器。每种基础独立打分(0-100),只有一种得分超过 50 则判定为该基础;两种及以上得分大于 0(排除已知的跨基础依赖)则判定为 Mixed,需要迁移;全部为 0 则判定为 None,全新安装时默认使用 Base UI,可通过 -b radix 或 -b aria 选择其他基础。

适用场景是 shadcn/ui 项目在组件开发、维护或迁移前的技术栈确认,尤其适合需要避免误判默认基础、需要识别混合状态并规划迁移的情况。已知的跨基础依赖(如 radix-* Combobox 导入 @base-ui/react、Questionnaire 和 MessageScroller 导入 @shadcn/react、所有组件从 cn 包导入 cn)不应被误判为混合项目。

限制方面,该技能依赖项目中存在可分析的配置文件、源码和锁文件;对于全新项目或配置不完整的项目,检测结果可能为 None。资料未提供该技能的具体安装方式、收费信息或平台支持范围。