用途:该技能面向使用 shadcn/ui 构建应用的前端工程师,指导组件发现、集成与自定义,并遵循最佳实践。
核心特点:shadcn/ui 不是传统组件库,而是复制进项目的可复用组件集合,带来完整所有权(组件位于代码库而非 node_modules)、完全可定制(可改样式、行为与结构,并在 Radix UI 或 Base UI 原语间选择)、无版本锁定与零运行时开销。
主要能力与使用方式: 组件发现:通过 shadcn MCP 工具使用 list_components 浏览目录,get_component_metadata 查看属性、依赖与用法,get_component_demo 查看示例。 安装:推荐直接安装,执行 npx shadcn@latest add [component-name],会下载源码、安装依赖、放入 components/ui/ 并更新 components.json;也可用 get_component 获取源码后手动集成。 注册表:可用 get_project_registries、list_items_in_registries、view_items_in_registries、search_items_in_registries 操作自定义注册表。 项目初始化:新项目用 npx shadcn@latest create,已有项目用 npx shadcn@latest init,生成 components.json,配置 style、baseColor、cssVariables、Tailwind 路径、别名、rsc、rtl 等。 依赖要求:React 18+、Tailwind CSS 3.0+、Radix UI 或 Base UI、class-variance-authority、clsx 与 tailwind-merge。 自定义:通过 Tailwind 配置与 app/globals.css 中的 CSS 变量调整主题;用 class-variance-authority 定义变体;在 components/ 而非 components/ui/ 中编写包装组件;使用 cn() 工具合并类名。 区块:用 list_blocks 与 get_block 获取登录、仪表盘、侧边栏等完整区块。
适用场景:需要高可定制、可掌控源码的 React/Tailwind 界面开发,包括表单、对话框、数据表格、仪表盘与认证流程等。
限制与注意:组件基于 Radix UI 原语,定制时需保留 ARIA 属性、键盘处理与焦点管理以维持可访问性;常见问题涉及别名与 tsconfig 路径、样式冲突、依赖缺失及版本兼容(如 v4 要求 React 18+、Next.js 13+)。资料未提供具体收费、价格或平台信息。