用途:Plan Mode 用于在实施前产出规划文档。它会检查项目、澄清范围、核实技术事实,并把计划写入 .plan/ 目录,不执行实现。
主要能力:把请求分类为新建计划、更新已有计划、把某步骤拆成子计划;先检查本地项目再向用户询问代码库事实;必要时一次只问一个聚焦的澄清问题;按 references/plan-template.md 起草父计划,按 references/sub-plan-template.md 拆分过大或高风险步骤;结果写入 .plan/current/,并更新 .plan/index.json 的轻量元数据;完成后返回简要总结并停下等待用户审阅。
边界与限制:只做计划,不实现、不重构、不迁移、不编辑源码;只允许写入 {project-root}/.plan/;不调用执行工作流、do-plan、任务同步系统或平台特定编排;未核实陈述标记为待确认;计划标题、文件名和章节标题默认使用中文。
项目根目录解析顺序:Git 仓库根;否则含 package.json、pyproject.toml、Cargo.toml、go.mod 或 .git 等标记的最近目录;否则当前工作目录。目录结构为 {project-root}/.plan/ 下的 current/、archive/ 与 index.json。
研究规则:来源优先级为 Context7、当前环境已有搜索工具、通用网页搜索;优先官方文档、标准、维护中的仓库、发布说明和维护者声明;回退到搜索工具前说明 Context7 不足;每条外部事实附来源链接;来源加本地代码检查得出的结论标记为推断;来源冲突时说明冲突并优先更新或更权威者。
计划文档规则:父计划存于 .plan/current/,文件名格式 YYYY-MM-DD-中文计划名.md,元数据保留机器友好的 plan_id,区分已确认信息与待确认问题;每个步骤包含目标、涉及文件或模块、具体操作、完成标志、验证方法;每个高风险项附缓解措施;写明验收标准与验证步骤;完成或放弃的计划移入 .plan/archive/ 且不改 plan_id。
子计划触发条件:一个步骤涉及超过 3 个文件、包含多个独立里程碑、需要单独权衡分析、风险高或验证链长、简短拆分后仍不清晰。规则:总深度不超过 2 层;子计划放在以父计划文件名去掉 .md 命名的文件夹内,文件名如 01-接口梳理子计划.md;每个子计划链接回父计划与父步骤;有子计划的步骤在父计划中只保留摘要级意图。
索引:.plan/index.json 仅作元数据而非事实来源,每条记录含 plan_id、title、path、status、updated_at、parent_plan_id、children。按需加载 references/plan-template.md、references/sub-plan-template.md、references/research-policy.md,用户要求示例输出或需要具体格式参考时使用 references/examples.md。