# 任务看板(Tasks) > 把 MVP 拆成小步、可独立交付的任务,让 AI 一步一步开发,避免一次生成整个项目。 ## 使用规则 1. 一次只做一个任务:每轮只领取一个状态为 `TODO`、且依赖均已 `DONE` 的任务,取最靠前的那个。 2. 做完即停:完成该任务、自测通过、把状态改成 `DONE` 后,停下来汇报。 3. 不跳步:依赖未完成的任务不能开工。 4. 完成定义:以 [编码规则](05-coding-rules.md) 的验证清单为准。 5. 动手前先读 `00-ai-start-here.md`、`05-coding-rules.md` 和 `current-state.md`。 ## 状态图例 `TODO` 待开始 · `DOING` 进行中(同一时间最多 1 个)· `DONE` 已完成并验收 · `BLOCKED` 受阻(注明原因) --- ## Phase 0 · 地基 | ID | 任务 | 依赖 | 验收要点 | 状态 | | --- | --- | --- | --- | --- | | T-001 | 初始化 Go + Gin 项目骨架 | - | `go run .` 启动;`/api/health` 返回正常;`/` 返回静态首页 | TODO | | T-002 | 建立配置、日志和目录结构 | T-001 | 目录符合 `04-architecture.md`;配置不含真实密钥;默认数据库路径可用 | TODO | | T-003 | 建立 SQLite 迁移和基础测试 | T-002 | 表结构与架构文档一致;`go test ./...` 可运行 | TODO | ## Phase 1 · 钉钉接口验证 | ID | 任务 | 依赖 | 验收要点 | 状态 | | --- | --- | --- | --- | --- | | T-101 | 实现站点 CRUD API | T-003 | 可新增、查询、更新、删除站点;列表不返回明文 secret | TODO | | T-102 | 实现钉钉 token client | T-101 | 用站点配置获取 token;错误响应可读;不记录 token 明文 | TODO | | T-103 | 实现部门和用户 API client | T-102 | 能封装拉子部门、部门 userid、用户详情三个调用 | TODO | ## Phase 2 · 同步与查询 API | ID | 任务 | 依赖 | 验收要点 | 状态 | | --- | --- | --- | --- | --- | | T-201 | 实现全量同步服务 | T-103 | 从根部门拉部门树、用户详情并写入 SQLite;同步日志完整 | TODO | | T-202 | 实现部门查询 API | T-201 | `/api/sites/{id}/departments` 返回可组树的数据 | TODO | | T-203 | 实现人员查询 API | T-201 | 支持 keyword、dept_id、active、page、size | TODO | | T-204 | 实现导出 API | T-203 | 支持 JSON 和 CSV;导出结果服从筛选参数 | TODO | | T-205 | 实现统计和同步日志 API | T-201 | 首页可获得站点概览和最近同步结果 | TODO | ## Phase 3 · 原生前端 | ID | 任务 | 依赖 | 验收要点 | 状态 | | --- | --- | --- | --- | --- | | T-301 | 实现应用外壳和站点概览 | T-205 | `/` 展示站点、统计、同步状态和入口按钮 | TODO | | T-302 | 实现站点配置页面 | T-101 | 可维护站点;secret 输入后不在列表明文展示 | TODO | | T-303 | 实现部门浏览页面 | T-202, T-203 | 左侧部门树,右侧部门成员列表 | TODO | | T-304 | 实现人员搜索页面 | T-203, T-204 | 关键词、筛选、分页、导出可用 | TODO | | T-305 | 接入同步操作和状态反馈 | T-201, T-205, T-301 | 页面可触发同步并展示成功 / 失败 | TODO | ## Phase 4 · 收尾与发布 | ID | 任务 | 依赖 | 验收要点 | 状态 | | --- | --- | --- | --- | --- | | T-401 | 完整验收 MVP | T-305 | `02-requirements.md` 的 P0 验收全部通过 | TODO | | T-402 | 完善运行和打包文档 | T-401 | `AGENTS.md`、`CLAUDE.md` 和 `docs/current-state.md` 写清运行方式;无真实密钥进入仓库 | TODO | ## 里程碑 - M1:最小 Go + Gin + SQLite 地基完成。 - M2:钉钉接口封装验证完成。 - M3:同步、查询、导出 API 完成。 - M4:原生前端 MVP 完成。 - M5:可交付 / 可运行。 ## 待办池(Backlog) - 定时同步。 - 登录和权限。 - 旧 JSON 数据导入。 - 人员 / 部门变更历史。 - 密钥本地加密存储。