feat: add guidelines and coding standards for Kratos Layout Agent#163
feat: add guidelines and coding standards for Kratos Layout Agent#163shenqidebaozi wants to merge 1 commit intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
本 PR 新增 Kratos Layout Agent 的工作指南文档,用于约束 AI Agent/开发助手在 Kratos 项目中的代码生成与修改方式,确保分层架构与项目目录布局一致、变更可控。
Changes:
- 新增
AGENTS.md,定义 AI Agent 在 Kratos 项目中的核心原则与最小变更要求 - 描述 Kratos 推荐项目布局与各层职责边界(api/cmd/configs/internal/third_party 等)
- 补充生成代码与配置生成相关的约束(如
make api、make config)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - 代码风格一致:必须遵守 Go 语言规范,保持代码风格一致,避免引入不必要的依赖或复杂性。 | ||
|
|
||
| ## 项目布局 | ||
| 必需遵守 Kratos 官方推荐的项目布局,顶层目录包含: |
There was a problem hiding this comment.
第 14 行的“必需遵守”用词不当,中文文档里通常应写作“必须遵守”。建议统一使用“必须”,避免歧义。
| 必需遵守 Kratos 官方推荐的项目布局,顶层目录包含: | |
| 必须遵守 Kratos 官方推荐的项目布局,顶层目录包含: |
| - `cmd/`:程序入口,用于生命周期管理,依赖注入初始化,加载配置等,保持简洁,不允许包含业务逻辑。 | ||
| - `configs/`:配置文件,不允许包含敏感信息,保持结构清晰。 | ||
| - `internal/`:业务代码(私有),所有业务逻辑、数据访问、服务实现等都放在这里,禁止直接暴露给外部。 | ||
| - `biz/`:核心业务层,遵守 ** Zero dependencies ** 原则,包含 usecase、domain model(DO) 和 repo 接口定义,不依赖 service 和 data,不使用 proto 结构。 |
There was a problem hiding this comment.
第 19 行的加粗写法为“** Zero dependencies **”,两侧多余空格会导致 Markdown 渲染不一致。建议改为“Zero dependencies”。
| - `biz/`:核心业务层,遵守 ** Zero dependencies ** 原则,包含 usecase、domain model(DO) 和 repo 接口定义,不依赖 service 和 data,不使用 proto 结构。 | |
| - `biz/`:核心业务层,遵守 **Zero dependencies** 原则,包含 usecase、domain model(DO) 和 repo 接口定义,不依赖 service 和 data,不使用 proto 结构。 |
| 必须保持该目录结构,不允许随意新增或删除顶层目录,以保证项目的规范性和可维护性。 | ||
|
|
||
| › No newline at end of file |
There was a problem hiding this comment.
第 27 行单独出现的“›”看起来是误入的字符,会污染文档内容并可能影响渲染/复制。建议删除该行。
| 必须保持该目录结构,不允许随意新增或删除顶层目录,以保证项目的规范性和可维护性。 | |
| › | |
| 必须保持该目录结构,不允许随意新增或删除顶层目录,以保证项目的规范性和可维护性。 |
| # Kratos Layout Agent 指南 | ||
|
|
||
| ## 目的 | ||
| 本文档用于定义 AI Agent 或开发助手在 Kratos 项目中的工作规范。 确保所有代码符合 Kratos 项目结构,保持清晰的分层架构,提高代码可维护性与一致性。适用于:代码生成、功能开发、重构、API 设计与修改、配置变更、测试与文档 |
There was a problem hiding this comment.
第 4 行“工作规范。 确保”中句号后存在多余空格,影响排版一致性。建议去掉该空格并按需补充句末标点/分号分隔(例如在最后补“。”或用列表列出“适用于”项)。
| 本文档用于定义 AI Agent 或开发助手在 Kratos 项目中的工作规范。 确保所有代码符合 Kratos 项目结构,保持清晰的分层架构,提高代码可维护性与一致性。适用于:代码生成、功能开发、重构、API 设计与修改、配置变更、测试与文档 | |
| 本文档用于定义 AI Agent 或开发助手在 Kratos 项目中的工作规范,确保所有代码符合 Kratos 项目结构,保持清晰的分层架构,提高代码可维护性与一致性。适用于:代码生成、功能开发、重构、API 设计与修改、配置变更、测试与文档。 |
| - `data/`: 数据访问层,包含数据库访问、外部 API 调用等实现,实现 biz 层 repo 接口定义,禁止包含业务逻辑。 | ||
| - `service/`:接口实现层,包含 gRPC、HTTP 等接口实现,负责请求编排、参数校验、DTO 到 DO 转换。调用 biz 层实现业务逻辑,不允许包含复杂业务逻辑。 | ||
| - `server/`: HTTP/gRPC 服务器实现,包含路由、服务、中间件注册等,保持简洁,不允许包含业务逻辑。 | ||
| - `conf/`: 使用 proto 定义的配置结构体,保持与 `configs/` 目录下的配置文件一致,使用 `make config` 命令生成更新。 |
There was a problem hiding this comment.
第 20、22、23 行的目录说明分隔符使用了半角“:”(例如“data/:”),而第 15-18、24 行使用的是全角“:”。建议统一一种标点(中文文档通常用“:”)以保持格式一致。
| - `data/`: 数据访问层,包含数据库访问、外部 API 调用等实现,实现 biz 层 repo 接口定义,禁止包含业务逻辑。 | |
| - `service/`:接口实现层,包含 gRPC、HTTP 等接口实现,负责请求编排、参数校验、DTO 到 DO 转换。调用 biz 层实现业务逻辑,不允许包含复杂业务逻辑。 | |
| - `server/`: HTTP/gRPC 服务器实现,包含路由、服务、中间件注册等,保持简洁,不允许包含业务逻辑。 | |
| - `conf/`: 使用 proto 定义的配置结构体,保持与 `configs/` 目录下的配置文件一致,使用 `make config` 命令生成更新。 | |
| - `data/`:数据访问层,包含数据库访问、外部 API 调用等实现,实现 biz 层 repo 接口定义,禁止包含业务逻辑。 | |
| - `service/`:接口实现层,包含 gRPC、HTTP 等接口实现,负责请求编排、参数校验、DTO 到 DO 转换。调用 biz 层实现业务逻辑,不允许包含复杂业务逻辑。 | |
| - `server/`:HTTP/gRPC 服务器实现,包含路由、服务、中间件注册等,保持简洁,不允许包含业务逻辑。 | |
| - `conf/`:使用 proto 定义的配置结构体,保持与 `configs/` 目录下的配置文件一致,使用 `make config` 命令生成更新。 |
No description provided.