
- 实现完整的邮件发送服务类,支持重试机制和错误处理 - 集成5种邮件模板(激活、密码重置、欢迎、通知、密码修改) - 创建Elysia邮件服务插件,支持便捷方法调用 - 添加完整的TypeScript类型定义和配置文件 - 编写全面的测试用例,覆盖所有功能 - 支持SMTP连接池、健康检查和状态监控 关联M2基础用户系统开发任务
58 lines
2.8 KiB
Plaintext
58 lines
2.8 KiB
Plaintext
---
|
||
alwaysApply: true
|
||
---
|
||
描述 (description):
|
||
全局模式 (globs):
|
||
始终应用 (alwaysApply): false
|
||
---
|
||
# 任务清单管理
|
||
|
||
管理Markdown文件中的任务清单以跟踪完成PRD进度的指南。
|
||
|
||
## 任务实施 (Task Implementation)
|
||
* **一次处理一个子任务:** 在询问用户并获得“yes”或“y”的许可之前,**不要**开始下一个子任务。
|
||
* **完成协议 (Completion protocol):**
|
||
1. 当你完成一个**子任务**时,立即通过将 `[ ]` 改为 `[x]` 将其标记为已完成。
|
||
2. 如果一个父任务下的**所有**子任务现在都是 `[x]`,则按以下顺序执行:
|
||
* **首先:** 运行完整的测试套件(`pytest`, `npm test`, `bin/rails test` 等)。
|
||
* **仅当所有测试通过时:** 暂存更改 (`git add .`)。
|
||
* **清理:** 提交前删除所有临时文件和临时代码。
|
||
* **提交 (Commit):** 使用描述性的提交消息:
|
||
* 采用常规提交格式 (`feat:`, `fix:`, `refactor:`, 等)。
|
||
* 总结父任务中完成的内容。
|
||
* 列出关键的更改和新增。
|
||
* 引用任务编号和PRD上下文。
|
||
* **使用 `-m` 标志将消息格式化为单行命令**,例如:
|
||
```
|
||
git commit -m "feat: 添加支付验证逻辑" -m "- 验证卡类型和有效期" -m "- 为边界情况添加单元测试" -m "关联PRD中的T123"
|
||
```
|
||
3. 一旦所有子任务标记为完成且更改已提交,将**父任务**标记为完成 (`[x]`)。
|
||
* 完成每个子任务后停止并等待用户的批准 (`go-ahead`)。
|
||
|
||
## 任务清单维护 (Task List Maintenance)
|
||
|
||
1. **边工作边更新任务清单:**
|
||
* 按照上述协议将任务和子任务标记为完成 (`[x]`)。
|
||
* 添加新出现的任务。
|
||
* **注意,每完成一个子任务时,都要更新任务清单状态**
|
||
2. **维护“相关文件”部分:**
|
||
* 列出每个创建或修改的文件。
|
||
* 为每个文件提供一行其用途描述。
|
||
|
||
## AI 指令 (AI Instructions)
|
||
|
||
当使用任务清单时,AI 必须:
|
||
|
||
1. 完成任何重要工作后定期更新任务清单文件。
|
||
2. 遵守完成协议:
|
||
* 将每个完成的**子任务**标记为 `[x]`。
|
||
* 一旦其**所有**子任务都是 `[x]`,将**父任务**标记为 `[x]`。
|
||
3. 添加新发现的任务。
|
||
4. 保持“相关文件”准确且最新。
|
||
5. 开始工作前,检查下一个子任务是什么。
|
||
6. 实现一个子任务后,更新文件,然后暂停等待用户批准。
|
||
7. 在执行任务前请扫描项目目录
|
||
8. 完成一个子任务后,提交git
|
||
9. 将已完成的任务归档到tasks的归档目录archive并修改文件名,文件名前添加时间
|
||
10. 将需求prd也归档
|