Metadata-Version: 2.4
Name: create-vibecoding
Version: 0.1.0
Summary: Vibe Coding 项目脚手架创建工具（Python CLI）
Author: vibe-coding-cn contributors
License-Expression: MIT
Project-URL: Homepage, https://github.com/tradecatlabs/vibe-coding-cn
Project-URL: Documentation, https://github.com/tradecatlabs/vibe-coding-cn/tree/develop
Project-URL: Repository, https://github.com/tradecatlabs/vibe-coding-cn
Keywords: vibe-coding,scaffold,ai,agent,cli,cursor,loop-engineering
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# create-vibecoding

> 一条命令创建 Vibe Coding 项目脚手架（Python CLI，类似 `create-vue` 的体验）。

方法论内置：[vibe-coding-cn](https://github.com/tradecatlabs/vibe-coding-cn) + Loop Engineering。

---

## 快速创建项目

### 方式 1：pipx（推荐，无需全局安装）

```bash
pipx run create-vibecoding
```

### 方式 2：全局安装

```bash
pip install create-vibecoding
create-vibecoding
```

### 方式 3：本地开发（本仓库）

```bash
git clone <本仓库>
cd vibecoding
pip install -e .
create-vibecoding my-app
# 或直接
python -m create_vibecoding my-app
```

---

## 交互式创建（默认）

```bash
create-vibecoding
```

会依次询问：

```
项目名称: 待办 CLI
目录名: todo-cli
Python 包名: todo_cli
项目描述: 命令行待办工具
是否初始化 Git? 是
是否安装开发依赖? 否
是否运行 pytest 验证? 否
```

---

## 非交互式创建（适合 CI / 脚本）

```bash
create-vibecoding my-app \
  --default \
  --name "我的应用" \
  --package my_app \
  --description "我的 Vibe Coding 项目" \
  --install \
  --verify
```

### 常用参数

| 参数 | 说明 |
|------|------|
| `project_dir` | 项目目录名（kebab-case） |
| `--name` | 显示名称 |
| `--package` | Python 包名 |
| `--description` | 项目描述 |
| `--default` | 非交互，使用参数/默认值 |
| `--git` / `--no-git` | 是否 `git init`（默认开启） |
| `--install` | 创建后 `pip install -r requirements-dev.txt` |
| `--verify` | 创建后运行 `pytest` |

---

## 创建完成后

```bash
cd my-app
pip install -r requirements-dev.txt

# 质量门禁
python -m pytest tests/ -v
python scripts/run-loop-tick.py

# 1. 填写 memory-bank/prd.md
# 2. 用 prompts/启动项目.md 让 AI 执行第一步
```

生成项目包含：

- `memory-bank/` — 需求、计划、架构、Loop 状态
- `AGENTS.md` — AI 行为准则
- `prompts/` + `skills/` — 提示词与子 Agent
- `Makefile` + CI — 质量门禁
- `src/<你的包名>/` — 源码占位

---

## 本仓库结构（维护者）

```
create_vibecoding/              # CLI 包
  cli.py                        # 命令入口
  utils.py                      # 复制与占位符
  template/                     # 用户项目模板（唯一真相源，直接改这里）
scripts/validate-template.py    # 校验模板完整性
tests/test_cli.py               # CLI 测试
```

### 修改脚手架模板

**直接编辑** `create_vibecoding/template/`，然后：

```bash
python scripts/validate-template.py
pip install -e .
pytest tests/test_cli.py -v
python -m create_vibecoding my-test --default --no-git --verify
```

---

## 发布到 PyPI

### 1. 准备账号与 Token

1. 注册 [PyPI](https://pypi.org/account/register/) 与 [TestPyPI](https://test.pypi.org/)（可选，用于试发）
2. 在 PyPI → Account settings → API tokens 创建 token（scope 选整个账号或项目 `create-vibecoding`）

### 2. 构建与校验

```bash
pip install build twine
python scripts/validate-template.py
python -m pytest tests/ -v
python -m build
python -m twine check dist/*
```

### 3. 上传

**先试 TestPyPI（推荐）：**

> TestPyPI 与 PyPI **账号和 Token 不通用**。需先在 https://test.pypi.org/account/register/ 注册，并在 TestPyPI 上单独创建 API Token。

```bash
$env:TWINE_USERNAME = "__token__"
$env:TWINE_PASSWORD = "pypi-你的TestPyPI-Token"
.\scripts\publish.ps1 -Test
```

验证安装：

```bash
pip install -i https://test.pypi.org/simple/ create-vibecoding
create-vibecoding hello --default --no-git
```

**正式发布：**

```bash
# PowerShell
$env:TWINE_USERNAME = "__token__"
$env:TWINE_PASSWORD = "pypi-你的Token"
python -m twine upload dist/*
```

或使用 `.pypirc` 配置（勿提交到 Git）。

### 4. 用户安装

```bash
pip install create-vibecoding
create-vibecoding my-app
# 或
pipx run create-vibecoding
```

PyPI 页面：https://pypi.org/project/create-vibecoding/

---

## 许可

MIT
