🚀 在 Trae 中复刻 Kiro Spec 体验:Spec 驱动开发的初步实践
你是否体验过 Kiro Spec 那种“思考先行,编码在后”的流畅编程体验?
在 AI 辅助编程的时代,我们经常遇到的问题不是 AI 写不出代码,而是 AI 写不对代码。一旦项目稍微复杂一点,AI 就容易丢失上下文、产生幻觉,或者写出一堆逻辑不自洽的“屎山”。
核心原因在于:我们跳过了软件工程中最重要的一环 —— 设计。
今天,我想分享如何在 Trae IDE 中,通过一套 Spec-Driven Development (SDD) trae 规则提示词,实现 Kiro 中的 spec 编程体验。这不仅仅是一个工具,更是一种让 AI 变身“高级架构师”的开发范式。
💡 核心理念:Spec-Driven Development (SDD)
在 Kiro spec 模式中,AI 不会一上来就写代码,而是先写 Spec。在 Trae 中,我们通过 TraeSpec 规则提示词,将这一流程标准化为三个核心步骤:
- Requirements (需求):明确“我们要解决什么问题”。
- Design (设计):规划“我们该如何解决”。
- Tasks (任务):拆解“我们需要做哪些具体步骤”。
这看似繁琐,实则是磨刀不误砍柴工。通过这三步,我们为 AI 构建了一个无比清晰的上下文环境,让后续的编码变成一种确定性的执行,而不是“抽卡式”的尝试。
🛠️ 准备工作:一键设置 Trae rules
为了让这套流程在 Trae 中无缝运行,我开发了一套自动化工具 TraeSpec。它能帮你一键将 Spec 规则提示词注入到任何项目中。
获取工具与源码:
你可以从 GitHub 仓库获取最新的 TraeSpec 工具包。如果这个项目对你有启发,欢迎点个 Star 🌟 支持一下!
- GitHub 地址:github.com/ylubi/traeS…
- 快速开始:下载traeSpec 后,进入traeSpec目录,运行脚本
.\trae_spec.ps1或者.\trae_spec.sh。
初始化项目规范: 只需在终端运行一条命令,即可让当前项目支持 SDD 开发流程:
.\trae_spec.ps1 --path .\temp\snakeX
图1:TraeSpec 工具在终端中运行初始化命令
💡 截图提示 1:展示在 Trae 终端中运行命令,以及运行后
.trae/rules/目录下生成的requirements_spec.md等文件的结构。
图2:snakeX 项目初始化后的 .trae/rules 目录结构
🎮 实战演示:从 0 到 1 的编程体验
让我们看看在 Trae 中,这套流程是如何运转的。
第一步:需求分析 (Requirements)
当你告诉 Trae “我想做一个贪吃蛇游戏”时,它不会直接给你甩代码,而是会根据 requirements_spec.md 的指引,先生成一份详细的 requirements.md。
这份文档包含:
- 用户故事:明确谁在用,用什么功能。
- 验收标准:明确什么样的功能才算合格(Given-When-Then)。
- 术语表:统一项目中的专业术语。
体验感受:你会感觉 AI 真的在听你说话,并且在帮你梳理思路,甚至指出你没想到的边缘情况。
图3:Trae 根据 requirements_spec.md 生成的需求文档
💡 截图提示 2:展示 Trae 生成的
requirements.md文件内容预览。
第二步:系统设计 (Design)
确认需求无误后(由于不是trae原生功能,可能没有确认过程),Trae 会读取 design_spec.md,生成架构设计文档 design.md。
这里包含:
- 架构图:Mermaid 流程图或 ASCII 架构图。
- 接口定义:核心类的方法签名、参数类型。
- 数据流向:数据如何在组件间传递。
体验感受:这是最震撼的一步。AI 变身架构师,为你规划好每一块积木。此时还没写一行代码,但你已经知道项目长什么样了。
图4:Trae 根据 design_spec.md 生成的系统设计文档
💡 截图提示 3:展示 Trae 生成的
design.md。
第三步:任务拆解 (Tasks)
有了设计图,Trae 会根据 tasks_spec.md 将工作拆解为一个个可执行的原子任务,生成 tasks.md。
- 每个任务都有明确的 [ ] 状态标记。
- 每个任务都关联了具体的 需求编号。
- 严格的依赖顺序。
体验感受:复杂的项目瞬间变成了清晰的 To-Do List。你不再焦虑"从哪下手",只需要看着列表一个个划钩。
图5:Trae 根据 tasks_spec.md 生成的任务列表文档
💡 截图提示 4:展示
tasks.md文件,显示清晰的任务列表和[ ]状态框。
第四步:自动化编码 (Coding)
最后,Trae 开始执行任务。它会读取 tasks.md,将状态改为 [-] (进行中),写完代码后改为 [x] (已完成)。
最关键的是:因为有了前三步的铺垫,AI 写出的代码准确率极高。它知道每个函数应该叫什么(Design 里定义了),知道要满足什么条件(Requirements 里写了)。
图6:Trae 在编辑代码的界面,侧边栏显示任务状态更新
💡 截图提示 5:展示
tasks.md,展示任务状态
📝 总结
通过在 Trae 中引入这套 Spec-Driven Development 流程,我们获得的不仅仅是代码,更是一种掌控感。
- 不再有幻觉:Spec 就是 AI 的锚点。
- 不再有屎山:Design 阶段已经规避了架构风险。
- 不再有迷茫:Tasks 列表指引着每一步方向。
这就是 Trae + SDD 带来的极致编程体验。如果你也想体验这种“结对编程”的快感,不妨试试将 TraeSpec 引入你的工作流。
🌟 参与社区
TraeSpec 是一个开源项目,我们欢迎任何形式的贡献:
- 提交 Issue:如果你在使用中遇到 Bug 或有好的建议。
- 贡献代码:如果你想改进现有的 Spec 规则提示词或增加新功能。
- 分享案例:如果你用这套流程做出了酷炫的项目,欢迎在 GitHub Discussion 中分享!
再次感谢你的阅读,我们 GitHub 见!👋
本文由 Trae AI 辅助编写