3.0 KiB
3.0 KiB
AGENTS.md
Codex / AI coding agent 的仓库级入口。进入本仓库后,先读本文,再读
docs/00-ai-start-here.md。
项目定位
Dingding HRM 是一个 Go + Gin 本地 Web 应用,用于同步、浏览、搜索和导出钉钉多站点部门与人员数据。
本项目从旧 Python 脚本迁移而来。旧脚本只负责从钉钉 OpenAPI 拉取 JSON 文件;新项目要提供 SQLite 持久化、REST API、原生前端页面和可手动触发的数据同步。
Harness Coding 文档入口
本项目后续编码所需的 harness coding 文档都在 docs/ 目录中。Codex 开始编程时,不需要查找 README.md 或历史分析文件,直接按下面顺序读取 docs/ 即可。
| 文档 | 用途 |
|---|---|
docs/00-ai-start-here.md |
AI coding agent 的启动入口、阅读顺序、任务领取规则 |
docs/01-vision.md |
项目目标、用户、产品原则、非目标 |
docs/02-requirements.md |
MVP 需求、用户故事、验收标准 |
docs/03-tech-stack.md |
Go + Gin、SQLite、原生前端等技术选型 |
docs/04-architecture.md |
系统结构、职责边界、数据模型、开发顺序 |
docs/05-coding-rules.md |
写代码前必须遵守的硬规则 |
docs/06-tasks.md |
分阶段任务看板,每轮只领取一个任务 |
docs/api.md |
REST API 合约、错误格式、分页筛选约定 |
docs/routes.md |
原生前端页面路由和模块归属 |
docs/current-state.md |
当前代码现实、可运行命令、下一步任务 |
必读顺序
每次开始工作前,按顺序读取:
AGENTS.mddocs/00-ai-start-here.mddocs/05-coding-rules.mddocs/current-state.md- 与当前任务相关的具体文档
如果准备写代码,还必须查看 docs/06-tasks.md,只领取第一个状态为 TODO 且依赖均完成的任务。
技术硬约束
- 后端使用 Go + Gin。
- 数据库使用 SQLite。
- 前端不使用 Vue、React、Svelte、Angular、Element Plus、Vite 等框架或构建链。
- 前端使用原生 HTML/CSS/JavaScript,静态文件由 Gin 托管。
- 钉钉 OpenAPI 只能由后端调用,浏览器端不得直接请求钉钉接口。
- 密钥、token、真实手机号等敏感数据不得写入代码或文档样例。
工作规则
- 需求、API、数据模型或路由变化时,先更新
docs/中对应文档。 - 代码实现必须服从
docs/03-tech-stack.md、docs/04-architecture.md和docs/api.md。 - 不要引入旧方案中的 Vue / chi 技术栈;最终约束以
docs/为准。 - 不要在未确认的情况下引入前端依赖、后台任务库或 ORM。
- 每轮只做一个任务,做完后更新
docs/06-tasks.md和docs/current-state.md。
验证
当前尚未初始化代码。初始化后至少维护这些命令:
go test ./...
go build ./...
如果前端只是静态文件,验证应包含:
- Gin 启动后
/可访问。 /api/health返回正常。- 页面能通过同源
/api/*请求后端。