在 Trae 中复刻 Kiro Spec 体验:Spec 驱动开发的初步实践

208 阅读5分钟

🚀 在 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 规则提示词,将这一流程标准化为三个核心步骤:

  1. Requirements (需求):明确“我们要解决什么问题”。
  2. Design (设计):规划“我们该如何解决”。
  3. 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

traeSpec-001.png 图1:TraeSpec 工具在终端中运行初始化命令

💡 截图提示 1:展示在 Trae 终端中运行命令,以及运行后 .trae/rules/ 目录下生成的 requirements_spec.md 等文件的结构。

traeSpec-002.png 图2:snakeX 项目初始化后的 .trae/rules 目录结构


🎮 实战演示:从 0 到 1 的编程体验

让我们看看在 Trae 中,这套流程是如何运转的。

第一步:需求分析 (Requirements)

当你告诉 Trae “我想做一个贪吃蛇游戏”时,它不会直接给你甩代码,而是会根据 requirements_spec.md 的指引,先生成一份详细的 requirements.md

这份文档包含:

  • 用户故事:明确谁在用,用什么功能。
  • 验收标准:明确什么样的功能才算合格(Given-When-Then)。
  • 术语表:统一项目中的专业术语。

体验感受:你会感觉 AI 真的在听你说话,并且在帮你梳理思路,甚至指出你没想到的边缘情况。

traeSpec-003.png 图3:Trae 根据 requirements_spec.md 生成的需求文档

💡 截图提示 2:展示 Trae 生成的 requirements.md 文件内容预览。

第二步:系统设计 (Design)

确认需求无误后(由于不是trae原生功能,可能没有确认过程),Trae 会读取 design_spec.md,生成架构设计文档 design.md

这里包含:

  • 架构图:Mermaid 流程图或 ASCII 架构图。
  • 接口定义:核心类的方法签名、参数类型。
  • 数据流向:数据如何在组件间传递。

体验感受:这是最震撼的一步。AI 变身架构师,为你规划好每一块积木。此时还没写一行代码,但你已经知道项目长什么样了。

traeSpec-004.png 图4:Trae 根据 design_spec.md 生成的系统设计文档

💡 截图提示 3:展示 Trae 生成的 design.md

第三步:任务拆解 (Tasks)

有了设计图,Trae 会根据 tasks_spec.md 将工作拆解为一个个可执行的原子任务,生成 tasks.md

  • 每个任务都有明确的 [ ] 状态标记。
  • 每个任务都关联了具体的 需求编号
  • 严格的依赖顺序。

体验感受:复杂的项目瞬间变成了清晰的 To-Do List。你不再焦虑"从哪下手",只需要看着列表一个个划钩。

traeSpec-005.png 图5:Trae 根据 tasks_spec.md 生成的任务列表文档

💡 截图提示 4:展示 tasks.md 文件,显示清晰的任务列表和 [ ] 状态框。

第四步:自动化编码 (Coding)

最后,Trae 开始执行任务。它会读取 tasks.md,将状态改为 [-] (进行中),写完代码后改为 [x] (已完成)。

最关键的是:因为有了前三步的铺垫,AI 写出的代码准确率极高。它知道每个函数应该叫什么(Design 里定义了),知道要满足什么条件(Requirements 里写了)。

traeSpec-006.png 图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 辅助编写