Files
freemocap-source-analysis/AGENTS.md
2026-05-27 00:49:56 +08:00

39 lines
2.8 KiB
Markdown
Raw 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.
# FreeMoCap 源码解析 Agent Rules
## Must Read First
- 全项目规则真源:`/Users/kangwan/Projects/code/20260317-rules-dashboard/RULES.md`
- 全项目元数据规范:`/Users/kangwan/Projects/code/20260317-rules-dashboard/SCHEMA.md`
- `.project.json` 是机器真源:公网链接、快捷登录、凭证引用都以它为准
- `RULES.md` 是人工规则和部署事实:启动命令、平台、域名、注意事项都写这里
- 不允许编造不存在的域名、账号、密码;未知就保持空白并明确标记待补充
## Environment Consistency Contract
- 新建 Web / API / 后台服务 / 全栈 App 项目必须以 Docker 作为本地与线上共同运行基准
- 本地验证默认使用 `docker compose up --build`,不能只用宿主机 `npm run dev` / `pnpm dev` / `python main.py` 作为交付依据
- 线上部署必须复用同一套 `Dockerfile` / `docker-compose*.yml` 构建逻辑;`git push` 本身不等于线上容器更新
- 第一次形成可运行代码时,必须补齐 `Dockerfile``docker-compose.yml` 或等价 compose 文件、`.dockerignore``.env.example`
- 静态研究页、纯文档、macOS / iOS 原生 App、GPU / GUI / 特殊硬件项目可以例外,但必须在本项目 `RULES.md` 写明原因和实际运行环境
## Deployment Metadata Contract
- 任何任务只要新增、删除或修改公网地址,必须在同一次任务里更新 `.project.json`
- `urls[]` 推荐显式写 `type``app``backend``docs``admin``repo`
- 项目专属的网页登录信息,如果允许放进仓库,就写 `.project.json.quick_login`
- 不能直接入库的敏感登录,不要伪造 `quick_login`,改为写 `.project.json.credentials` 引用
- 数据库密码、API Key、服务器 root 密码,不属于 `quick_login`
- 部署时默认可以携带本地测试运行数据和密钥;助手只需先提醒风险,除非用户明确说“不带密钥 / 不带数据”
- 密钥只能作为运行时配置传输或写入服务器密钥管理,不得提交进 Git不得在聊天 / 日志 / `.project.json.quick_login` 中明文展开
## Completion Gate
- 每次开发结束前必须汇报 `git status -sb`
- 代码改动必须有人工语义 commit`auto-save` 只算安全快照
- 能推送时必须推到 Gitea `origin`,不能推送时说明 ahead/behind 和原因
- 新 Web / API / 后台服务 / 全栈 App 项目,上推前必须汇报 Docker build / compose 启动 / health check 或 smoke test 结果
- 替换或发布 App 时必须更新版本号、发布记录和回退包路径
- 部署完成后,不允许在 `.project.json` 缺少最新公网链接的状态下结束任务
- 部署完成后,必须同步更新 `RULES.md` 的部署事实
- 如果只更新了代码但没回写部署元数据,这个任务不算完成