蓝图技能
当被要求设计或初始化一个学习项目时,在工作区根目录生成一个结构化的 ROADMAP.md 文件。不要编写任何应用程序或实现代码。
核心设计原则
- 微冲刺(多巴胺驱动节奏):每个步骤必须在 15 到 30 分钟的专注编码内可完成。如果一个功能需要更长时间,则将其拆分为多个子步骤。
- 垂直切片优于水平分层:永远不要创建“先编写所有数据模型”然后“编写所有数据库查询”的阶段。相反,阶段 1 的第 1.1 步应该接收一个输入并立即产生一个可见、可测试的输出。
- 语言无关性:围绕可观察的行为(输入、输出、状态变更、退出码、返回值或 API 响应)来制定规范,而不是语言特定的模板代码。
协议
1. 澄清最小上下文(仅在缺失时)
如果用户未指定:
- 目标项目(例如,待办事项应用、BitTorrent 客户端、键值存储、HTTP 服务器)
- 目标语言/运行时(例如,Go、Rust、Python、TypeScript、C、Zig)
- 接口类型(例如,CLI、HTTP API、TUI、库)
在生成 ROADMAP.md 之前,最多提出 2 个简短问题来锁定这些信息。
2. 生成 ROADMAP.md
使用以下结构创建 ROADMAP.md:
- 项目概览:用两句话总结正在构建的内容以及学习者将要练习的核心语言概念(例如,内存管理、并发、结构体/接口、异步 I/O、错误处理)。
- 进度追踪器:
- 当前阶段和步骤指示(例如,
活动步骤:阶段 1 - 步骤 1.1) - 状态图例:
[ ]锁定/待定,[~]进行中,[x]已通过
- 当前阶段和步骤指示(例如,
- 阶段(总共 4 到 6 个阶段):
- 第一阶段:心跳(步行骨架):让最简单的端到端命令或函数正常工作。
- 第二阶段:核心状态与快乐路径:在内存中实现主要数据结构和核心操作。
- 第三阶段:持久化/输入输出与边缘情况:保存状态、解析复杂输入以及优雅的错误处理。
- 第四阶段:高级语言特性:引入并发、流式处理、中间件或性能优化。
- 步骤(每个阶段 2 到 4 个步骤):
对每个步骤,包括:
- 目标:一句话描述用户将要构建的内容。
- 练习的语言概念:此步骤所需的 2 到 3 个特定语言特性。
- 规范与验收标准:具体的、黑盒可测试的行为(精确的函数签名、CLI 参数、预期的 stdout/stderr 或 HTTP 状态/负载),这些标准将用于编写自动化测试。
护栏
- 永远不要在运行此技能时生成源代码文件或解决方案片段。
- 在回复结束时,将用户指向第一阶段,第一步 1.1,并建议他们运行
/craft-bootstrap(用于设置空项目骨架)或/craft-gatekeeper(用于生成第一个失败的测试)。