用途:porch 是协议编排命令行工具,用状态机管理开发协议的执行流程,跟踪阶段、门禁(gate)、咨询结果与状态转换。
主要能力:支持 SPIR、ASPIR、AIR、TICK、BUGFIX 协议;可查看项目状态与阶段、运行协议循环、获取下一步任务、标记阶段完成、执行阶段检查、请求人工审批、回滚到早期阶段、初始化新项目。项目 ID 在 builder worktree 内会从 worktree 路径自动识别。
常用命令:porch status [id] 查看当前项目状态与阶段;porch run [id] 以严格模式运行协议循环;porch next [id] 以 JSON 返回下一步任务;porch done [id] 表示当前阶段完成;porch check [id] 运行当前阶段检查;porch gate [id] 在门禁处请求人工审批;porch approve <id> <gate> --a-human-explicitly-approved-this 批准门禁;porch rollback <id> <phase> 回退到更早阶段;porch init <protocol> <id> <name> 初始化新项目;porch pending 列出所有等待审批的门禁。
门禁审批:门禁是仅限人工的审批检查点,必须带 --a-human-explicitly-approved-this 标志,用于防止 AI 智能体自动批准。SPIR 在规格写完后有 spec-approval,计划写完后有 plan-approval;SPIR、TICK、AIR 在 PR 创建后有 pr 门禁。ASPIR 与 BUGFIX 没有 spec/plan 门禁,这些阶段自主运行。
关键规则:builder 绝不能调用 porch approve,只有人工可批准门禁;不要直接编辑 status.yaml,状态由 porch 管理;builder 用 porch done 而非 porch approve 表示完成;porch run 仅用于严格模式,软模式 builder 手动遵循协议文档;从 architect 运行 porch approve 时如需 worktree 上下文,可用子 shell,例如 (cd /path/to/worktree && porch approve ...)。
状态存储:项目状态位于 codev/projects/<id>-<name>/status.yaml,由 porch 自动管理,记录当前阶段、门禁状态、咨询结果与时间戳。
限制:资料未提供安装方式、依赖要求、支持平台、收费与价格等信息。