chore: 初始化仓库基线(AGENTS.md、git 规范、敏感文件排除)

This commit is contained in:
weijuesen
2026-08-10 22:30:53 +08:00
commit 84abf4454c
358 changed files with 75993 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
# AGENTS
## 沟通规则
1. 先说明结论,再说明影响和后续操作。
2. 除非项目约定另有要求,否则使用用户偏好的语言。
3. 交付说明应聚焦于修改的文件、验证结果和风险。
4. 对不清楚的需求或不可逆选择,执行前先向用户确认。
5. 创建或重写本指令文件前,询问用户该文件应使用哪种语言。
## 项目结构
本仓库是「智慧蚕房环境监测与智能调控系统」多模块 monorepo,各目录职责边界如下:
1. `server-go/` — Go 后端(Go 1.23Gin + GORM),入口为 `cmd/server/main.go`;提供 REST API(默认 :3000)、WebSocket `/ws`、视频代理 `/live/proxy`;消费 MQTT 遥测并处理阈值告警、设备控制、RBAC;依赖 PostgreSQL、IoTDB、Valkey/Redis、Ceph S3、WVP/ZLM、recorder-go。
2. `web/` — Web 后台前端(Vite + React + TypeScript + Ant Design),开发端口 5173`/api` 代理到后端 :3000。
3. `app/` — React Native 移动端(RN 0.74),后端地址通过 `.env` 配置(参考 `.env.example``API_BASE_URL`)。
4. `miniapp/` — 微信小程序(Taro 4 + React + TypeScript + Sass);`project.config.json``miniprogramRoot` 指向 `dist/`,该目录是 Taro 构建产物,不得手改。
5. `wvp/` — WVP-PRO + ZLMediaKit 视频平台(`docker-compose.yml` 包含 WVP、ZLMediaKit、MySQL、Redis),并含 `recorder-go`(Go 连续录制服务,默认 :9090)与 Dockerfile。
6. 根目录文档 — `README.md``部署指南(物理机).md``变更记录.md``故障排查处理记录.md``物联网设备接口和数据格式.md` 等为项目说明与部署运维依据。
生成文件及其来源命令:
1. `miniapp/dist/` — 由 `npm run dev:weapp` / `npm run build:weapp` 生成。
2. `web/dist/` — 由 `npm run build` 生成。
3. `app/android/app/build/outputs/apk/release/app-release.apk` — 由 `cd android && gradlew assembleRelease` 生成。
4. `server-go/server-go-linux` — 由 `go build -o server-go-linux ./cmd/server` 交叉编译生成。
## 编码规则
1. 遵循现有命名、分层、错误处理和格式化约定。
2. 将修改范围限制在用户请求的任务内。
3. 不得覆盖用户无关的已有修改。
4. 不得猜测或编造缺失的需求、事实、约定或技术决策。
5. 根据用户明确输入、仓库文件、配置、文档或命令输出验证相关结论。
6. 如果相关细节不确定、有歧义、存在冲突或无法验证,必须停止并先向用户确认,再继续操作。
7. 不得手改生成产物(如 `miniapp/dist/``web/dist/`、编译后的 APK、`server-go-linux`);需要改动时先修改源文件或源 schema,再重新生成。
## 安装与配置
1. 后端:`cd server-go && go build -o server-go-linux ./cmd/server`;开发运行用 `go run ./cmd/server`。必需环境变量以 README「Go 后端环境变量」为准:`PG``REDIS``JWT_SECRET``JWT_EXPIRES_IN``MQTT``IOTDB_URL``WVP_API_BASE``ZLM_API_BASE``RECORDER_API_BASE``S3_ENDPOINT``S3_ACCESS_KEY``S3_SECRET_KEY``S3_BUCKET``PORT``DEFAULT_ADMIN_USERNAME``DEFAULT_ADMIN_PASSWORD`
2. Web 前端:`cd web && npm install && npm run dev`;生产构建 `npm run build`
3. React Native APP`cd app && npm install`,按 `app/.env.example` 配置 `API_BASE_URL`,然后 `npm start` / `npm run android`
4. 微信小程序:`cd miniapp && npm install && npm run dev:weapp`;生产构建 `npm run build:weapp`,产物输出到 `dist/`
5. WVP 视频平台:`cd wvp && docker compose up -d`
6. 选择未明确指定的技术栈、包管理器、数据库、运行时、部署目标或外部服务前,必须先获得用户确认。
7. 初始化项目时,如果技术栈尚未明确,应先让用户选择技术栈,再创建项目文件。
8. 不得将密钥写入需要提交的文件;需要环境配置时使用占位值创建 `.env.example`
## 验证
1. 常规修改的针对性检查:Go 后端 `go build ./...`Web `npm run lint``npm run build`APP `npm run lint``npm run tsc`;小程序 `npm run build:weapp`
2. 共享行为修改或发布工作执行更广泛检查:后端 `go test ./...``go vet ./...`,前端构建产物可用性检查。
3. 如果检查无法运行(缺少依赖、网络受限等),必须清楚报告确切命令和失败原因。
## 代码审查
1. 审查修改的正确性、回归风险、安全性、可维护性和测试覆盖率。
2. 按严重程度排列审查发现,并尽可能提供文件和行号引用。
3. 具体问题优先于总结;如果没有发现问题,应明确说明。
4. 指出影响发布风险的未验证行为、缺失测试或尚未解决的不确定项。