Skip to content

Latest commit

 

History

History
128 lines (95 loc) · 6.65 KB

File metadata and controls

128 lines (95 loc) · 6.65 KB

AI协同开发规范 (AICP) - V.final

文档目的

本规范定义了一套基于“规范驱动开发”(Spec-driven Development)的完整工作流程,旨在最大限度地发挥AI助手(如Gemini, Claude, GitHub Copilot等)的效能,确保软件项目的可预测性、高质量和可维护性。它将开发过程分为四个明确的阶段,并为每个阶段定义了核心任务、协作模式和产出物。


核心原则

  1. 意图是最终的真相来源 (Intent is the Source of Truth): 项目的“意图”通过一系列结构化的“规范”文档来捕合与传递。
  2. 分阶段协作 (Phased Collaboration): 每个开发阶段都有特定的目标,并与特定角色的AI进行交互。
  3. 规范即接口 (Spec as an Interface): 规范文档是人与AI之间沟通的标准化接口。
  4. 架构决策显式化 (Explicit Architecture Decisions): 所有的关键架构决策都必须记录在案,并作为AI编码的核心上下文。
  5. 人是领航员,AI是执行者 (Human as Navigator, AI as Implementer): 人的核心职责是定义目标、设定约束、审查产出和做出决策。AI的核心职责是在明确的指导下高效地生成、分解和实现。

项目结构初始化

在项目开始时,创建以下目录结构:

/project-root
|-- /plan
|   |-- spec.md
|   |-- plan.md
|   |-- TASKS.md
|-- /changelog
|-- /docs
|   |-- /architecture
|   |   |-- 01-frontend.md
|   |   |-- 02-backend-api.md
|   |   |-- 03-database.md
|   |   |-- 04-dependencies.md
|-- claude.md  <-- 本地文件,在.gitignore中
... (其他项目文件)

第一阶段: 规范 (Specify) - 定义“是什么”与“为什么”

  • 协作模式: 与高级AI(如Gemini)进行产品战略对话
  • 核心任务: 探讨并明确项目的核心价值、用户旅程和成功标准。
  • 产出物: 一份高级规格说明书,保存于 plan/spec.md

第二阶段: 规划 (Plan) - 定义“如何做”

  • 协作模式: 与AI进行系统架构设计对话
  • 输入: plan/spec.md 和你的技术约束。
  • 核心任务: 设计系统的整体架构、技术栈、数据模型和API契约。
  • 产出物:
    1. 一份技术规划文档,保存于 plan/plan.md
    2. 架构决策记录 (ADRs): 将讨论中确定的关键架构决策,分别记录到 /docs/architecture/ 目录下的对应文件中。
      • 01-frontend.md: 记录前端框架、状态管理、组件库、构建工具等决策。
      • 02-backend-api.md: 记录API设计风格(RESTful/GraphQL)、认证机制(JWT/OAuth)、核心路由结构等。
      • 03-database.md: 记录数据库选型(SQL/NoSQL)、核心数据表/集合的设计、索引策略等。
      • 04-dependencies.md: 记录非代码类的关键依赖,如Redis的用途、Docker的配置、消息队列的选择等。

第三阶段: 任务 (Tasks) - 分解工作

  • 协作模式: 指示AI进行工作分解
  • 输入: plan/spec.md และ plan/plan.md
  • 核心任务: 将技术规划分解为一系列独立的、可测试的、小颗粒度的开发任务。
  • 产出物: 一份任务清单,保存于 plan/TASKS.md

第四阶段: 实现 (Implement) - 编码、验证、提交

  • 协作模式: 与CLI代码助手进行原子化的、任务驱动的编码会话。
  • 核心实践:
    1. 独立会话: 为plan/TASKS.md中的每一个任务,开启一个全新的、独立的对话。
    2. 提供上下文: 在每个新会话开始时,你的初始提示词必须引导AI读取并理解以下内容:
      • A. 行为规范: claude.md(见下文附录)。
      • B. 项目环境: package.json, lock文件等。
      • C. 架构蓝图: claude.md中引用的所有架构决策文件。
      • D. 当前任务: 从plan/TASKS.md中复制出的、当前要完成的那一个具体任务的描述。
    3. 开发循环:
      • AI根据任务和架构约束生成代码。
      • 你进行小范围、高聚焦的代码审查。
      • 你集成代码并运行测试进行验证。
      • 验证通过后,立即执行原子化提交
    4. 收尾: 完成一个任务后,如果该任务对某个架构决策有更新,及时去修改 /docs/architecture/ 中的对应文件。然后关闭当前会话,开始下一个任务。

附录: claude.md - AI 行为规范模板 (最终版)

说明: 此文件应存在于项目本地,并被添加到.gitignore。它是第四阶段(实现)中提供给CLI代码助手的“个人行为准出则”。

# AI 助手行为规范 (Claude Protocol)

你好。你是一名遵循最高软件工程标准的资深程序员。在本次会话中,你必须首先理解本项目的核心架构决策,然后严格遵守以下所有规则。

### 0. 核心架构上下文 (Core Architecture Context)

在开始任何工作之前,你必须首先阅读并完全理解以下架构决策文档。你生成的所有代码都必须严格遵守这些文档中定义的规范和模式。

*   **前端架构**: `/docs/architecture/01-frontend.md`
*   **后端API设计**: `/docs/architecture/02-backend-api.md`
*   **数据库规范**: `/docs/architecture/03-database.md`
*   **外部依赖与服务**: `/docs/architecture/04-dependencies.md`

### 1. 核心原则
*   **遵循架构**: 你不得偏离上述架构文档中定义的任何决策。
*   **单一职责**: 你生成的每个代码单元都应只解决一个明确的问题。
*   **禁止猜测**: 你的工作范围严格限定于我提供的“当前任务”。如果任务描述与架构文档有冲突或不清晰,你必须提问而不是做出假设。

### 2. 环境与依赖
*   **严格遵循版本**: 本项目的所有环境和依赖都已锁定。你不得提出任何与已定义版本不符的代码或建议。
*   **不引入新依赖**: 未经我的明确许可,你不得引入任何新的第三方库。

### 3. 工作流程
*   **任务驱动**: 你的唯一目标是完成我本次会话提供的那个独立任务。
*   **先检查后编码**: 如我要求,你的第一步是提供环境检查命令,等待我确认环境就绪。

### 4. 代码质量
*   **遵循规范**: 你产出的所有代码都必须遵循项目已配置的Linter和Formatter规则。
*   **健壮性**: 在适当的地方添加错误处理和边界条件检查。
*   **可读性**: 对复杂逻辑添加简洁的注释,并使用清晰的命名。