https://ccfly.codes/?inviteCode=KVB090KC

本篇介绍如何参与 create-unibest CLI 工具的开发。
unibest 采用 Monorepo 架构:
unibest/
├── packages/
│ └── cli/ # CLI 脚手架源码(发布到 npm)
├── src/ # 模板源码
└── 其他配置文件分支说明:
main 分支 - CLI 开发分支,包含 packages/cli/ 和模板源码base 分支 - 纯净模板,用户创建项目时克隆# 前置依赖
node >= 20
pnpm >= 9git clone https://github.com/feige996/unibest.git
cd unibestcd packages/clipnpm installpnpm dev开发模式下会监听文件变化,自动重新构建。
# 方式一:使用 start 脚本
pnpm start -- my-test-project
# 方式二:直接运行
node bin/index.js my-test-projectpnpm build构建产物输出到 dist/ 目录。
packages/cli/
├── bin/
│ └── index.js # CLI 入口
├── features/ # 功能模块
│ ├── i18n/ # 多语言功能
│ └── login/ # 登录功能
├── src/
│ ├── commands/ # 命令实现
│ │ ├── add.ts # add 命令
│ │ └── create.ts # create 命令
│ ├── features/ # 功能加载器
│ ├── utils/ # 工具函数
│ └── index.ts # 入口
├── package.json
└── tsup.config.ts # 构建配置# 1. 登录 npm
npm login --registry=https://registry.npmjs.org/
# 2. 升级版本
npm version patch
# 3. 构建
pnpm build
# 4. 发布
npm publish --no-workspaces --registry=https://registry.npmjs.org/发布时可能会要求输入 OTP 验证码。
features/ 目录下创建新文件夹hooks.js 和 package.jsonsrc/features/index.ts 中注册# 使用本地模板测试
LOCAL_TEMPLATE=true pnpm start -- my-test-projectCLI 使用 @clack/prompts 提供交互式命令行界面,调试信息会直接输出到终端。