4.1 KiB
Repository Guidelines
项目结构
仓库分为 frontend/ 和 backend/ 两部分。前端是 Vue 3 + Vite,主要代码在 frontend/src/:页面在 src/views/,通用组件在 src/components/,接口封装在 src/api/,状态管理在 src/stores/,路由在 src/router/。后端是 Express + TypeScript,代码在 backend/src/,按 routes/、controllers/、middleware/、utils/ 分层。数据库模型统一在 backend/prisma/schema.prisma。部署相关文件在仓库根目录:docker-compose.yml、Dockerfile、deploy.sh。
构建、运行与开发命令
首次进入前后端目录分别执行 npm install。
cd frontend && npm run dev:启动前端开发环境。cd frontend && npm run build:执行类型检查并打包前端。cd backend && npm run dev:用nodemon + ts-node启动后端。cd backend && npm run build:编译后端到dist/。cd backend && npm run prisma:generate:Prisma 模型变更后重建客户端。cd backend && npm run prisma:migrate:生成并应用本地数据库迁移。docker compose up --build:同时启动 MySQL、后端、前端。
代码风格与命名
项目以 TypeScript 为主,现有代码统一使用 2 空格缩进。Vue 组件文件使用 PascalCase,如 EquipmentForm.vue;接口、store、工具模块使用语义化名称,如 equipment.ts、storageLocation.ts。新增功能时,尽量保持前端 API 名称、后端路由、控制器按同一业务域对应,方便排查问题。
测试与验证
当前仓库没有现成自动化测试脚本,因此每次改动后至少执行 frontend 和 backend 的 npm run build。涉及接口改动时,还应手动验证对应页面流程,并检查 GET /api/health。涉及 Prisma 或数据库结构调整时,额外执行 npm run prisma:generate,确认相关增删改查正常。若后续补测试,建议使用 *.spec.ts 命名。
提交与合并请求
当前 Git 历史很少,只有初始提交,没有强约束格式。建议提交信息使用简短中文,写清“改了什么”,例如:后端:修复借用记录筛选条件。Pull Request 需要说明变更范围、验证方式、是否影响数据库或部署;前端页面改动建议附截图,接口或表结构改动要明确标注兼容性影响。
配置与安全
不要提交真实密码、数据库连接串或生产环境地址。DATABASE_URL、会话密钥、认证模式等应通过环境变量管理。修改 docker-compose.yml、认证配置或对外端口时,先确认是否会影响本地联调和线上部署。
远程操作规则
服务器 1.13.22.133 同时运行两套系统:
- 固定资产系统:
/opt/equipment-management,对应equipment-*容器 - 摄影棚摄影器材借还系统:
/opt/shebeiguanli,对应shebeiguanli-*容器
后续远程自动化默认统一优先使用 plink,避免依赖人工输入密码。对服务器的代码同步、部署、日志查看和数据库检查,只能操作固定资产系统这套资源,不能进入 shebeiguanli 目录,也不能重建、停止或修改 shebeiguanli-* 容器。
Multi-Agent 团队分工
推荐使用 4 个角色,保持团队小而清晰。
- 主控 / 集成代理:负责拆任务、安排子代理、收敛方案、做最终验收;默认可读全仓库,但不要直接承担大批量业务改动。
- 前端业务代理:只负责
frontend/src/views/、frontend/src/components/、frontend/src/api/、frontend/src/stores/、frontend/src/router/,处理页面、交互、表单、状态和前端接口联调。 - 后端业务代理:只负责
backend/src/routes/、backend/src/controllers/,处理资产、借还、搜索、统计、人员等业务接口。 - 数据与系统代理:只负责
backend/prisma/、backend/src/middleware/、backend/src/utils/、认证配置、docker-compose.yml、Dockerfile、deploy.sh,处理数据库结构、权限、认证、部署和环境问题。
协作时尽量避免跨边界改动:前端代理不直接改 Prisma,后端业务代理不直接动 Docker,数据与系统代理不直接改页面。