Components
- 手风琴
- 提示
- 警告对话框
- 宽高比
- 头像
- 徽章
- 面包屑导航
- 按钮
- 按钮组
- 日历 Calendar
- 卡片
- 轮播图
- 图表 Chart
- 复选框
- 折叠面板
- 组合框
- 命令
- 上下文菜单
- 数据表格 Data Table
- 日期选择器 Date Picker
- 对话框 Dialog
- 方向
- 抽屉
- 下拉菜单
- 空状态
- 字段
- 悬停卡片
- 输入
- 输入组
- Input OTP
- 项目
- Kbd
- 标签
- 菜单栏
- 原生选择框
- 导航菜单 Navigation Menu
- 分页
- 弹出框
- 进度 Progress
- 单选框组
- 可调整大小
- 滚动区域 Scroll Area
- 选择框
- 分隔符 Separator
- 侧边栏 Sheet
- 侧边栏 Sidebar
- 骨架屏
- 滑块
- Sonner
- 加载指示器 Spinner
- 开关
- 表格
- 标签页 Tabs
- 文本域
- 吐司
- 切换按钮 Toggle
- 切换组
- 提示 Tooltip
- 排版
2026年6月 - GitHub 注册表
将任何公开的 GitHub 仓库转换为 shadcn 注册表。
现在你可以将任何公开的 GitHub 仓库转换为一个注册表。
在仓库根目录添加一个 registry.json 文件,定义你想要分发的项目,用户就可以使用 shadcn CLI 直接从 GitHub 安装它们。
pnpm dlx shadcn@latest add <username>/<repo>/<item>
例如,要从 acme/toolkit 仓库安装 project-conventions 项目:
pnpm dlx shadcn@latest add acme/toolkit/project-conventions
GitHub 注册表是源注册表。你不需要运行 shadcn build、发布生成的项目 JSON 文件或搭建注册表服务器。CLI 会读取根目录下的 registry.json,解析 include 条目,找到请求的项目,并安装该项目声明的文件。
分发任何内容#
注册表项目不限于组件。GitHub 注册表可以分发组件、hooks、实用工具、设计 token、功能套件、项目规范、代理指令、测试配置、CI 工作流、发布工作流、模板、codemod、迁移套件以及其他项目文件。
例如,某个仓库可以公开一个 project-conventions 项目,用于安装共享文档、编辑器设置和代理指令:
{
"$schema": "https://ui.shadcn.com/schema/registry.json",
"name": "acme-toolkit",
"homepage": "https://github.com/acme/toolkit",
"items": [
{
"name": "project-conventions",
"type": "registry:item",
"files": [
{
"path": "AGENTS.md",
"type": "registry:file",
"target": "~/AGENTS.md"
},
{
"path": ".editorconfig",
"type": "registry:file",
"target": "~/.editorconfig"
},
{
"path": "docs/conventions.md",
"type": "registry:file",
"target": "~/docs/conventions.md"
}
]
}
]
}命令#
GitHub 注册表地址与其他注册表地址使用相同的命令。
列出 GitHub 注册表中的项目:
pnpm dlx shadcn@latest list acme/toolkit
搜索项目:
pnpm dlx shadcn@latest search acme/toolkit --query conventions
查看某个项目:
pnpm dlx shadcn@latest view acme/toolkit/project-conventions
安装某个项目:
pnpm dlx shadcn@latest add acme/toolkit/project-conventions
查看 GitHub 注册表 文档以获取完整指南。