用途:根据项目结构与代码库信号,初始化 .workflow/specs/ 下的规范文件,供后续 spec 管理命令使用。
主要能力:1) 校验前置条件:要求 .workflow/ 目录已存在(否则 E001),且项目包含可扫描的源文件(否则 E002)。2) 扫描代码库:读取包文件(package.json、Cargo.toml、go.mod 等)、配置文件(.eslintrc、tsconfig.json、.prettierrc 等)、源码结构(目录、命名、导入风格)与测试模式。3) 生成核心规范:始终创建 coding-conventions.md(category: coding)、architecture-constraints.md(category: arch)、learnings.md(category: learning)。4) 按信号生成可选规范:检测到 linter/CI/lint 脚本时创建 quality-rules.md;检测到测试框架或测试脚本时创建 test-conventions.md;debug-notes.md 与 review-standards.md 不自动创建,改为通过 $spec-add debug / $spec-add review 按需生成。5) 输出报告:列出已创建文件及分类,并提示后续操作,如 $spec-add <category> <content>、$spec-remove 及 wiki graph 命令。
使用方式:在已初始化的 Maestro 项目中运行 $spec-setup,随后按报告提示使用 $spec-add 等命令扩展规范。
限制与边界:所有文件写入只能针对 .workflow/specs/ 与 .workflow/knowhow/;不得修改源代码、.workflow/state.json 或这些路径之外的文件。已存在的文件会被跳过而非覆盖。写入失败会阻断流程。约定检测不确定时给出 W001 并标记 [UNCERTAIN]。阶段门为强制阻断式:前置条件→扫描、扫描→生成、生成→报告,任一未满足即停止。