# AGENTS.md — 中科兴皖一体化门户(zkxw) ## 工程与查阅范围 共享 FastAPI 后端的四应用仓库。项目说明见 [README](README.md),文档入口见 [docs/README](docs/README.md)。 | 目录 | 职责 | 专用规则 | | --- | --- | --- | | `backend/` | API、权限、业务数据、工作流与 OA 引擎 | [backend/AGENTS.md](backend/AGENTS.md) | | `web-admin/` | Vue 3 管理端 | [web-admin/AGENTS.md](web-admin/AGENTS.md) | | `mobile-h5/` | HBuilderX uni-app,小程序及移动宿主 | [mobile-h5/AGENTS.md](mobile-h5/AGENTS.md) | | `mobile-oa-h5/` | Vue/Vant H5,OA 表单与市场业务 | [mobile-oa-h5/AGENTS.md](mobile-oa-h5/AGENTS.md) | 修改前阅读目标目录规则;跨端改动同时阅读涉及端的规则。 ## 工作方式 - 用户使用中文时用简体中文沟通;代码命名、注释、格式遵循所在模块。 - 仅做任务必要的改动,不夹带无关重构或全仓库格式化;保留用户已有改动。 - **不得自行停止、启动或重启 `web-admin` 开发服务与 `backend` 服务。** 需要重启时告知用户,由用户操作。 - 提交使用 Conventional Commits,完整说明“改了什么、为什么”。 - 不把真实凭据、业务导出、虚拟环境、构建产物和工具临时状态新增到版本管理。 - 清理文件前核查代码、测试、脚本、部署及文档引用;不能只凭名称、日期或搜索无结果删除。 ## 跨端数据与权限底线 - 业务查询必须按当前用户 `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 工程标准](openspec/changes/zkxw-engineering-standards/specs/)。按改动范围查阅 API、数据库、权限、编码、架构、工作流及 UI 专题。 - Web UI:[Fresh Mint 规范](docs/web-admin-ui-spec-fresh-mint.md)、[P01–P27 模式索引](docs/web-admin-ui-pattern-index.md)。主色 `#10b981`,不得混入移动端主色。 - 移动 UI:[移动端规范](docs/miniprogram-ui-spec-sanqiang.md)。规范品牌绿 `#0a9f6d`;现有 Token 存在差异,按各端 AGENTS 记录处理,禁止直接套用 Web 主色。 - Cursor 配置仅作入口,不再独立维护另一套规则。规范与实现冲突需查明依据,不以代码现状默认为新规范。 - OpenSpec 长期规范尚未完成归档;不要因 `openspec/specs/` 目录存在就认定其中已有基线。 ## 验证与交付 - 执行与改动范围相符的检查,报告实际结果和未执行项;文档变更检查链接与引用,业务变更检查受影响测试及构建。 - CRUD 字段一致性按 [开发指南](docs/dev-field-consistency.md) 检查;根目录命令是 `python backend/scripts/check_field_consistency.py`。该工具仅覆盖注册实体,已知失效路径见该指南。 - 使用源码、引用检索和测试核对影响范围。已移除的 graphify 不再是开发依赖或交付步骤,不安装、运行或恢复其自动 hook。 ## 维护边界 - 当前 SQL 初始化基线不完整,部分测试引用的迁移文件已缺失;未验证前不宣称可从空库部署。 - 业务历史方案、执行计划、Demo 与整理报告已清理;保留四个应用目录、现行工程规范及被部署或脚本读取的 SQL、SOP 等资源。 - 文档优先更新现有 README 或规范入口,避免重复生成历史业务方案和整理报告。 - 更改规则应同步唯一的对应入口,不在多个文件复制完整细则。