Files
junhong_cmp_fiber/docs/ai-dto-guidelines-update.md
huang 4abbf558e4
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m28s
完善 DTO 规范:统一 description 标签并添加 AI 助手自动检查指引
- 修复所有 DTO 文件的 description 标签(10 个文件)
  - 枚举字段统一使用中文说明(用户类型、角色类型、权限类型等)
  - 状态字段明确说明 0/1 含义
  - validate 标签与 OpenAPI 标签保持一致

- 在 AGENTS.md 和 CLAUDE.md 添加 DTO 规范章节
  - AI 助手必须执行的 7 项检查清单
  - 常见枚举字段标准值参考
  - 确保未来 AI 助手自动遵循规范

- 创建规范文档
  - docs/code-review-checklist.md(Code Review 检查清单)
  - docs/dto-improvement-summary.md(DTO 改进总结)
  - docs/ai-dto-guidelines-update.md(AI 指引更新说明)

- 重新生成 OpenAPI 文档(375 个 description 标签)

影响:所有 API 字段现在都有清晰的中文说明,前端开发更友好
2026-01-20 15:10:11 +08:00

266 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI 助手 DTO 规范指引更新
## 📋 更新概览
**更新日期**: 2026-01-20
**目的**: 确保未来的 AI 助手在创建/修改 DTO 时自动遵循规范
---
## ✅ 已更新的文件
### 1. `AGENTS.md`(第 96 行)
添加了完整的 **DTO 规范(重要!)** 章节,包括:
- ✅ Description 标签规范
- ✅ 枚举字段必须列出所有可能值(中文)
- ✅ 验证标签与 OpenAPI 标签一致
- ✅ 请求参数类型标签
- ✅ 响应 DTO 完整性
-**AI 助手必须执行的检查清单**
- ✅ 常见枚举字段标准值
### 2. `CLAUDE.md`(第 99 行)
添加了 **DTO 规范API 文档生成基础)** 章节,包括:
- ✅ 所有字段必须使用 `description` 标签
- ✅ 枚举字段必须列出所有可能值(使用中文)
- ✅ validate 标签必须与 OpenAPI 标签一致
- ✅ Query 和 Path 参数必须添加对应标签
-**AI 助手在创建/修改 DTO 后必须执行的检查**
---
## 🎯 AI 助手自动检查清单
未来的 AI 助手在创建或修改任何 DTO 文件后,会**自动执行**以下检查:
### 必须执行的检查(来自 AGENTS.md
```markdown
1. ✅ 检查所有字段是否有 `description` 标签
2. ✅ 检查枚举字段是否列出了所有可能值(中文)
3. ✅ 检查状态字段是否说明了 0 和 1 的含义
4. ✅ 检查 validate 标签与 OpenAPI 标签是否一致
5. ✅ 检查是否禁止使用行内注释替代 description
6. ✅ 检查枚举值是否使用中文而非英文
7. ✅ 重新生成 OpenAPI 文档验证:`go run cmd/gendocs/main.go`
```
### 详细检查清单位置
- **完整清单**: `docs/code-review-checklist.md`
- **在线引用**: 两个文件都包含此引用
---
## 📚 标准枚举值参考
两个文件都包含了常见枚举字段的标准值:
```go
// 用户类型
description:"用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)"
// 角色类型
description:"角色类型 (1:平台角色, 2:客户角色)"
// 权限类型
description:"权限类型 (1:菜单, 2:按钮)"
// 适用端口
description:"适用端口 (all:全部, web:Web后台, h5:H5端)"
// 状态
description:"状态 (0:禁用, 1:启用)"
// 店铺层级
description:"店铺层级 (1-7级)"
```
---
## 🔄 工作流程
### 1. AI 助手创建/修改 DTO 文件
```go
type CreateAccountRequest struct {
Username string `json:"username" validate:"required,min=3,max=50" required:"true" minLength:"3" maxLength:"50" description:"用户名"`
UserType int `json:"user_type" validate:"required,min=1,max=4" required:"true" minimum:"1" maximum:"4" description:"用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)"`
Status int `json:"status" validate:"required,min=0,max=1" required:"true" minimum:"0" maximum:"1" description:"状态 (0:禁用, 1:启用)"`
}
```
### 2. AI 助手自动执行检查
根据 `AGENTS.md``CLAUDE.md` 中的指引AI 会:
- ✅ 验证所有字段都有 `description` 标签
- ✅ 验证枚举字段包含完整的中文说明
- ✅ 验证 validate 和 OpenAPI 标签一致性
- ✅ 执行 `go run cmd/gendocs/main.go` 生成文档
### 3. AI 助手验证生成的文档
```bash
# 检查用户类型字段
grep -A 3 "user_type:" docs/admin-openapi.yaml
# 输出应该包含完整的中文枚举说明:
# description: 用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)
```
### 4. AI 助手报告检查结果
AI 会主动告知用户:
- ✅ 所有 DTO 字段都符合规范
- ✅ OpenAPI 文档已重新生成
- ✅ 所有枚举值使用中文说明
---
## 📊 对比:更新前 vs 更新后
### 更新前 ❌
**AI 助手行为**
- ❌ 可能忘记添加 `description` 标签
- ❌ 可能使用英文枚举值
- ❌ 可能使用行内注释而非 `description`
- ❌ 不会自动验证文档生成
**开发者需要**
- 🔧 手动检查每个 DTO 文件
- 🔧 手动修复不符合规范的字段
- 🔧 手动重新生成文档
### 更新后 ✅
**AI 助手行为**
- ✅ **自动**为所有字段添加 `description` 标签
- ✅ **自动**使用中文枚举值
- ✅ **自动**确保 validate 和 OpenAPI 标签一致
- ✅ **自动**重新生成并验证文档
**开发者只需**
- 👀 Code Review 时参考 `docs/code-review-checklist.md`
- ✅ 信任 AI 已按规范执行
---
## 🎓 示例AI 助手的标准操作流程
### 用户请求
```
"请创建一个企业管理的 DTO包括创建、更新和列表查询"
```
### AI 助手执行步骤
1. **读取规范**(自动)
-`AGENTS.md``CLAUDE.md` 读取 DTO 规范
- 了解必须遵循的标签格式
2. **创建 DTO**(遵循规范)
```go
type CreateEnterpriseRequest struct {
EnterpriseName string `json:"enterprise_name" validate:"required" required:"true" description:"企业名称"`
Status int `json:"status" validate:"required,min=0,max=1" required:"true" description:"状态 (0:禁用, 1:启用)"`
}
```
3. **执行检查**(自动)
- ✅ 所有字段都有 `description`
- ✅ Status 字段说明了 0/1 含义
- ✅ validate 和 OpenAPI 标签一致
4. **生成文档**(自动)
```bash
go run cmd/gendocs/main.go
```
5. **验证文档**(自动)
```bash
grep "状态" docs/admin-openapi.yaml
# 确认输出包含: description: 状态 (0:禁用, 1:启用)
```
6. **报告完成**(主动告知用户)
```
✅ 已创建 enterprise_dto.go
✅ 所有字段都符合 DTO 规范
✅ OpenAPI 文档已更新docs/admin-openapi.yaml
✅ 所有枚举值使用中文说明
```
---
## 🔗 相关文档
| 文档 | 路径 | 说明 |
|------|------|------|
| AI 开发规范 | `AGENTS.md` | 包含 DTO 规范和检查清单(第 96 行) |
| Claude 规范 | `CLAUDE.md` | 包含 DTO 规范和检查清单(第 99 行) |
| Code Review 清单 | `docs/code-review-checklist.md` | 完整的检查清单 |
| DTO 改进总结 | `docs/dto-improvement-summary.md` | 本次修复的详细记录 |
| OpenAPI 文档 | `docs/admin-openapi.yaml` | 自动生成的 API 文档 |
---
## 🎯 预期效果
### 对未来 AI 助手的影响
1. ✅ **自动合规**:所有新建的 DTO 自动符合规范
2. ✅ **减少返工**:不再需要手动修复不规范的代码
3. ✅ **文档同步**:代码即文档,文档永远是最新的
4. ✅ **一致性**:所有枚举字段使用统一的中文说明格式
### 对开发团队的影响
1. ✅ **Code Review 简化**:只需对照 `docs/code-review-checklist.md` 快速检查
2. ✅ **前端友好**API 文档清晰,前端开发效率提升
3. ✅ **新人友好**:规范明确,容易上手
4. ✅ **维护成本降低**:规范统一,代码可读性强
---
## 📈 统计数据
### 文件更新统计
| 文件 | 添加行数 | 章节 | 位置 |
|------|---------|------|------|
| `AGENTS.md` | ~120 行 | DTO 规范(重要!) | 第 96 行 |
| `CLAUDE.md` | ~30 行 | DTO 规范API 文档生成基础) | 第 99 行 |
### 覆盖的检查项
- ✅ **7 个自动检查项**AGENTS.md
- ✅ **5 个核心规范点**CLAUDE.md
- ✅ **6 种标准枚举类型**
---
## 🚀 下一步
### 立即生效
- ✅ 未来所有与此项目交互的 AI 助手都会自动读取这些规范
- ✅ 新建或修改 DTO 时会自动执行检查
- ✅ 文档生成和验证自动化
### 团队协作
- 📝 在 Code Review 时参考 `docs/code-review-checklist.md`
- 📝 在 PR 模板中添加"DTO 规范检查"项
- 📝 定期运行 `go run cmd/gendocs/main.go` 确保文档最新
---
**最后更新**: 2026-01-20
**维护者**: 开发团队