diff --git a/ReadMe.md b/ReadMe.md index 2eba658..8c4cd80 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -8,51 +8,41 @@ 此阶段目标是确立 SSOT。建议采用“单步确认”模式。 -### 1.1 启动 Scoping (定界) -**适用场景**:新需求启动时。 +### 1.1 启动功能定界 +**适用场景**:开始做新功能时。 +**使用方法**:复制提示词,粘贴后直接在末尾输入你的需求。 + ```text -【模式】规范驱动 + 接口先行。禁止直接写代码。 -【必须遵守】agents.md / spec/contracting.md / docs/spec-product-zh.md +【工作模式】先写需求文档,再写代码。禁止直接写代码。 +【必须遵守】项目根目录的 agents.md 和 docs/ 文件夹下的方法论文档 -【任务背景】 -- 模块: -- 目标: <一句话描述功能> -- 依赖: <外部系统或模块清单> +请分析我的需求,在 spec/<模块名>/ 文件夹下输出功能边界、外部接口清单、文档清单。输出完成后停止,等待我确认。 -【输出要求】 -请在 spec// 下输出 Scoping 结果: -1) 模块边界:明确覆盖与不覆盖的范围。 -2) 依赖接口清单 (Consumer-First):重点列出你需要的外部服务接口草案。 -3) 产出物计划:确认将生成的 spec 文件列表 (requirements, openapi.provider/deps, design, tasks)。 - -输出完成后停止,等待确认。 +我的需求: ``` -### 1.2 生成 Requirements (需求) -**适用场景**:Scoping 确认后。 +### 1.2 生成需求文档 +**适用场景**:功能定界确认后。 +**使用方法**:直接复制粘贴即可,无需修改。 + ```text -请生成 spec//requirements.md。 +【必须遵守】项目根目录的 agents.md 和 docs/ 文件夹下的方法论文档 -要求: -1) 包含用户故事 [US-...] 和验收标准 [AC-...] (使用 EARS 语法)。 -2) 必须包含 Traceability 表,将 AC 映射到预期的 API Endpoint。 -3) 考虑降级、超时、幂等及多租户隔离 (若适用)。 +请生成 spec/<模块名>/requirements.md 需求文档,包含:用户故事、验收标准、接口映射表。 -完成后停止,待确认后请执行 spec-only commit。 +完成后停止,等待我确认。确认后请单独提交这个文档到 git,提交信息使用文档中的第一个 AC 编号,格式:docs: init requirements [AC-XXX-01] ``` -### 1.3 生成 OpenAPI (契约) -**适用场景**:需求确认后。建议分两步:deps (依赖) -> provider (提供)。 +### 1.3 生成接口定义 +**适用场景**:需求文档确认后。 +**使用方法**:直接复制粘贴即可,无需修改。 + ```text -请生成 spec//openapi.provider.yaml (或 openapi.deps.yaml)。 +【必须遵守】项目根目录的 agents.md 和 docs/ 文件夹下的方法论文档 -要求: -1) 在 info 下标记 x-contract-level: L0。 -2) 100% 对齐 requirements.md 中的 AC。 -3) 包含 operationId、结构化错误模型及必要的状态码。 -4) 若涉及流式,请定义 SSE 事件模型 (message/final/error)。 +请生成 spec/<模块名>/openapi.provider.yaml 接口定义文件,要求与需求文档中的验收标准完全对齐。 -完成后停止,待确认后请执行 spec-only commit。 +完成后停止,等待我确认。确认后请单独提交这个文档到 git,提交信息使用需求文档中的第一个 AC 编号,格式:docs: init openapi contract [AC-XXX-01] ``` --- @@ -61,18 +51,60 @@ 此阶段目标是按图施工,严格遵守提交节奏。 -### 2.1 开启并行窗口 (分工指令) -**适用场景**:将任务分发给不同的 AI 窗口。 -```text -【执行任务】Phase (TASK-001 ~ TASK-00N) -【硬规则】 -1. 严格按 spec//tasks.md 顺序执行。 -2. 禁止修改其它窗口负责的文件或目录。 -3. 每完成一个原子任务必须执行:最小自测 (mvn test / pytest) -> git commit -> 更新 progress.md。 -4. 代码/注释必须包含关联的 [AC-...] 标注。 -5. 严禁执行 git push,所有提交保留在本地 main 分支。 +### 2.0 项目初始化(仅主窗口执行一次) +**适用场景**:开始编码前,准备项目基础设施。 +**使用方法**:直接复制粘贴即可,无需修改。 +**重要提示**:此步骤仅由主窗口/管理员执行一次,其他窗口跳过此步骤。 -现在开始执行第一个任务:。 +```text +【必须读取】spec/<模块名>/ 下的规范文档(requirements.md、openapi.provider.yaml、design.md、tasks.md) + +【初始化任务】 +请按顺序执行以下初始化操作: +1. 检查并安装项目依赖(如 npm install、pip install 等) +2. 创建必要的目录结构(如 logs/、uploads/、temp/ 等) +3. 初始化数据库(执行迁移脚本,创建表结构) +4. 插入基础数据(如管理员账号、系统配置等) +5. 检查外部服务连接(如 Redis、消息队列、第三方 API) +6. 生成配置文件(如 .env.local,基于 .env.example) + +【硬规则】 +- 仅执行基础设施初始化,不实现任何业务功能 +- 初始化完成后提交一次,提交信息使用需求文档中的第一个 AC 编号,格式:chore: init project infrastructure [AC-XXX-01] +- 完成后输出"初始化完成",等待其他窗口开始并行开发 + +执行初始化。 +``` + +### 2.1 生成并行开发提示词 +**适用场景**:项目初始化完成后,准备多窗口并行开发。 +**使用方法**:直接复制粘贴即可,无需修改。 + +```text +【必须读取】spec/ 下所有模块的 tasks.md 文件 + +请分析各模块的任务清单,为每个模块生成一个可直接使用的提示词,格式如下: + +--- +## 窗口 N:<模块名> + +```text +【必须读取】spec/<模块名>/ 下的规范文档(requirements.md、openapi.provider.yaml、design.md、tasks.md) +【可选】如果任务复杂(≥5个子任务),按 docs/session-handoff-protocol.md 创建进度文档 + +【硬规则】 +1. 严格按 tasks.md 顺序执行任务 +2. 仅修改自己负责的模块文件,禁止修改其他模块或项目基础设施 +3. 禁止初始化项目(如创建数据库、修改全局配置),项目已由管理员初始化完成 +4. 每完成一个任务:运行测试 -> 提交代码(格式:feat/fix: <描述> [AC-XXX-NN]) +5. 代码注释必须包含对应的验收标准编号 [AC-XXX-NN] +6. 所有提交保留在本地,禁止 push 到远端 + +现在开始执行 <模块名> 的 Phase 1 任务。 +``` +--- + +生成完成后,用户可以直接复制每个窗口的提示词到对应的 AI 窗口执行。 ``` ### 2.2 契约与实现对齐 (L2 升级)