Prompt file imported from talkincode/Quicksilver (
.github/prompts/update.prompt.md). Copyright stays with the author.
Update 指令 - 项目状态分析与任务更新
用途: 自动分析项目当前开发阶段状态,并更新标记相关任务计划状态
触发时机:
- 完成重要功能模块后
- 完成阶段性里程碑时
- 需要同步项目进度时
- 发布新版本前
📋 执行步骤
第一步:代码分析
-
扫描项目文件结构
- 分析
internal/目录下的所有模块 - 检查每个服务文件的实现状态
- 统计测试文件的覆盖情况
- 分析
-
检查测试覆盖率
# 运行测试并生成覆盖率报告 make test-coverage- 分析每个模块的测试覆盖率
- 识别未测试或覆盖率低的代码
- 确认新增功能是否有对应测试
-
识别 TODO 和未完成任务
- 搜索代码中的
// TODO:标记 - 检查
// FIXME:和// XXX:标记 - 识别
⏳标记的待实现功能
- 搜索代码中的
第二步:状态评估
-
功能完成度评估
- 对比
PROJECT_STATUS.md中的计划任务 - 确认每个功能模块的实际进度
- 评估功能的质量和稳定性
- 对比
-
测试质量评估
- 检查单元测试覆盖率
- 评估集成测试完整性
- 确认关键业务逻辑是否有测试保障
-
技术债务识别
- 识别代码中的临时解决方案
- 发现性能优化机会
- 记录需要重构的代码
第三步:更新文档
-
更新
PROJECT_STATUS.md- 更新总体进度百分比
- 更新各阶段完成状态
- 更新已完成功能清单:
- 将已完成的
[ ]改为[x] - 添加实现时间和覆盖率
- 更新文件路径引用
- 将已完成的
- 更新测试覆盖率统计表
- 更新技术债务清单
- 更新已知问题列表
-
更新
CHECKLIST.md- 更新快速进度概览
- 更新阶段总览进度条
- 更新已完成功能列表
- 更新测试覆盖率表格
- 更新关键问题状态
-
更新里程碑记录
- 记录完成的里程碑
- 更新当前里程碑进度
- 规划下一个里程碑
第四步:生成报告
为用户生成简洁的进度更新报告,包含:
-
变更摘要
📊 进度更新 (YYYY-MM-DD) 总体进度: XX% → YY% (↑ Z%) ✅ 本次完成: - 功能 A (测试覆盖率 XX%) - 功能 B (测试覆盖率 XX%) 🚧 进行中: - 功能 C (预计 X 天) ⏳ 待开始: - 功能 D -
测试覆盖率变化
📈 覆盖率变化: - 模块 A: XX% → YY% - 模块 B: XX% → YY% - 总体: XX% → YY% -
下一步建议
🎯 建议优先处理: 1. [P0] 任务名称 (理由) 2. [P1] 任务名称 (理由)
🔍 分析检查清单
执行 update 指令时,需要检查以下项目:
代码实现检查
- 所有 Service 层文件是否有对应的
_test.go文件? - 新增的 API 端点是否有完整的测试?
- 数据库模型变更是否更新了测试用例?
- 是否有新的 TODO 标记需要记录?
测试覆盖检查
- Model 层覆盖率是否 = 100%?
- Service 层覆盖率是否 ≥ 60%?
- API 层覆盖率是否 ≥ 60%?
- Middleware 层覆盖率是否 ≥ 80%?
- 整体项目覆盖率是否 ≥ 50%?
功能完整性检查
- 基础设施层是否 100% 完成?
- 核心功能层完成度是多少?
- 撮合引擎是否已实现?
- CCXT 兼容性是否达标?
文档同步检查
-
PROJECT_STATUS.md进度是否准确? -
CHECKLIST.md是否同步更新? - 技术债务清单是否记录新问题?
- 已知问题列表是否更新?
📝 更新模板
PROJECT_STATUS.md 更新要点
-
更新时间戳
> **最后更新**: 2025-MM-DD > **当前版本**: MVP vX.X.X > **总体进度**: 约 XX% 完成 -
更新进度图
项目阶段进度图: ███████████████████████░░░░░ XX% 阶段 2: 核心功能 ██████████████████░░ XX% 🚧 接近完成 -
更新已完成功能
#### ✅ 功能名称 - [x] 子功能 A - [x] 子功能 B - [x] 完整单元测试 ✅ **XX% 覆盖** **文件**: - `path/to/file.go` - `path/to/file_test.go` ✅ **全部通过** **测试覆盖**:✅ 测试场景 A ✅ 测试场景 B
总计: X 个测试用例 ✅ 全部通过 覆盖率: ~XX%
-
更新测试覆盖率表
模块 覆盖率 测试文件 测试用例数 状态 ───────────────────────────────────────────────────────── internal/service/ XX.X% ✅ XX 个 ✅ 良好
CHECKLIST.md 更新要点
-
更新阶段进度
| 2️⃣ | 核心功能 | XX% ██████████████████░░ | 🚧 接近完成 | -
移动已完成任务
### 已完成功能 - [x] 功能名称 ✅ **XX% 覆盖** -
更新快捷命令引用 确保所有命令都可以正常运行
🤖 AI Agent 执行指南
当收到 "update" 或 "更新项目状态" 指令时:
-
自动执行以下操作:
- 运行
make test-coverage获取最新覆盖率 - 搜索所有
// TODO:标记 - 分析
internal/目录结构 - 读取当前
PROJECT_STATUS.md和CHECKLIST.md
- 运行
-
对比分析:
- 对比文档中的计划与实际实现
- 识别已完成但未标记的功能
- 发现新增的未记录功能
-
更新文档:
- 使用
replace_string_in_file工具直接更新文档 - 保持格式一致性
- 确保所有链接有效
- 使用
-
生成简洁报告:
- 不要创建新的 Markdown 文件
- 在对话中直接输出摘要
- 突出重要变更和建议
⚠️ 注意事项
-
保持文档一致性
PROJECT_STATUS.md是详细版CHECKLIST.md是精简版- 两者信息需要同步
-
测试覆盖率数据来源
- 必须从实际运行的测试报告获取
- 不要估算或猜测数值
- 记录测试用例数量
-
进度计算方式
总体进度 = (已完成任务数 / 总任务数) × 100% 阶段进度 = (该阶段已完成任务 / 该阶段总任务) × 100% -
优先级标记规范
- P0: MVP 必需功能(阻塞发布)
- P1: 增强功能(建议实现)
- P2: 长期规划(可延后)
🎯 执行示例
用户输入: "update" 或 "更新项目状态"
AI 执行流程:
# 1. 获取测试覆盖率
make test-coverage
# 2. 搜索 TODO 标记
grep -r "// TODO:" internal/
# 3. 读取当前文档
read PROJECT_STATUS.md
read CHECKLIST.md
# 4. 分析代码变更
git log --since="7 days ago" --oneline
# 5. 更新文档
replace_string_in_file(PROJECT_STATUS.md, ...)
replace_string_in_file(CHECKLIST.md, ...)
# 6. 输出报告
AI 输出示例:
✅ 项目状态已更新 (2025-11-05)
📊 进度变化:
- 总体进度: 65% → 70% (↑5%)
- 核心功能: 85% → 90% (↑5%)
✅ 本次完成:
- 订单处理服务 (75% 覆盖率, 7 个测试)
- 余额管理服务 (完整实现, 9 个测试)
📈 覆盖率提升:
- internal/service/: 60% → 74.5%
- 总体覆盖率: 51% → 56.7%
🎯 下一步建议:
1. [P0] 实现撮合引擎 (阻塞完整交易流程)
2. [P1] 补充 Config 层测试 (提升可靠性)
📝 文档已更新:
- PROJECT_STATUS.md
- CHECKLIST.md
记住:
- 简洁输出,不生成额外文档
- 数据真实,来自实际测试
- 突出变化,指明方向
- 保持一致,同步更新