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

🚀 在 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 地址https://github.com/ylubi/traeSpec

快速开始:下载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 辅助编写

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • """1.个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello ...
    她即我命阅读 7,989评论 0 6
  • 1、expected an indented block 冒号后面是要写上一定的内容的(新手容易遗忘这一点); 缩...
    庵下桃花仙阅读 1,964评论 1 2
  • 一、工具箱(多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取)矩形、椭圆选框工具 【M】移动工具 【V...
    墨雅丫阅读 2,618评论 0 0
  • 跟随樊老师和伙伴们一起学习心理知识提升自已,已经有三个月有余了,这一段时间因为天气的原因休课,顺便整理一下之前学习...
    学习思考行动阅读 2,030评论 0 2
  • 一脸愤怒的她躺在了床上,好几次甩开了他抱过来的双手,到最后还坚决的翻了个身,只留给他一个冷漠的背影。 多次尝试抱她...
    海边的蓝兔子阅读 1,539评论 1 4

友情链接更多精彩内容