Create issues for new unnumbered development requests, read supplied issues before implementation and reuse the active issue for follow-ups. Report repaired, acceptance, merge and release states separately.
4.9 KiB
4.9 KiB
AGENTS.md — 中科兴皖一体化门户(zkxw)
工程与查阅范围
共享 FastAPI 后端的四应用仓库。项目说明见 README,文档入口见 docs/README。
| 目录 | 职责 | 专用规则 |
|---|---|---|
backend/ |
API、权限、业务数据、工作流与 OA 引擎 | backend/AGENTS.md |
web-admin/ |
Vue 3 管理端 | web-admin/AGENTS.md |
mobile-h5/ |
HBuilderX uni-app,小程序及移动宿主 | mobile-h5/AGENTS.md |
mobile-oa-h5/ |
Vue/Vant H5,OA 表单与市场业务 | mobile-oa-h5/AGENTS.md |
修改前阅读目标目录规则;跨端改动同时阅读涉及端的规则。
工作方式
- 用户使用中文时用简体中文沟通;代码命名、注释、格式遵循所在模块。
- 仅做任务必要的改动,不夹带无关重构或全仓库格式化;保留用户已有改动。
- 不得自行停止、启动或重启
web-admin开发服务与backend服务。 需要重启时告知用户,由用户操作。 - 提交使用 Conventional Commits,完整说明“改了什么、为什么”。
- 需求开发与 Bug 修复:用户给出 Gitea 工单编号或链接时,先读取该工单描述、评论和验收条件再处理;未给编号时,先在当前工程 Gitea 仓库创建工单,再开发。继续当前已关联任务时复用原工单,不重复创建;已有授权下由 AI 创建和回写,不再要求用户代建。
- 修复后回写工单,附提交、PR、验证结果及未完成项,标注“已修复”;待验收、未合并或未发布须分别说明,不能以“已修复”代替验收和关闭条件。
- 不把真实凭据、业务导出、虚拟环境、构建产物和工具临时状态新增到版本管理。
- 清理文件前核查代码、测试、脚本、部署及文档引用;不能只凭名称、日期或搜索无结果删除。
跨端数据与权限底线
- 业务查询必须按当前用户
tenant_no隔离并应用数据权限;写入租户来自认证上下文,不信任客户端覆盖。多租户管理例外须有安全评审。 - 菜单和数据权限使用所有有效角色的并集;选中子菜单必须包含祖先菜单。Web 与移动菜单使用各自
parent_id=0的虚拟根。 - 租户管理仅
super_admin可访问,其他系统管理运行在租户上下文。 - 业务数据软删除(
del_flag=1),查询默认排除已删除数据。 - 保存子行使用
backend/app/crud/child_row_sync.py:原行更新、新行插入、只软删除移除行,禁止全删重建。拒绝其他父记录或租户的 ID;复制时生成新 ID。 - 细胞存储样本跨表匹配使用
tenant_no + sample_code,不用可变化的协议关联 ID 作为匹配键。 - 业务附件使用 MinIO;单字段多附件按英文逗号分隔 URL,前后端解析一致。
- 数据库变更维护
docs/sql/,同时检查 API Schema、CRUD、前端字段及类型;不绕过鉴权、加密、审计中间件。
规范入口
- 工程 SHALL 要求:OpenSpec 工程标准。按改动范围查阅 API、数据库、权限、编码、架构、工作流及 UI 专题。
- Web UI:Fresh Mint 规范、P01–P27 模式索引。主色
#10b981,不得混入移动端主色。 - 移动 UI:移动端规范。规范品牌绿
#0a9f6d;现有 Token 存在差异,按各端 AGENTS 记录处理,禁止直接套用 Web 主色。 - Cursor 配置仅作入口,不再独立维护另一套规则。规范与实现冲突需查明依据,不以代码现状默认为新规范。
- OpenSpec 长期规范尚未完成归档;不要因
openspec/specs/目录存在就认定其中已有基线。
验证与交付
- 执行与改动范围相符的检查,报告实际结果和未执行项;文档变更检查链接与引用,业务变更检查受影响测试及构建。
- CRUD 字段一致性按 开发指南 检查;根目录命令是
python backend/scripts/check_field_consistency.py。该工具仅覆盖注册实体,已知失效路径见该指南。 - 使用源码、引用检索和测试核对影响范围。已移除的 graphify 不再是开发依赖或交付步骤,不安装、运行或恢复其自动 hook。
维护边界
- 当前 SQL 初始化基线不完整,部分测试引用的迁移文件已缺失;未验证前不宣称可从空库部署。
- 业务历史方案、执行计划、Demo 与整理报告已清理;保留四个应用目录、现行工程规范及被部署或脚本读取的 SQL、SOP 等资源。
- 文档优先更新现有 README 或规范入口,避免重复生成历史业务方案和整理报告。
- 更改规则应同步唯一的对应入口,不在多个文件复制完整细则。