mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-30 06:16:37 +08:00
88 lines
6.3 KiB
Markdown
88 lines
6.3 KiB
Markdown
# AGENTS.md
|
||
|
||
本文件是 OpenFlare 的 AI 接手入口,不承载详细设计、规范和计划。接手项目时,请根据以下分层文档指引进行阅读与开发:
|
||
|
||
## 1. 核心必读文档(Level 3 & Level 4)- 必须阅读 ⚠️
|
||
|
||
为了理解 OpenFlare 的设计理念、产品边界、核心机制以及代码编写的工程约束,**AI 在接手项目时必须首先且完整阅读以下文档**:
|
||
|
||
### Level 3: 面向贡献者的参阅文档 (Contributor References)
|
||
* **[docs/design/index.md](./docs/design/index.md)**
|
||
*作用:理解当前 MVP 的产品范围、系统边界、核心对象和长期约束。*
|
||
* **[docs/design/architecture.md](./docs/design/architecture.md)**
|
||
*作用:理解 Server、Agent、OpenResty 与前端的职责边界与网络拓扑。*
|
||
* **[docs/design/release-model.md](./docs/design/release-model.md)**
|
||
*作用:理解配置发布、激活、回滚与 Agent 节点配置应用的模型。*
|
||
* **[docs/design/development.md](./docs/design/development.md)**
|
||
*作用:了解如何搭建本地开发环境,运行后端 Server、Agent 和前端开发服务器,以及运行测试与构建的命令。*
|
||
* **[docs/design/repository.md](./docs/design/repository.md)**
|
||
*作用:熟悉仓库的整体物理结构和各子目录的职责。*
|
||
|
||
### Level 4: 面向 AI 的开发指导规范 (AI Guidelines)
|
||
* **[docs/guildline/development-constraints.md](./docs/guildline/development-constraints.md)**
|
||
*作用:掌握核心后端/Agent/前端分层约束、数据模型规范、数据库迁移升级协议、API 与鉴权设计准则。*
|
||
* **[docs/guildline/Guidelines.md](./docs/guildline/Guidelines.md)**
|
||
*作用:通用的 Go 后端开发与高质量编码准则,包括架构、并发、错误处理、安全及工作流程。*
|
||
* **[docs/guildline/Project.md](./docs/guildline/Project.md)**
|
||
*作用:针对 OpenFlare 后端特定的控制器参数解析、响应处理、纯净工具类与数据库逻辑完全隔离、Go 泛型切片去重及 JSON 序列化避坑细则。*
|
||
|
||
---
|
||
|
||
## 2. 按需查阅文档(Level 2)- 根据需求阅读 💡
|
||
|
||
当开发任务涉及具体的系统部署、升级、接口联调或配置字段查阅时,**AI 应当根据需求阅读相应的参考手册**:
|
||
|
||
### Level 2: 面对高级用户/开发者的参阅文档 (Reference Manuals)
|
||
* **[docs/reference/configuration.md](./docs/reference/configuration.md)**
|
||
*作用:系统启动时支持的所有环境变量、命令行参数、运行时 Option 选项和 Agent 配置文件字段。*
|
||
* **[docs/reference/cli.md](./docs/reference/cli.md)**
|
||
*作用:Server 与 Agent 可用的命令行参数、安装/卸载脚本参数等参考。*
|
||
* **[docs/reference/api.md](./docs/reference/api.md)**
|
||
*作用:管理端 API 与 Agent API 的响应结构、路径和详细鉴权约定。*
|
||
* **[docs/reference/deployment.md](./docs/reference/deployment.md)**
|
||
*作用:理解 Server 和 Agent 的单机、Docker 部署配置,以及 Agent 接入、升级、卸载和联调步骤。*
|
||
* **[docs/reference/server.md](./docs/reference/server.md)**
|
||
*作用:如何配置系统配置、服务环境变量并正确启动 Server 服务。*
|
||
* **[docs/reference/agent.md](./docs/reference/agent.md)**
|
||
*作用:理解 Agent 接入的 discovery/agent 令牌鉴权机制、本地配置文件及 Docker 部署参数。*
|
||
* **[docs/reference/upgrade.md](./docs/reference/upgrade.md)**
|
||
*作用:Server 及各代理节点 Agent 的升级步骤与维护策略。*
|
||
|
||
---
|
||
|
||
## 3. 新手与业务教程(Level 1)- 体验与排障参考 📘
|
||
|
||
如果任务涉及优化最终用户体验、丰富业务能力或排查常见故障,可参阅面向普通用户的指南:
|
||
|
||
### Level 1: 面向新手用户的教程文档 (Novice Tutorials)
|
||
* **[docs/guide/quick-start.md](./docs/guide/quick-start.md)**:五分钟内基于 Docker Compose 快速跑起 Server 和首个 Agent 节点的完整闭环。
|
||
* **[docs/guide/usage.md](./docs/guide/usage.md)**:反向代理网站、源站、证书托管、配置发布与回滚的常规界面操作与观测功能使用指南。
|
||
* **[docs/guide/sso.md](./docs/guide/sso.md)**:系统如何配置 GitHub OAuth 及标准 OIDC 第三方登录,以及绑定本地账户的流程。
|
||
* **[docs/guide/first-site.md](./docs/guide/first-site.md)**:从零开始配置、发布并验证第一个代理网站的完整步骤。
|
||
* **[docs/guide/troubleshooting.md](./docs/guide/troubleshooting.md)**:常见数据库迁移、节点离线、OpenResty 校验失败、SSL 证书失效等故障的表现症状及标准排障路径。
|
||
|
||
---
|
||
|
||
## 执行要求
|
||
|
||
* 如果实现内容超出 [产品边界](./docs/design/index.md),先修改设计文档,再继续编码。
|
||
* 如果实现方式违反 [开发约束](./docs/guildline/development-constraints.md),应优先调整方案,而不是绕过规范。
|
||
* 如果实现方式涉及后端代码逻辑,必须严格遵循 [docs/guildline/](./docs/guildline/) 下的所有开发准则。
|
||
* 如果需求与当前阶段原则冲突,优先遵守 [开发约束](./docs/guildline/development-constraints.md) 中的变更准入与验收标准。
|
||
* 如果任务涉及前端改造或管理端 UI,必须同时遵守 [开发约束](./docs/guildline/development-constraints.md) 中的前端规范。
|
||
|
||
## 文档维护要求
|
||
|
||
当以下内容发生变化时,应同步更新对应中文文档,不要同步英文文档:
|
||
|
||
* 产品范围或系统边界变化:更新 `docs/design/index.md`
|
||
* 系统结构、模块职责变化:更新 `docs/design/architecture.md`
|
||
* 发布、同步、回滚模型变化:更新 `docs/design/release-model.md`
|
||
* 业务分层、数据模型边界、接口约定、阶段原则、测试基线变化:更新 `docs/guildline/development-constraints.md`
|
||
* 后端开发规范、代码质量要求、重构模式、去重逻辑与避坑指南变化:更新 `docs/guildline/` 下的对应开发准则文件
|
||
* 产品启动、部署、升级、联调方式变化:更新 `docs/guide/quick-start.md`、`docs/reference/deployment.md` 和 `README.md`
|
||
* 用户操作路径、常见场景变化:更新 `docs/guide/usage.md`
|
||
* 本地开发、测试、构建方式变化:更新 `docs/design/development.md`
|
||
* 常见故障、排查路径变化:更新 `docs/guide/troubleshooting.md`
|
||
* 环境变量、命令行参数、运行时配置、Agent 配置变化:更新 `docs/reference/configuration.md`
|