用途
sdd-init 用于在当前项目中初始化「规格驱动开发」(Spec-Driven Development,SDD)上下文。它会自动检测项目的技术栈、约定和架构模式,并引导建立持久化后端(Constitution 与 Knowledge Graph),为后续的规格编写、任务拆解和实现提供基础。
主要能力
- 检测项目上下文:扫描技术栈(语言、框架、构建系统)、识别约定(目录结构、命名模式、配置文件、测试模式)以及检测架构风格(单体、微服务、无服务器、分层、六边形/端口适配器)。
- 引导 Constitution:检查
docs/specs/architecture.md和docs/specs/ontology.md是否存在;若缺失则询问用户是否创建,若存在则展示当前状态。 - 引导 Knowledge Graph:检查
docs/specs/knowledge-graph.json是否存在,创建或更新该文件,写入初始发现(技术栈、约定、架构),并链接到 Constitution。 - 返回结构化结果:输出包含 status、executive_summary、artifacts、next_recommended 的 JSON 对象,并以格式化文本展示。
使用方式
通过触发短语激活,例如:
- "sdd-init"、"init sdd"、"setup sdd"
- "initialize sdd"、"setup project"、"initialize project context"
- "bootstrap sdd"、"start sdd"
- "detect project stack"、"detect tech stack"
工作流程分为四个阶段:
- 检测项目上下文:使用 shell 命令扫描语言、框架、项目类型、目录结构、配置文件、测试模式、构建系统、CI/CD 以及架构风格。
- 引导 Constitution:检查文件是否存在;若缺失,通过 AskUserQuestion 询问用户选择创建两者、仅创建 architecture.md、仅创建 ontology.md 或跳过;若用户选择创建,则委托给
/developer-kit-specs:constitution create并传入检测到的上下文。 - 引导 Knowledge Graph:检查
docs/specs/knowledge-graph.json是否存在,创建或更新该文件,写入初始发现,并验证 JSON 有效性。 - 返回结构化结果:输出 JSON 对象,包含状态、摘要、产物列表和后续建议。
适用场景
- 在新项目或现有项目中首次引入 SDD 流程时。
- 需要自动识别项目技术栈和架构模式以生成规格文档时。
- 需要建立 Constitution 和 Knowledge Graph 作为后续规格开发基础时。
限制
- 检测过程为只读,不会修改源代码。
- 创建文件时非破坏性,只创建新文件,不覆盖已有内容。
- 若无法创建
docs/specs/目录,会提示用户手动创建。 - 若 Knowledge Graph JSON 无效,会显示错误、保留原始文件并建议验证。
- 若 Constitution 委托失败,会回退到使用模板内联创建。
- 更新已有 Knowledge Graph 时会保留现有数据。
与其他技能的集成
- constitution:由 sdd-init 在缺失时创建或更新。
- knowledge-graph:由 sdd-init 填充初始发现。
- brainstorm:应在开始前读取 Constitution。
- spec-to-tasks:应针对 Knowledge Graph 和 Constitution 进行验证。
- task-implementation:应检查 Knowledge Graph 中的现有模式。