Implement 用于把 SPEC.md 转成可实施的 spec.json,并驱动迭代实现循环,共三个阶段:转换(SPEC.md 转 spec.json)、准备(校验 spec.json、生成实现提示词并保存到文件)、执行(运行 scripts/implement.sh 通过子进程逐条迭代用户故事)。三阶段可独立进入:已有 spec.json 从阶段 2 开始,产物就绪只需执行从阶段 3 开始,只需转换则在阶段 1 后停止。由 /ship 组合时走完整生命周期并事后审查输出;独立运行时端到端执行并直接报告结果。
产物存放在 tmp/ship/,由 git rev-parse --show-toplevel 动态推导,可用 CLAUDE_SHIP_DIR_OVERRIDE 覆盖以适配 Docker/CI/隔离环境。输入为 SPEC.md 或 spec.json 路径(必填),可选 --test-cmd(默认 pnpm test --run)、--typecheck-cmd(默认 pnpm typecheck)、--lint-cmd(默认 pnpm lint)、--no-browser、--docker [compose-file]。提供 SPEC.md 时其路径会保留到阶段 2,提示词中只嵌入文件路径而非内容,迭代代理每轮首先读取完整 SPEC.md。
转换规则:每个用户故事对应一个 JSON 条目,ID 顺序编号,按依赖顺序定优先级,passes 均为 false,branchName 以 implement/ 前缀的 kebab-case 命名,每个故事都加入“Typecheck passes”验收标准。故事必须能在一个上下文窗口内完成,过大需拆分;验收标准须可验证,优先行为性而非实现耦合性;UI 故事在浏览器可用时加入浏览器验证标准,不可用时改用 Bash 可验证标准。失败路径与非功能需求应转化为相应故事的验收标准,而非单独建故事。
限制:资料未提供具体收费、价格、平台支持范围与效果数据;执行依赖 scripts/implement.sh 与相应测试、类型检查、lint 命令环境。