init: project scaffold

This commit is contained in:
2026-05-27 00:49:56 +08:00
commit d430655541
9 changed files with 242 additions and 0 deletions

38
AGENTS.md Normal file
View File

@@ -0,0 +1,38 @@
# 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` 的部署事实
- 如果只更新了代码但没回写部署元数据,这个任务不算完成