twu

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

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