Files
OpenIsle/AGENTS.md
2026-02-11 19:52:53 +08:00

79 lines
3.6 KiB
Markdown
Raw Permalink 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.
# OpenIsle 协作指引(根目录)
## 1) 适用范围与优先级
- 本文件作用于整个仓库。
- 若子目录存在 `AGENTS.md`,以“最近目录”的规则为准(就近覆盖)。
- 没有子目录规则时,回退到本文件。
## 2) 仓库地图(高频模块)
- `backend/`Spring Boot 主后端JPA、Redis、RabbitMQ、OpenSearch、OpenAPI
- `frontend_nuxt/`Nuxt 3 前端SSR + WebSocket + OAuth 回调页)。
- `websocket_service/`:独立 WebSocket/STOMP 服务(消费 RabbitMQ 通知并推送)。
- `mcp/`Python MCP Server封装搜索、发帖、回复、通知等工具
- `docs/`Fumadocs 文档站(含 OpenAPI 生成)。
- `deploy/`:生产/预发部署脚本。
- `bots/`:定时 Bot 脚本(由 GitHub Actions 调度)。
## 3) 全局工作原则
- 小步修改:仅改当前任务相关文件,不做无关重构。
- 先对齐契约,再改实现:优先保证 API、消息结构、环境变量名称稳定。
- 变更需可验证:提交前给出最小可执行验证命令与结果。
- 安全优先:禁止提交密钥、令牌、生产凭证。
## 4) 任务路由(先判定影响面)
- 仅后端业务逻辑:进入 `backend/AGENTS.md`
- 仅前端页面交互:进入 `frontend_nuxt/AGENTS.md`
- 实时消息/在线通知:同时看 `backend/` + `websocket_service/` + `frontend_nuxt/`
- API/DTO/鉴权变更:至少看 `backend/` + `mcp/` + `docs/`
- 部署链路变更:进入 `deploy/AGENTS.md`,并附风险与回滚方案。
## 5) 跨服务不变量(必须遵守)
- 环境变量以根目录 `.env.example` 为统一基线;变量改名需同步消费端。
- 鉴权链路一致:
- 后端 JWT`backend/src/main/java/com/openisle/config/SecurityConfig.java`
- WebSocket JWT`websocket_service/src/main/java/com/openisle/websocket/config/WebSocketAuthInterceptor.java`
- RabbitMQ 分片一致16 个十六进制分片 + 兼容遗留队列):
- `backend/src/main/java/com/openisle/config/RabbitMQConfig.java`
- `backend/src/main/java/com/openisle/config/ShardingStrategy.java`
- `websocket_service/src/main/java/com/openisle/websocket/listener/NotificationListener.java`
- API 契约变更要同步:
- MCP schema/tool`mcp/src/openisle_mcp/schemas.py``mcp/src/openisle_mcp/server.py`
- 文档生成:`docs/scripts/generate-docs.ts``docs/lib/openapi.ts`
## 6) 最小验证矩阵(按改动类型)
- 后端改动:`cd backend && mvn test`
- 前端改动:`cd frontend_nuxt && npm run build`
- WebSocket 服务改动:`cd websocket_service && mvn test`(无测试可退化为 `mvn -DskipTests compile`
- MCP 改动:`cd mcp && python -m pip install -e .`
- Docs/OpenAPI 改动:`cd docs && bun run generate && bun run build`
- 部署脚本改动:`bash -n deploy/deploy.sh && bash -n deploy/deploy_staging.sh`
## 7) 交付清单(每次任务输出建议)
- 改了什么:按文件列出核心变更点。
- 为什么改:说明触发原因/缺陷点/一致性要求。
- 如何验证:给出实际执行命令与结果摘要。
- 风险与后续:列出剩余风险、可选回归点、回滚建议。
## 8) 禁止事项
- 不提交 `.env`、密钥、生产 token。
- 不在未明确授权下执行破坏性命令(如大范围删除、强制重置)。
- 不在无关文件中进行格式化/重排以“顺手优化”。
## 9) Agent 开发规范
- 开发前需先 `checkout` 新分支,并在该分支完成提交。
- 分支命名格式:
- 新功能:`feature/<简要描述>`
- 缺陷修复:`bugfix/<简要描述>`
- 提交信息格式:
- 新功能:`feat: <简要描述>`
- 缺陷修复:`bugfix: <简要描述>`