# 🚀 @aiwanna-team/repo-start

一个交互式的项目模板选择和初始化CLI工具，帮助开发者快速创建各种类型的项目。专为 aiwanna-team 团队定制。

## ✨ 特性

- 🎯 **交互式界面** - 友好的命令行交互体验
- 📦 **丰富的模板** - 支持多种主流技术栈的项目模板
- 🔧 **自动化安装** - 可选择自动安装项目依赖
- 🎨 **美观输出** - 彩色终端输出和加载动画
- ⚡ **快速部署** - 基于git clone快速拉取模板
- 🌐 **全局安装** - 支持全局安装和npx执行

## 🛠️ 安装

### 全局安装

```bash
npm install -g @aiwanna-team/repo-start
```

### 使用 npx (推荐)

```bash
npx @aiwanna-team/repo-start
```

## 📖 使用方法

### 创建新项目

**交互式创建项目：**
```bash
repo-start create
```

**直接指定项目名：**
```bash
repo-start create my-awesome-project
```

**使用 npx：**
```bash
npx @aiwanna-team/repo-start create my-project
```

### 查看可用模板

```bash
repo-start list
```

### 查看帮助

```bash
repo-start --help
repo-start create --help
```

### 查看版本号

```bash
repo-start -V
# 或者
repo-start --version
```

## 📋 可用模板

当前支持以下项目模板：

| 模板名称 | 描述 | 技术栈 |
|---------|------|--------|
| **通用组件库模板** | React + TypeScript + Rollup 通用组件库开发模板 | React, TypeScript, Rollup, Storybook |

> 💡 这是 aiwanna-team 团队专用的组件库开发模板，包含完整的开发、构建、测试和发布流程。

## 🎮 使用演示

1. **启动工具**
   ```bash
   repo-start create
   ```

2. **输入项目名称**
   ```
   ? 请输入项目名称: my-awesome-app
   ```

3. **选择模板**
   ```
   ? 请选择一个项目模板:
   ❯ 通用组件库模板 - React + TypeScript + Rollup 通用组件库开发模板
   ```

4. **确认选择**
   ```
   ? 确认要使用 "通用组件库模板" 模板创建项目 "my-awesome-app" 吗? (Y/n)
   ```

5. **自动安装依赖**
   ```
   ✅ 成功克隆模板到 my-awesome-app 目录
   ? 是否要执行安装命令: npm install? (Y/n)
   ```

6. **完成创建**
   ```
   🎉 项目创建成功!
   
   📝 下一步操作:
      cd my-awesome-app
      npm run dev
   
   💡 提示: 这是一个专业的组件库开发模板，包含完整的构建、测试和发布流程
   ```

## ⚙️ 配置

### 自定义模板

你可以修改 `templates.json` 文件来添加自己的模板：

```json
{
  "name": "我的模板",
  "description": "模板描述",
  "repository": "https://github.com/username/template-repo.git",
  "tags": ["tag1", "tag2"],
  "installCommand": "npm install",
  "startCommand": "npm run dev",
  "tips": "使用提示"
}
```

### 模板配置字段说明

- `name`: 模板名称
- `description`: 模板描述
- `repository`: Git仓库地址
- `tags`: 标签数组（可选）
- `installCommand`: 安装命令（可选）
- `startCommand`: 启动命令（可选）
- `tips`: 使用提示（可选）

## 🚀 开发

### 本地开发

```bash
# 克隆项目
git clone <repository-url>
cd repo-start

# 安装依赖
npm install

# 开发模式 (监听文件变更)
npm run dev

# 类型检查
npm run type-check

# 构建项目
npm run build

# 测试CLI
node dist/index.js --help
```

### 项目结构

```
repo-start/
├── src/
│   └── index.ts          # 主入口文件 (TypeScript)
├── dist/                 # 构建输出目录
├── templates.json        # 模板配置文件
├── vite.config.ts       # Vite配置 (TypeScript)
├── tsconfig.json        # TypeScript配置
├── package.json         # 项目配置
└── README.md           # 说明文档
```

## 📦 技术栈

- **Node.js 18+** - 运行环境
- **TypeScript 5.7** - 类型安全的开发语言
- **Vite 6.3** - 现代化构建工具
- **Commander 14.0** - 命令行框架
- **Inquirer** - 交互式命令行
- **Chalk** - 终端样式
- **Ora** - 加载动画

## 🤝 贡献

欢迎提交 Issue 和 Pull Request！

1. Fork 本仓库
2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交你的修改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 打开一个 Pull Request

## 📄 许可证

MIT License

## 🆘 问题反馈

如果你遇到任何问题，请在 [GitHub Issues](https://github.com/aiwanna-team/repo-start/issues) 中提交。

---

⭐ 如果这个项目对你有帮助，请给个 Star 支持一下！
