npm package: @lambertkeith/spec-go
Description: CLI 脚手架工具，快速创建项目并可选初始化 GitHub 仓库
Latest version: 0.3.1

# spec-go

快速创建项目并自动初始化 GitHub 仓库的 CLI 脚手架工具。

**✨ 新功能**: 现在支持 MCP Server，可通过 Claude Code 直接调用！

## 快速开始

### CLI 使用

```bash
# 使用 npx (推荐)
npx @lambertkeith/spec-go my-app

# 或全局安装后使用
npm install -g @lambertkeith/spec-go
spec-go my-app
```

### MCP Server 使用

通过 Claude Code 使用自然语言创建项目：

```
"帮我创建一个 React TypeScript 项目"
"列出所有可用的项目模板"
```

📖 **完整 MCP 使用指南**: 查看 [MCP_GUIDE.md](./MCP_GUIDE.md)

## 用法

### 交互式创建

```bash
npx @lambertkeith/spec-go
```

### 指定模板创建

```bash
npx @lambertkeith/spec-go my-app --template react-ts
npx @lambertkeith/spec-go my-api --template fastapi
npx @lambertkeith/spec-go my-fullstack --template fullstack-react-node
```

### 一条命令创建并推送到 GitHub

```bash
npx @lambertkeith/spec-go my-app --github --template node-ts
```

### 列出所有可用模板

```bash
npx @lambertkeith/spec-go list
```

## 可用模板

### 单体项目

| 模板名 | 描述 |
|--------|------|
| `node-ts` | Node.js + TypeScript |
| `express-ts` | Express + TypeScript API |
| `react-ts` | React 18 + Vite + TypeScript |
| `vue-ts` | Vue 3 + Vite + TypeScript |
| `next-ts` | Next.js 14 + App Router |
| `python-uv` | Python + uv 包管理器 |
| `fastapi` | FastAPI + uv |
| `django` | Django + uv |
| `flask` | Flask + uv |
| `springboot` | Spring Boot 3.x + Maven |
| `empty` | 空项目 |

### 前后端分离

| 模板名 | 描述 |
|--------|------|
| `fullstack-react-node` | React + Express (pnpm workspace) |
| `fullstack-vue-node` | Vue 3 + Express (pnpm workspace) |
| `fullstack-react-python` | React + FastAPI (Makefile) |

## 命令参考

### 创建项目

```bash
npx @lambertkeith/spec-go                           # 交互式创建
npx @lambertkeith/spec-go my-app                    # 指定项目名
npx @lambertkeith/spec-go my-app --template node-ts # 指定模板
npx @lambertkeith/spec-go my-app --github           # 创建 + GitHub 仓库
npx @lambertkeith/spec-go my-app --github --public  # 创建公开仓库
npx @lambertkeith/spec-go my-app --no-git           # 不初始化 Git
npx @lambertkeith/spec-go my-app --no-install       # 跳过依赖安装
```

### 列出模板

```bash
npx @lambertkeith/spec-go list
```

### 配置管理

```bash
spec-go config --setup-github     # 配置 GitHub Token
spec-go config --show             # 显示当前配置
spec-go config --path             # 显示配置文件路径
```

## GitHub 集成

### 首次使用配置 Token

```bash
npx @lambertkeith/spec-go config --setup-github
```

按提示获取 Token: https://github.com/settings/tokens/new?scopes=repo

### 配置文件

配置文件位置: `~/.spec-go.json`

```json
{
  "defaults": {
    "github": true,
    "public": false,
    "template": "node-ts"
  },
  "github": {
    "token": "ghp_xxxxxxxxxxxx",
    "defaultOrg": "my-organization"
  }
}
```

## 项目结构示例

### 单体项目 (node-ts)

```
my-app/
├── src/
│   └── index.ts
├── package.json
├── tsconfig.json
└── README.md
```

### 全栈项目 (fullstack-react-node)

```
my-app/
├── frontend/
│   ├── src/
│   ├── package.json
│   └── vite.config.ts
├── backend/
│   ├── src/
│   └── package.json
├── package.json
└── pnpm-workspace.yaml
```

## 系统要求

- Node.js >= 18.0.0
- pnpm (推荐) / npm / yarn
- uv (Python 模板)
- Maven (Spring Boot 模板)

## 功能特性

- 🚀 **14 个精选模板**: 涵盖 Node.js、React、Vue、Python、Java 等主流技术栈
- 🎯 **交互式 CLI**: 友好的命令行交互体验
- 🤖 **MCP Server**: 通过 Claude Code 使用自然语言创建项目
- 🔧 **GitHub 集成**: 一键创建仓库并推送代码
- 📦 **自动依赖安装**: 支持 pnpm、npm、yarn、uv、Maven
- 🎨 **模板变量替换**: 自动替换项目名称等变量
- 🔄 **Workspace 支持**: 前后端分离项目使用 monorepo 结构

## MCP Server

spec-go 提供 MCP Server，让你可以通过 Claude Code 使用自然语言来创建项目。

### 快速配置

1. 构建项目：
   ```bash
   pnpm build
   ```

2. 配置 Claude Code (`~/.claude/settings.json`)：
   ```json
   {
     "mcpServers": {
       "spec-go": {
         "command": "node",
         "args": ["/path/to/create-idp/dist/mcp/index.js"]
       }
     }
   }
   ```

3. 重启 Claude Code

### 可用工具

- `create_project` - 使用模板创建新项目
- `list_templates` - 列出所有可用模板
- `validate_project_name` - 验证项目名称
- `init_git_repo` - 初始化 Git 仓库
- `create_github_repo` - 创建 GitHub 仓库并推送

📖 **详细文档**: [MCP_GUIDE.md](./MCP_GUIDE.md)

## 许可证

MIT