All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m28s
- 修复所有 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 字段现在都有清晰的中文说明,前端开发更友好
266 lines
7.6 KiB
Markdown
266 lines
7.6 KiB
Markdown
# 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
|
||
**维护者**: 开发团队
|