SuperAPI AI 工具集

ralph-builder

通用与其它

查看项目

更新于 10-15 23:32

技能介绍

用途:根据用户给出的目标(可引用 PRD、计划或任务清单文件),为当前仓库生成 Ralph 循环所需的全部产物,使 ralph 能自主执行。任务状态存放在 beads(bd)图数据库中,执行计划与两个提示词包装文件写入 .llmtmp/。

主要能力与用法:

  1. 阅读仓库上下文(README.md、.llmdocs/ 下所有 .md、用户目标中引用的文件),必要时创建 .llmtmp/。
  2. 初始化 beads 并创建本次运行的 epic:若 bd 不可用则执行 bd init --skip-agents;随后用 bd q "Ralph: ${slug}" -t epic -p 1 -l "ralph:${slug}" 建立运行标识,同一仓库不同 worktree 的并发运行通过 --parent 过滤隔离。
  3. 将目标翻译为 bd 任务图:每个动作是一个 bead,含标题与描述;用 bd create -t task --parent "${epic}" -l "ralph:${slug}" -q --json 捕获 ID,用 bd update 写描述,用 bd link 建立依赖(b 阻塞 a)。运行以分支任务和 BEGIN 标签任务开始,以依赖全部任务的 END 标签任务结束。编码类任务描述采用 RED/GREEN/VERIFY 结构,不单独建测试 bead。涉及 README.md、CLAUDE.md 或 .llmdocs/ 的任务须调用 docs skill(/docs、$docs)。
  4. 编写 .llmtmp/ralph-plan.md,含 Goal、Approach、Inputs(plan documents 行仅列用户参数中的文件)、Run Identity(slug、epic ID、标签、driver)、Conventions、Git Workflow、Per-Task Workflow、Driver Instruction。每次迭代只处理一个任务,先 bd ready --parent <epic-id> --json,为空则 bd close <epic-id> 并输出 <promise>ALLDONE</promise>;否则 bd show 读取任务并执行后 bd close。
  5. 编写两个提示词包装:.llmtmp/ralph-prompt-insession.md 使用 /ralph-loop:ralph-loop "<in-session body>" --max-iterations 100 --completion-promise ALLDONE,会话内循环不中断;.llmtmp/ralph-prompt-external.md 仅含外部 body,每个任务结束后停止,由 scripts/ralph.sh 拉起新上下文。

验证:需断言 bd list 可用、bd dep cycles 通过、本次运行只有一个 open epic、ready 队列非空、每个子任务描述非空、父任务集合与标签集合一致,且三个 .llmtmp/ 文件存在并含对应关键字;失败需修复后重新验证。

适用场景:需要在仓库内以 beads 图驱动的可审计、分步自主开发循环,支持会话内连续执行或外部逐任务执行。

限制:资料未提供具体收费、价格、支持平台与效果保证;示例中的 SLUG、路径、函数名、提交前缀均为示意值;bd、jq、git、claude --print、scripts/ralph.sh 等依赖需按实际环境准备。