CLI

不自造安装器,复用 shadcn CLI

SmoUI 的 CLI 路线是薄封装。当前阶段直接使用 shadcn CLI 安装 SmoUI registry 资产;后续如果提供 npx smoui,也只做资产名映射、中文提示和产品边界校验,底层仍调用 shadcn。

shadcn CLI
npx shadcn@latest

负责 init、add、view、build 和 registry 消费,不重新实现。

Smo registry
registry.json -> public/r

只登记已经确认的 SmoUI 组件、规则文件和后续业务组合。

目标业务项目
components/ui + components/smo

通过 CLI 获得源码文件,进入项目后可以审查、修改和版本化。

smoui 薄封装
后续可选

只做命令别名、资产名映射和中文提示,底层仍调用 shadcn CLI。

现在怎么用

1

初始化目标项目

业务项目先按 shadcn/ui 的方式建立 components.json、Tailwind 和路径别名。

命令
npx shadcn@latest init
2

直接安装 SmoUI 资产

开发期不需要我们自造安装器,直接让 shadcn CLI 消费本地 registry JSON。

命令
npx shadcn@latest add https://smoui.xiaomolian.com/r/smo-ui-generation-rules.json
3

生成 registry 产物

每次新增确认资产后,在 SmoUI 仓库重新生成 public/r,供 CLI 消费。

命令
npx shadcn@latest build --output ./public/r

配置 @smo 别名

如果目标项目希望使用 @smo/name 这种短命令,可以在目标项目的 components.json 加 registry 映射。部署上线后,把 localhost 换成正式域名。

components.json
{
  "registries": {
    "@smo": "https://smoui.xiaomolian.com/r/{name}.json"
  }
}
别名安装
npx shadcn@latest add @smo/smo-ui-generation-rules
部署后的直接安装
npx shadcn@latest add https://smoui.xiaomolian.com/r/smo-ui-generation-rules.json

当前可安装资产

registry:filehttps://smoui.xiaomolian.com/r/smo-ui-generation-rules.json

SmoUI 生成规则

SmoUI 的产品边界、生成流程和沉淀验收规则。

安装命令
npx shadcn@latest add https://smoui.xiaomolian.com/r/smo-ui-generation-rules.json
registry:componenthttps://smoui.xiaomolian.com/r/smo-miniprogram-half-screen-dialog.json

小程序半屏弹窗

对齐微信小程序 Half Screen Dialog 语义和 Apple Sheet 交互的内容自适应底部半屏弹层。

安装命令
npx shadcn@latest add https://smoui.xiaomolian.com/r/smo-miniprogram-half-screen-dialog.json
registry:componenthttps://smoui.xiaomolian.com/r/smo-miniprogram-partner-operation-slot.json

小程序可撤运营位

用于业务主任务之后的低优先级区域,作为可配置、可撤销的合作入口,不展示伙伴后台私有数据。

安装命令
npx shadcn@latest add https://smoui.xiaomolian.com/r/smo-miniprogram-partner-operation-slot.json
registry:componenthttps://smoui.xiaomolian.com/r/smo-miniprogram-benefit-pass.json

小程序权益券通行证

用于宠粉现场个人中心的单张权益券,支持出示、预约、已约顶部冠标、查看预约和弱化预览等变体;配套 PNG 资产从 /visual-assets 复制。

安装命令
npx shadcn@latest add https://smoui.xiaomolian.com/r/smo-miniprogram-benefit-pass.json
registry:componenthttps://smoui.xiaomolian.com/r/smo-miniprogram-bottom-nav.json

宠粉现场底部导航

用于宠粉现场 C 端小程序的固定底部导航,包含首页、发起、我的和我的页商家入口态。

安装命令
npx shadcn@latest add https://smoui.xiaomolian.com/r/smo-miniprogram-bottom-nav.json

npx smoui 应该长什么样

可以做,但不应该从零实现 registry 下载、文件合并和依赖安装。smoui 只需要把中文资产名、产品边界和默认域名翻译成 shadcn CLI 可执行命令。

薄封装草案
npx smoui add smo-ui-generation-rules

# 内部等价于
npx shadcn@latest add https://smoui.xiaomolian.com/r/smo-ui-generation-rules.json