再次提交一下代码
This commit is contained in:
@@ -9,6 +9,8 @@
|
||||
## 2. 文档清单
|
||||
|
||||
- `general-development-guidelines.md`:通用开发协作规范。
|
||||
- `ai-native-software-engineering-standard.md`:AI-NSES 通用标准,定义 AI 协作项目的文档结构、职责和开发闭环。
|
||||
- `ai-native-templates/`:AI-NSES 模板目录,供新项目初始化时复制使用。
|
||||
- `frontend-development-guidelines.md`:通用前端开发规范,不包含具体业务项目规则。
|
||||
- `backend-development-guidelines.md`:通用后端开发规范,不包含具体业务项目规则。
|
||||
- `backend-base-structure-pagination-guidelines.md`:后端基础结构、ID、审计字段、分页和 Mapper 规范。
|
||||
@@ -24,4 +26,5 @@
|
||||
- 前端是否仍使用 Vue、TypeScript、Vite 和 PrimeVue。
|
||||
- 是否需要 SuperAgent、AgentBus 或其他外部系统接入。
|
||||
- 根目录 `AGENTS.md` 是否已经引用本目录下的规范。
|
||||
- 是否需要按 AI-NSES 建立 `CONTEXT.md`、`PROJECT_STATE.md` 和项目文档索引。
|
||||
- 当前项目专属业务规则是否已经放在项目自己的文档目录,而不是混入本目录。
|
||||
|
||||
276
docs/import/reusable/ai-native-software-engineering-standard.md
Normal file
276
docs/import/reusable/ai-native-software-engineering-standard.md
Normal file
@@ -0,0 +1,276 @@
|
||||
# AI-Native Software Engineering Standard (AI-NSES)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| Version | 0.1 |
|
||||
| Scope | 可复用软件工程标准 |
|
||||
| Audience | 人类开发者、产品人员、架构师、AI Agent |
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
AI-NSES 是一套面向 AI 协作开发的软件工程标准。
|
||||
|
||||
它不属于某一个具体项目,而是描述:
|
||||
|
||||
- 项目应该如何组织。
|
||||
- 文档应该如何维护。
|
||||
- AI Agent 应该如何工作。
|
||||
- 开发流程应该如何闭环。
|
||||
|
||||
目标是让任何新的 AI Agent 在几分钟内理解项目,而不依赖历史聊天记录。
|
||||
|
||||
## 2. Design Philosophy
|
||||
|
||||
### Documentation First
|
||||
|
||||
复杂软件首先是知识,其次才是代码。代码是项目知识的一种实现形式。
|
||||
|
||||
### Context Driven
|
||||
|
||||
Prompt 是临时的,Context 是长期资产。重要知识应该沉淀在仓库,而不是沉淀在聊天记录里。
|
||||
|
||||
### Living Documentation
|
||||
|
||||
文档不是一次性产物。文档随着项目成长,开发结束时文档也应该同步结束。
|
||||
|
||||
### AI as Team Member
|
||||
|
||||
AI 不是单纯的代码生成器,而是项目成员。它可以参与需求分析、产品设计、架构设计、开发、Review 和维护。
|
||||
|
||||
## 3. Core Principle
|
||||
|
||||
Build a project that teaches AI.
|
||||
|
||||
Do not teach AI every day.
|
||||
|
||||
中文说明:让项目成为 AI 的长期记忆,而不是每次都重新解释项目。
|
||||
|
||||
## 4. Recommended Project Structure
|
||||
|
||||
```text
|
||||
project/
|
||||
├── AGENTS.md
|
||||
├── CONTEXT.md
|
||||
├── PROJECT_STATE.md
|
||||
├── docs/
|
||||
│ ├── domain/
|
||||
│ ├── architecture/
|
||||
│ ├── workflows/
|
||||
│ ├── adr/
|
||||
│ ├── specs/
|
||||
│ └── guidelines/
|
||||
├── src/
|
||||
└── tests/
|
||||
```
|
||||
|
||||
中文说明:实际项目可以使用 `client/`、`server/`、`backend/`、`frontend/` 等目录,只要在 `CONTEXT.md` 或项目架构文档中说明映射关系即可。
|
||||
|
||||
## 5. Document Responsibilities
|
||||
|
||||
### AGENTS.md
|
||||
|
||||
读者:所有 AI Agent。
|
||||
|
||||
职责:规定 Agent 如何工作,包括默认工作流程、Debug 原则、Spec 原则、文档更新原则和 Review 原则。
|
||||
|
||||
更新频率:极低。
|
||||
|
||||
### CONTEXT.md
|
||||
|
||||
读者:人类成员和 AI Agent。
|
||||
|
||||
职责:介绍项目整体背景,包括产品目标、技术栈、系统组成、当前模块和当前开发方向。
|
||||
|
||||
更新频率:低。
|
||||
|
||||
### PROJECT_STATE.md
|
||||
|
||||
读者:人类成员和 AI Agent。
|
||||
|
||||
职责:记录当前项目状态,包括当前 Sprint、当前 Feature、当前 Priority、Known Issues 和 Next Steps。
|
||||
|
||||
更新频率:高。建议每完成一个 Feature 或 Checkpoint 更新一次。
|
||||
|
||||
### docs/domain/
|
||||
|
||||
读者:产品、业务、开发和 AI Agent。
|
||||
|
||||
职责:记录业务知识。建议一个业务对象一个文档,例如 `Guest.md`、`Hotel.md`、`Order.md`、`Reservation.md`、`Email.md`、`Task.md`、`PMS.md`。
|
||||
|
||||
内容包括定义、生命周期、业务规则和关系。禁止记录实现细节。
|
||||
|
||||
更新频率:低。
|
||||
|
||||
### docs/architecture/
|
||||
|
||||
读者:架构、开发和 AI Agent。
|
||||
|
||||
职责:记录系统设计,例如 `ARCHITECTURE.md`、`DATABASE.md`、`EVENTS.md`、`MODULES.md`。
|
||||
|
||||
重点描述模块边界、系统通信、数据库、事件和部署边界。
|
||||
|
||||
更新频率:低。
|
||||
|
||||
### docs/workflows/
|
||||
|
||||
读者:产品、业务、开发和 AI Agent。
|
||||
|
||||
职责:记录业务流程,例如 Email Processing、Reservation Sync、Task Generation、Webhook Processing。
|
||||
|
||||
重点描述输入、输出、状态流转、异常和补偿。
|
||||
|
||||
更新频率:中。
|
||||
|
||||
### docs/adr/
|
||||
|
||||
读者:架构、开发和 AI Agent。
|
||||
|
||||
职责:记录重要架构决策。每个重要设计决策一份文档。
|
||||
|
||||
建议格式:背景、为什么、备选方案、最终选择、影响。
|
||||
|
||||
规则:ADR 永远追加,不覆盖历史。
|
||||
|
||||
### docs/specs/
|
||||
|
||||
读者:产品、开发、测试和 AI Agent。
|
||||
|
||||
职责:记录具体功能规格。每一个 Feature 对应一个 Spec。
|
||||
|
||||
生命周期:Draft -> Approved -> Implemented -> Archived。
|
||||
|
||||
规则:Spec 完成以后保留,不删除。
|
||||
|
||||
### docs/guidelines/
|
||||
|
||||
读者:开发、测试和 AI Agent。
|
||||
|
||||
职责:记录长期规范,例如 API、UI、CODING、TESTING、SECURITY。
|
||||
|
||||
更新频率:极低。
|
||||
|
||||
## 6. Knowledge Layers
|
||||
|
||||
### Long-term Knowledge
|
||||
|
||||
生命周期:整个项目。
|
||||
|
||||
包括 Vision、Domain、Architecture、Guidelines。
|
||||
|
||||
### Medium-term Knowledge
|
||||
|
||||
生命周期:一个版本或一个阶段。
|
||||
|
||||
包括 Workflow、ADR、Spec。
|
||||
|
||||
### Short-term Knowledge
|
||||
|
||||
生命周期:一个 Sprint 或一个开发周期。
|
||||
|
||||
包括 Current Sprint、Known Issues、Next Steps、Backlog。
|
||||
|
||||
## 7. Stable vs Dynamic Documents
|
||||
|
||||
长期稳定:
|
||||
|
||||
- `AGENTS.md`
|
||||
- `CONTEXT.md`
|
||||
- `docs/domain/`
|
||||
- `docs/architecture/`
|
||||
- `docs/guidelines/`
|
||||
|
||||
中期演进:
|
||||
|
||||
- `docs/workflows/`
|
||||
- `docs/adr/`
|
||||
- `docs/specs/`
|
||||
|
||||
高频更新:
|
||||
|
||||
- `PROJECT_STATE.md`
|
||||
|
||||
中文说明:这样可以避免整个仓库每天发生无意义变化,也能让新 Agent 快速判断哪些文档代表长期事实,哪些文档代表当前状态。
|
||||
|
||||
## 8. Feature Lifecycle
|
||||
|
||||
任何 Feature 默认按以下顺序推进:
|
||||
|
||||
```text
|
||||
Idea
|
||||
-> Requirement
|
||||
-> Discussion
|
||||
-> Specification
|
||||
-> Implementation
|
||||
-> Verification
|
||||
-> Documentation Update
|
||||
-> Done
|
||||
```
|
||||
|
||||
Documentation Update 属于 Definition of Done,不能跳过。
|
||||
|
||||
## 9. AI Working Principles
|
||||
|
||||
- AI 应先理解,再开发。
|
||||
- 复杂需求默认先讨论,不立即编码。
|
||||
- 复杂功能默认先 Spec,不直接实现。
|
||||
- Bug 默认先定位,不猜测修复。
|
||||
- UI 默认保持一致性,不过度设计。
|
||||
- 代码修改前先确认目标、边界和验收标准。
|
||||
- 涉及接口、安全、权限、数据模型或外部系统时,先读相关契约文档。
|
||||
|
||||
## 10. Documentation Rules
|
||||
|
||||
所有文档必须回答一个问题:
|
||||
|
||||
未来的新 Agent 为什么需要阅读它?
|
||||
|
||||
如果回答不了,就不要创建,也不要维护。
|
||||
|
||||
文档应该小、独立、易维护。
|
||||
|
||||
不要维护一个 8000 行的 `DOMAIN.md`。应该按对象拆分成 `Order.md`、`Guest.md`、`Hotel.md`、`Email.md`、`Task.md`。
|
||||
|
||||
## 11. Documentation Update Rules
|
||||
|
||||
完成 Feature 后必须检查:
|
||||
|
||||
- Domain 是否需要更新。
|
||||
- Architecture 是否需要更新。
|
||||
- Workflow 是否需要更新。
|
||||
- ADR 是否需要新增。
|
||||
- Spec 是否需要改为 Implemented 或补充结果。
|
||||
- Project State 是否需要更新。
|
||||
- 安全、权限、接口契约是否需要同步。
|
||||
|
||||
如果没有文档变化,应明确说明:
|
||||
|
||||
```text
|
||||
No documentation changes required.
|
||||
```
|
||||
|
||||
不要为了修改而修改文档。
|
||||
|
||||
## 12. Success Criteria
|
||||
|
||||
一个新的 AI Agent 进入项目后,阅读以下有限文档即可开始工作:
|
||||
|
||||
```text
|
||||
AGENTS.md
|
||||
-> CONTEXT.md
|
||||
-> PROJECT_STATE.md
|
||||
-> 相关 Domain
|
||||
-> 相关 Workflow
|
||||
-> 相关 Spec 或 ADR
|
||||
```
|
||||
|
||||
无需阅读整个代码库。
|
||||
|
||||
无需依赖历史聊天记录。
|
||||
|
||||
## 13. Scope
|
||||
|
||||
AI-NSES 不限制编程语言、框架、数据库或 AI 模型。
|
||||
|
||||
它适用于 Codex、Claude Code、Gemini CLI、Cursor,以及未来任何 AI Agent。
|
||||
|
||||
它描述的是软件工程,不是某个具体工具。
|
||||
40
docs/import/reusable/ai-native-templates/ADR.template.md
Normal file
40
docs/import/reusable/ai-native-templates/ADR.template.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# ADR-编号 标题
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 状态 | Proposed / Accepted / Superseded |
|
||||
| 日期 | YYYY-MM-DD |
|
||||
| 决策人 | 按实际填写 |
|
||||
|
||||
## 1. 背景
|
||||
|
||||
说明为什么需要做这个决策。
|
||||
|
||||
## 2. 约束
|
||||
|
||||
- 约束 1:
|
||||
- 约束 2:
|
||||
|
||||
## 3. 备选方案
|
||||
|
||||
### 方案 A
|
||||
|
||||
说明优点和缺点。
|
||||
|
||||
### 方案 B
|
||||
|
||||
说明优点和缺点。
|
||||
|
||||
## 4. 最终选择
|
||||
|
||||
说明最终选择哪个方案。
|
||||
|
||||
## 5. 影响
|
||||
|
||||
- 正面影响:
|
||||
- 负面影响:
|
||||
- 后续动作:
|
||||
|
||||
## 6. 历史说明
|
||||
|
||||
ADR 只追加,不覆盖历史。如果未来决策变化,新建 ADR 或标记被替代。
|
||||
39
docs/import/reusable/ai-native-templates/AGENTS.template.md
Normal file
39
docs/import/reusable/ai-native-templates/AGENTS.template.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# 项目协作与开发规范
|
||||
|
||||
## 1. 文档入口
|
||||
|
||||
- 项目背景:`CONTEXT.md`
|
||||
- 当前状态:`PROJECT_STATE.md`
|
||||
- 项目文档索引:`docs/README.md` 或项目自定义索引
|
||||
- 通用开发规范:按项目实际路径填写
|
||||
|
||||
## 2. 工作方式
|
||||
|
||||
- 先确认目标、边界和验收标准,再改代码或文档。
|
||||
- 每次只做一个明确 checkpoint。
|
||||
- 不修改与当前任务无关的用户变更。
|
||||
- 不回滚用户自己的改动,除非用户明确要求。
|
||||
- 遇到不确定的技术栈、接口契约、权限边界或数据模型,先确认再继续。
|
||||
|
||||
## 3. 文档更新原则
|
||||
|
||||
完成 Feature 后必须检查:
|
||||
|
||||
- Domain 是否需要更新。
|
||||
- Architecture 是否需要更新。
|
||||
- Workflow 是否需要更新。
|
||||
- ADR 是否需要新增。
|
||||
- Spec 是否需要更新状态。
|
||||
- Project State 是否需要更新。
|
||||
|
||||
如果没有变化,明确说明:
|
||||
|
||||
```text
|
||||
No documentation changes required.
|
||||
```
|
||||
|
||||
## 4. 测试与验证
|
||||
|
||||
- 修改后运行对应模块已有检查命令。
|
||||
- 如果检查命令尚未配置或因环境问题无法运行,必须明确说明原因。
|
||||
- 不假装测试通过。
|
||||
@@ -0,0 +1,31 @@
|
||||
# 架构说明
|
||||
|
||||
## 1. 系统目标
|
||||
|
||||
说明系统架构服务的产品目标和主要约束。
|
||||
|
||||
## 2. 模块边界
|
||||
|
||||
| 模块 | 职责 | 不负责 |
|
||||
| --- | --- | --- |
|
||||
| | | |
|
||||
|
||||
## 3. 依赖方向
|
||||
|
||||
说明模块之间的依赖方向,避免双向依赖和跨层直连。
|
||||
|
||||
## 4. 数据边界
|
||||
|
||||
说明数据库、缓存、文件存储、消息队列和外部系统的数据边界。
|
||||
|
||||
## 5. 安全边界
|
||||
|
||||
说明鉴权、授权、租户隔离、审计和敏感数据处理方式。
|
||||
|
||||
## 6. 关键决策
|
||||
|
||||
列出相关 ADR 链接。
|
||||
|
||||
## 7. 演进计划
|
||||
|
||||
说明后续可能调整的方向和触发条件。
|
||||
50
docs/import/reusable/ai-native-templates/CONTEXT.template.md
Normal file
50
docs/import/reusable/ai-native-templates/CONTEXT.template.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# 项目上下文
|
||||
|
||||
## 1. 项目目标
|
||||
|
||||
说明项目要解决什么问题、主要服务谁、成功后用户会得到什么价值。
|
||||
|
||||
## 2. 当前系统组成
|
||||
|
||||
| 模块 | 中文说明 |
|
||||
| --- | --- |
|
||||
| `frontend/` 或 `client/` | 前端应用,负责展示、交互和调用本项目后端。 |
|
||||
| `backend/` 或 `server/` | 后端服务,负责业务规则、数据、权限、安全和外部系统适配。 |
|
||||
| `docs/` | 项目文档、规范、需求和架构说明。 |
|
||||
|
||||
## 3. 技术栈
|
||||
|
||||
### 后端
|
||||
|
||||
- 语言:
|
||||
- 框架:
|
||||
- 数据库:
|
||||
- 构建工具:
|
||||
- 测试工具:
|
||||
|
||||
### 前端
|
||||
|
||||
- 框架:
|
||||
- 构建工具:
|
||||
- UI 组件:
|
||||
- 测试工具:
|
||||
|
||||
## 4. 业务领域
|
||||
|
||||
列出核心业务对象,例如用户、订单、任务、酒店、邮件、支付、库存等。
|
||||
|
||||
## 5. 外部系统
|
||||
|
||||
列出外部系统、调用方向、鉴权方式和接口契约位置。
|
||||
|
||||
## 6. 当前开发方向
|
||||
|
||||
说明当前阶段最重要的开发目标和不做的事情。
|
||||
|
||||
## 7. 新 Agent 阅读顺序
|
||||
|
||||
1. `AGENTS.md`
|
||||
2. `CONTEXT.md`
|
||||
3. `PROJECT_STATE.md`
|
||||
4. 项目文档索引
|
||||
5. 与当前任务相关的 Domain、Workflow、Spec、ADR
|
||||
@@ -0,0 +1,27 @@
|
||||
# 业务对象名称
|
||||
|
||||
## 1. 定义
|
||||
|
||||
说明这个业务对象是什么,不是什么。
|
||||
|
||||
## 2. 生命周期
|
||||
|
||||
说明对象从创建到结束的主要状态。
|
||||
|
||||
## 3. 业务规则
|
||||
|
||||
- 规则 1:
|
||||
- 规则 2:
|
||||
- 规则 3:
|
||||
|
||||
## 4. 关系
|
||||
|
||||
说明它和其他业务对象的关系。
|
||||
|
||||
## 5. 禁止混淆
|
||||
|
||||
列出容易和它混淆的概念。
|
||||
|
||||
## 6. 非目标
|
||||
|
||||
说明本文不记录实现细节、表结构或接口字段。实现细节应放在 Architecture、Spec 或代码中。
|
||||
@@ -0,0 +1,39 @@
|
||||
# 项目当前状态
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 最近更新 | YYYY-MM-DD |
|
||||
| 当前分支 | 按实际填写 |
|
||||
| 当前阶段 | 按实际填写 |
|
||||
| 当前重点 | 按实际填写 |
|
||||
|
||||
## 1. 当前 Feature 或 Checkpoint
|
||||
|
||||
- 名称:
|
||||
- 状态:Draft / In Progress / Blocked / Ready for Review / Done
|
||||
- 目标:
|
||||
- 验收标准:
|
||||
|
||||
## 2. 当前优先级
|
||||
|
||||
1. 第一优先级:
|
||||
2. 第二优先级:
|
||||
3. 第三优先级:
|
||||
|
||||
## 3. 已确认事实
|
||||
|
||||
- 记录对后续开发有影响的当前事实。
|
||||
- 只写仍然有效的事实,不写长篇历史。
|
||||
|
||||
## 4. Known Issues
|
||||
|
||||
- 记录当前已知问题、风险和待验证点。
|
||||
|
||||
## 5. Next Steps
|
||||
|
||||
- 下一步最小动作。
|
||||
- 下一个建议 checkpoint。
|
||||
|
||||
## 6. 文档同步提醒
|
||||
|
||||
完成 Feature 后检查 Domain、Architecture、Workflow、ADR、Spec、Project State 是否需要更新。
|
||||
21
docs/import/reusable/ai-native-templates/README.md
Normal file
21
docs/import/reusable/ai-native-templates/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# AI-NSES 模板目录
|
||||
|
||||
本目录保存可复制到新项目的 AI-NSES 文档模板。
|
||||
|
||||
使用方式:
|
||||
|
||||
1. 复制需要的模板到新项目对应位置。
|
||||
2. 删除模板中的示例说明。
|
||||
3. 补充项目真实信息。
|
||||
4. 在项目 `AGENTS.md` 和项目文档索引中加入入口。
|
||||
|
||||
模板清单:
|
||||
|
||||
- `AGENTS.template.md`:AI Agent 协作入口模板。
|
||||
- `CONTEXT.template.md`:项目背景入口模板。
|
||||
- `PROJECT_STATE.template.md`:项目当前状态模板。
|
||||
- `DOMAIN_OBJECT.template.md`:业务对象文档模板。
|
||||
- `WORKFLOW.template.md`:业务流程文档模板。
|
||||
- `ADR.template.md`:架构决策记录模板。
|
||||
- `SPEC.template.md`:功能规格模板。
|
||||
- `ARCHITECTURE.template.md`:架构说明模板。
|
||||
49
docs/import/reusable/ai-native-templates/SPEC.template.md
Normal file
49
docs/import/reusable/ai-native-templates/SPEC.template.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Feature Spec 标题
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 状态 | Draft / Approved / Implemented / Archived |
|
||||
| 日期 | YYYY-MM-DD |
|
||||
| 负责人 | 按实际填写 |
|
||||
|
||||
## 1. 背景
|
||||
|
||||
说明为什么要做这个功能。
|
||||
|
||||
## 2. 目标
|
||||
|
||||
- 目标 1:
|
||||
- 目标 2:
|
||||
|
||||
## 3. 非目标
|
||||
|
||||
- 不做事项 1:
|
||||
- 不做事项 2:
|
||||
|
||||
## 4. 用户与场景
|
||||
|
||||
说明谁会使用这个能力,在哪些场景使用。
|
||||
|
||||
## 5. 业务规则
|
||||
|
||||
- 规则 1:
|
||||
- 规则 2:
|
||||
|
||||
## 6. 接口或交互契约
|
||||
|
||||
说明请求、响应、权限、安全、审计和兼容性要求。
|
||||
|
||||
## 7. 验收标准
|
||||
|
||||
- Given / When / Then:
|
||||
- Given / When / Then:
|
||||
|
||||
## 8. 测试范围
|
||||
|
||||
- 单元测试:
|
||||
- 集成测试:
|
||||
- 手工验证:
|
||||
|
||||
## 9. 文档更新
|
||||
|
||||
完成后检查 Domain、Architecture、Workflow、ADR、Project State 是否需要更新。
|
||||
@@ -0,0 +1,37 @@
|
||||
# 业务流程名称
|
||||
|
||||
## 1. 目标
|
||||
|
||||
说明这个流程要完成什么业务目标。
|
||||
|
||||
## 2. 触发条件
|
||||
|
||||
说明流程从哪里开始。
|
||||
|
||||
## 3. 输入
|
||||
|
||||
| 输入 | 中文说明 | 来源 |
|
||||
| --- | --- | --- |
|
||||
| | | |
|
||||
|
||||
## 4. 输出
|
||||
|
||||
| 输出 | 中文说明 | 去向 |
|
||||
| --- | --- | --- |
|
||||
| | | |
|
||||
|
||||
## 5. 正常流程
|
||||
|
||||
1. 步骤一。
|
||||
2. 步骤二。
|
||||
3. 步骤三。
|
||||
|
||||
## 6. 异常与补偿
|
||||
|
||||
- 异常:
|
||||
- 补偿:
|
||||
- 审计:
|
||||
|
||||
## 7. 边界
|
||||
|
||||
说明哪些事情属于本流程,哪些事情不属于本流程。
|
||||
Reference in New Issue
Block a user