create-crack
Version:
CLI tool for creating crack projects
331 lines (231 loc) • 7.47 kB
Markdown
# Create Crack
🚀 一个现代化的项目脚手架工具,帮助你快速创建 React 项目。
## ✨ 特性
- 🎯 **多模板支持** - React + JavaScript/TypeScript 项目模板
- 📦 **多包管理器支持** - npm、yarn、pnpm、cnpm
- 🔍 **ESLint 集成** - 可选的代码检查和格式化
- 📝 **Commit Lint** - 可选的提交信息规范
- 🔄 **动态版本更新** - 自动获取最新的包版本
- 💻 **交互式 & 命令行模式** - 灵活的使用方式
- 🎨 **美观的 UI** - 现代化的命令行界面
## 📦 安装
### 全局安装
```bash
# 使用 npm
npm install -g create-crack
# 使用 yarn
yarn global add create-crack
# 使用 pnpm
pnpm add -g create-crack
```
### 直接使用(推荐)
无需安装,直接使用包管理器运行:
```bash
# 使用 npx (npm 5.2+)
npx create-crack my-app
# 使用 yarn
yarn create crack my-app
# 使用 pnpm
pnpm create crack my-app
# 使用 cnpm
cnpx create-crack my-app
```
## 🚀 快速开始
### 交互式模式
最简单的使用方式,工具会引导你完成所有配置:
```bash
npx create-crack my-app
```
然后按照提示选择:
1. 🎯 项目类型(React + JS 或 React + TS)
2. 📦 包管理器(npm/yarn/pnpm/cnpm)
3. 🔍 是否启用 ESLint
4. 📝 是否启用 Commit Lint
### 命令行模式
如果你知道具体配置,可以直接通过参数指定:
```bash
# 创建 TypeScript 项目,使用 pnpm,启用所有功能
npx create-crack my-app -t react-web-ts -p pnpm -e -c
# 创建 JavaScript 项目,使用 npm,只启用 ESLint
npx create-crack my-app --template react-web-js --package-manager npm --eslint
```
## 📋 命令行选项
| 选项 | 简写 | 描述 | 可选值 |
| ------------------- | ---- | -------------------- | ------------------------------ |
| `--template` | `-t` | 项目模板 | `react-web-js`, `react-web-ts` |
| `--package-manager` | `-p` | 包管理器 | `npm`, `yarn`, `pnpm`, `cnpm` |
| `--eslint` | `-e` | 启用 ESLint | - |
| `--commit-lint` | `-c` | 启用 Commit Lint | - |
| `--no-eslint` | - | 禁用 ESLint | - |
| `--no-commit-lint` | - | 禁用 Commit Lint | - |
| `--force` | `-f` | 强制覆盖已存在的目录 | - |
| `--help` | `-h` | 显示帮助信息 | - |
| `--version` | `-V` | 显示版本号 | - |
## 🎯 项目模板
### React + JavaScript (`react-web-js`)
- ⚛️ React 19.x
- 📦 现代化的构建配置
- 🎨 Prettier 代码格式化
- 🔧 开发服务器和构建脚本
### React + TypeScript (`react-web-ts`)
- ⚛️ React 19.x + TypeScript
- 🔷 完整的类型定义
- 📦 现代化的构建配置
- 🎨 Prettier 代码格式化
- 🔧 开发服务器和构建脚本
## 📦 包管理器使用指南
### NPM
```bash
# 直接使用 npx(推荐)
npx create-crack my-app
# 全局安装后使用
npm install -g create-crack
create-crack my-app
# 指定包管理器
npx create-crack my-app --package-manager npm
```
### Yarn
```bash
# 使用 yarn create(推荐)
yarn create crack my-app
# 全局安装后使用
yarn global add create-crack
create-crack my-app
# 指定包管理器
yarn create crack my-app --package-manager yarn
```
### PNPM
```bash
# 使用 pnpm create(推荐)
pnpm create crack my-app
# 全局安装后使用
pnpm add -g create-crack
create-crack my-app
# 指定包管理器
pnpm create crack my-app --package-manager pnpm
```
### CNPM
```bash
# 使用 cnpx
cnpx create-crack my-app
# 全局安装后使用
cnpm install -g create-crack
create-crack my-app
# 指定包管理器
cnpx create-crack my-app --package-manager cnpm
```
## 💡 使用示例
### 基础使用
```bash
# 交互式创建项目
npx create-crack my-react-app
```
### 快速创建不同类型的项目
```bash
# TypeScript 项目 + 完整配置
npx create-crack my-ts-app -t react-web-ts -p pnpm -e -c
# JavaScript 项目 + 基础配置
npx create-crack my-js-app -t react-web-js -p npm
# 最小化项目(无额外工具)
npx create-crack my-minimal-app -t react-web-js -p yarn --no-eslint --no-commit-lint
```
### 团队开发推荐配置
```bash
# 推荐的团队开发配置
npx create-crack team-project \
--template react-web-ts \
--package-manager pnpm \
--eslint \
--commit-lint
```
## 🔧 项目结构
创建的项目将包含以下结构:
```
my-app/
├── src/
│ ├── App.jsx/tsx # 主应用组件
│ └── index.jsx/tsx # 入口文件
├── public/
│ └── index.html # HTML 模板
├── package.json # 项目配置
├── .gitignore # Git 忽略文件
├── .prettierrc # Prettier 配置
├── eslint.config.mjs # ESLint 配置(可选)
├── commitlint.config.js # Commit Lint 配置(可选)
└── README.md # 项目说明
```
## 🚀 开发命令
创建项目后,你可以使用以下命令:
```bash
# 进入项目目录
cd my-app
# 启动开发服务器
npm start # 或 yarn start / pnpm start
# 构建生产版本
npm run build # 或 yarn build / pnpm build
# 代码检查(如果启用了 ESLint)
npm run lint # 或 yarn lint / pnpm lint
```
## 🔍 ESLint 配置
如果选择启用 ESLint,项目将包含:
- 📋 **现代化规则集** - 适用于 React 和 TypeScript
- 🎨 **Prettier 集成** - 代码格式化
- 🔧 **自动修复** - `npm run lint` 自动修复问题
- 📝 **Git Hooks** - 提交前自动检查(如果启用 Commit Lint)
## 📝 Commit Lint 配置
如果选择启用 Commit Lint,项目将包含:
- 📋 **约定式提交** - 标准化的提交信息格式
- 🎯 **提交类型** - feat, fix, docs, style, refactor 等
- 🔧 **Git Hooks** - 提交时自动验证
- 📝 **交互式提交** - 引导式提交信息编写
### 提交信息格式
```
<type>(<scope>): <description>
[optional body]
[optional footer]
```
示例:
```bash
feat(auth): add user login functionality
fix(ui): resolve button alignment issue
docs(readme): update installation guide
```
## 🔄 版本更新
工具会自动获取以下包的最新版本:
- `@verve-kit/react-script` - 自有构建工具
- 其他依赖保持稳定版本以确保兼容性
## 🐛 故障排除
### 常见问题
1. **网络问题**
```bash
# 使用国内镜像
npx create-crack my-app --registry https://registry.npmmirror.com
```
2. **权限问题**
```bash
# 使用 sudo(macOS/Linux)
sudo npx create-crack my-app
```
3. **缓存问题**
```bash
# 清除 npx 缓存
npx clear-npx-cache
npx create-crack@latest my-app
```
### 获取帮助
```bash
# 查看帮助信息
npx create-crack --help
# 查看版本信息
npx create-crack --version
```
## 🤝 贡献
欢迎提交 Issue 和 Pull Request!
## 📄 许可证
MIT License
## 🔗 相关链接
- [GitHub 仓库](https://github.com/xun082/create-crack)
- [NPM 包](https://www.npmjs.com/package/create-crack)
- [问题反馈](https://github.com/xun082/create-crack/issues)
---
**Happy Coding! 🎉**