用途:把已有的 PRD(Markdown 文件或文本)转换为 Ralph 自主执行系统使用的 prd.json,输出到 ralph 目录。
主要输出格式:包含 project、branchName、description、userStories 数组。每个用户故事含 id(US-001 递增)、title、description(As a… I want… so that…)、acceptanceCriteria、priority、passes、notes。
核心规则:每个故事必须在一次 Ralph 迭代(一个上下文窗口)内完成,因 Ralph 每轮启动全新 Amp 实例、不记忆此前工作。故事过大应拆分(如把整套仪表盘拆为 schema、查询、UI 组件、筛选)。故事按依赖顺序执行:先 schema/数据库迁移,再服务端逻辑,后 UI,最后聚合视图。验收标准必须可核验,避免“工作正常”“用户体验好”等模糊表述;每个故事末条固定加“Typecheck passes”,含可测逻辑加“Tests pass”,改动 UI 的加“Verify in browser using dev-browser skill”。
转换规则:每个用户故事对应一个 JSON 条目;ID 顺序编号;priority 依据依赖顺序再按文档顺序;所有故事 passes 为 false、notes 为空;branchName 由功能名转 kebab-case 并加 ralph/ 前缀;始终添加“Typecheck passes”。
归档:写入新 prd.json 前若已存在且 branchName 不同、progress.txt 有内容,需建 archive/YYYY-MM-DD-feature-name/ 归档当前 prd.json 与 progress.txt,并重置 progress.txt。ralph.sh 会自动处理,手动更新时需先归档。
关键限制:创建新 prd.json 时必须把所有故事 passes 重置为 false,不得沿用旧状态或假定先前工作延续。每条必须可在一次迭代完成、无故事依赖后续故事。具体定价、平台支持等资料未提供。