原始内容
TWU - 测试工作流工具
基于 Claude Code 的纯 CLI 测试用例生成工具链。
核心原则:CLI 优先、文件驱动、分批生成、Git 纠偏、所有产物用 Markdown
快速开始
前置要求
必需:
- Python 3.11-3.13
- uv(Python 包管理器)
安装 uv:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# 或使用 pip
pip install uv
推荐:使用 init 脚本快速开始
# 1. 克隆 TWU
git clone git@github.com:chyax98/twu.git my-project
cd my-project
# 2. 安装依赖(一次性)
uv sync
# 3. 创建需求项目(自动创建目录结构、CLAUDE.md、README.md、.gitignore)
uv run scripts/init.py --name "需求1-用户登录"
# 4. 在需求目录中工作
cd "需求1-用户登录"
# 填写 CLAUDE.md,上传文档到 original-requirements/
# 在 Claude Code 中执行 /req-parse
init 脚本功能:
- ✅ 自动创建完整目录结构
- ✅ 复制 CLAUDE.md 模板
- ✅ 生成 README.md 和 .gitignore
- ✅ 提供清晰的下一步指引
或:手动创建(传统方式)
# 1. 克隆仓库
git clone git@github.com:chyax98/twu.git
cd twu
# 2. 安装依赖
uv sync
# 3. 手动创建目录
mkdir -p "需求1-用户登录"/{original-requirements,cleaned-requirements,clarified-requirements,test-case}
cp templates/CLAUDE.md "需求1-用户登录/CLAUDE.md"
# 4. 在需求目录中工作
cd "需求1-用户登录"
核心命令
/req-parse # 解析需求文档
/req-test # 生成需求问题清单
/req-merge # 合并需求澄清,生成完备需求
/testcase-plan # 生成测试规划
/testcase-gen # 生成测试用例
跨平台支持
✅ 所有脚本均支持 Windows/macOS/Linux
- 使用 Python + uv 确保跨平台一致性
- 自动处理路径分隔符差异
- 统一的依赖管理
目录结构
核心概念
TWU 采用 单工具多需求 的设计:
- ✅ 克隆一次 TWU 仓库
- ✅ 在根目录下创建多个需求子目录
- ✅ 所有需求共享
.claude/配置
完整结构示例
twu/ # TWU 根目录(克隆的仓库)
├── .claude/ # ← TWU 核心配置(所有需求共享)
│ ├── commands/ # 5 个斜杠命令
│ ├── skills/ # 5 个技能实现
│ ├── hooks/
│ └── settings.json
├── scripts/ # 辅助脚本
│ └── init.py
├── templates/ # 模板文件
│ └── CLAUDE.md
├── pyproject.toml # Python 依赖(所有需求共享)
├── 需求1-用户登录/ # ← 需求子目录(init 脚本创建)
│ ├── CLAUDE.md # 业务背景(每个需求独立)
│ ├── original-requirements/ # 原始文档
│ ├── cleaned-requirements/ # 清洗结果
│ ├── clarified-requirements/# 完备需求
│ └── test-case/ # 测试用例
├── 需求2-订单管理/ # ← 另一个需求
│ └── ...
└── README.md
关键点
| 文件/目录 | 位置 | 说明 |
|---|---|---|
.claude/ |
TWU 根目录 | 所有需求共享,不需要复制 |
CLAUDE.md |
每个需求子目录 | 每个需求独立的业务背景 |
pyproject.toml |
TWU 根目录 | 所有需求共享依赖配置 |
| 需求工作目录 | TWU 根目录下的子目录 | init 脚本自动创建 |
详细说明: 参见 docs/目录结构说明.md
推荐:多需求结构
my-project/ # 你的项目
├── .claude/ # TWU 配置(共享)
│ ├── commands/ # 5 个斜杠命令
│ ├── skills/ # 5 个技能定义
│ ├── hooks/ # Hooks
│ └── settings.json
├── 需求1-用户登录/ # 需求 1 工作目录
│ ├── CLAUDE.md # 业务背景
│ ├── original-requirements/ # 原始文档
│ ├── cleaned-requirements/ # 清洗结果
│ ├── clarified-requirements/ # 完备需求
│ └── test-case/ # 测试用例
├── 需求2-订单管理/ # 需求 2 工作目录
│ └── ...
└── pyproject.toml # 依赖配置(共享)
或:单需求结构
twu/
├── .claude/
├── original-requirements/ # 原始需求文档
├── cleaned-requirements/ # 清洗后的需求
├── clarified-requirements/ # 完备需求
├── test-case/ # 测试用例
└── CLAUDE.md # 业务背景
依赖说明
核心依赖(已在 pyproject.toml 中声明):
- docling: 文档解析(优先)
- PyPDF2: PDF 降级方案
- python-docx: DOCX 降级方案
- openpyxl: Excel 导出
架构说明
TWU 采用 Claude Code Standalone 模式:
.claude/commands/- 5 个斜杠命令(/req-parse 等).claude/skills/- 5 个技能定义(自动调用).claude/hooks/- 会话结束 Hook.claude/settings.json- 配置文件
路径设计:使用 $CLAUDE_PROJECT_DIR 环境变量,支持从任意子目录执行命令
不是 Plugin:TWU 是完整的工作流工具链,直接在项目中使用。
常见问题
Q: 没有 uv 怎么办? A: 可以使用 pip + venv 替代。
简单示例:
python3 -m venv .venv && source .venv/bin/activate
pip install docling PyPDF2 python-docx openpyxl pyyaml
python .claude/skills/req-parser/scripts/parse_doc.py --input-dir ... --output-dir ...
强烈建议安装 uv(更快、更方便):pip install uv
Q: Windows 上如何使用? A: 安装 uv 后,所有命令都可以直接在 PowerShell/CMD 中运行。
Q: 如何管理多个需求? A: 推荐使用一个 TWU 工程管理多个需求,每个需求一个子目录。
Q: 可以从需求子目录执行命令吗?
A: 可以!TWU 使用 $CLAUDE_PROJECT_DIR 环境变量,支持从任意子目录执行。
Q: 如何更新 TWU?
A: git pull origin main 获取最新版本。
Q: DOCX 解析失败怎么办?
A: 系统会自动降级到 python-docx,确保已执行 uv sync 安装依赖。
仓库地址:git@github.com:chyax98/twu.git