init: project scaffold
This commit is contained in:
38
AGENTS.md
Normal file
38
AGENTS.md
Normal 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` 的部署事实
|
||||
- 如果只更新了代码但没回写部署元数据,这个任务不算完成
|
||||
Reference in New Issue
Block a user