chao-generator-cli
v1.1.2
Published
一个简单的项目脚手架工具
Readme
chao-cli
一个基于 Node.js 的自定义前端项目脚手架工具,支持从 GitHub 远程模板快速创建项目。
功能特性
- 交互式选择项目模板
- 通过命令行参数直接指定模板
- 自动克隆远程 GitHub 仓库(浅克隆,自动清理
.git历史) - 自定义项目信息(名称、关键词、描述、作者)并写入
package.json - 自动安装项目依赖
- 同名目录冲突检测与处理
- 查看所有可用模板列表
- 项目名安全校验(白名单机制,防止命令注入)
- Git clone 超时保护(60 秒)
环境要求
- Node.js >= 18
- Git
安装
# 全局安装
npm install -g chao-generator-cli
# 或本地开发
git clone <repo-url>
cd chao-generator-cli
npm install
npm link使用
创建项目
# 交互式创建(会弹出模板选择列表)
chao-cli create my-app
# 指定模板创建
chao-cli create my-app -t vite-template
# 强制覆盖已存在的同名目录
chao-cli create my-app -f
# 跳过项目信息录入
chao-cli create my-app -i查看可用模板
chao-cli list查看版本
chao-cli -v查看帮助
chao-cli --help
chao-cli create --help可用模板
| 模板名称 | 仓库地址 | 描述 | |---------|---------|------| | webpack-template | yingside/webpack-template | 基于 webpack5 自定义初始化 Vue3 项目模板 | | vue-admin-box | cmdparkour/vue-admin-box | 基于 vue3 的 admin-box 模板 | | vite-template | yingside/vite-template | 基于 vite3 自定义初始化 Vue3 项目模板 + 前端工具链模板 | | vite-templates | wuhujiang/vue3-template | 基于 vite3 自定义初始化 Vue3 项目模板 |
命令参数
create <app-name>
| 参数 | 说明 |
|------|------|
| -t, --template [template] | 指定模板名称创建项目 |
| -f, --force | 强制覆盖已存在的同名目录 |
| -i, --ignore | 跳过项目信息录入,直接使用模板默认配置 |
项目名规则
项目名只能包含字母、数字、下划线、中划线和点号,且不能以点号或中划线开头。
发布
需在 Git Bash 中执行:
npm run release发布脚本会:
- 提示输入版本号
- 自动提交未保存的更改
- 更新
package.json版本号 - 推送代码和 tag 到远程仓库
- 发布到 npm
技术栈
- Commander.js - 命令行参数解析
- Inquirer.js - 交互式命令行
- chalk - 终端文本样式
- ora - 终端 loading 动画
- fs-extra - 文件系统操作增强
- table - 终端表格输出
License
ISC
