06 第二篇 · 准备:每个项目做一次

搭建开发环境

这一章把开发环境装好并验证。装的是几个部件:对话用的 Kiro CLI、规格流程命令 spec-kit、能力包 skills、代码检索工具 ast-grep,以及给 Agent 接外部能力的 MCP 服务。每个部件装完都有一条通过标准,全绿再往下走;带着装错的环境往后走,后面的问题会被环境问题盖住,很难定位。

环境搭建每台机器做一次,和具体项目无关。装哪个 Agent、命令装到哪里,是这一章要交代的接入细节;选型本身不绑定某个 Agent,那部分在前面几章已经讲过。下面的命令按 macOS 给,Windows 和 Linux 的差异在对应步骤里注明。

6.1 部件与作用

部件作用形态
Kiro CLI全程对话的 Agent,读写文件、跑命令都经过它命令行程序
spec-kit规格驱动流程工具 specify,给当前 Agent 注册 /speckit.* 斜杠命令Python 命令行工具
skills单项能力包,如测试驱动、问题诊断、需求澄清按 Agent 注册的命令
ast-grep按代码结构检索和改写,比纯文本搜索准命令行程序
MCP 服务给 Agent 接外部能力,如浏览器、抓包工具、IDE按配置启动的服务进程

它们的关系是:Kiro CLI 是运行 Agent 的壳;spec-kit、skills、ast-grep、MCP 是 Agent 在流程里调用的几类命令和外部能力。

6.2 Kiro CLI

按系统选命令。macOS 和 Linux 在终端执行,Windows 用 Windows Terminal 或 PowerShell,不要用 CMD。官方不支持用 Homebrew 装 macOS 版,按官网脚本装。

macOS 和 Linux:

curl -fsSL https://cli.kiro.dev/install | bash

Windows(PowerShell):

irm 'https://cli.kiro.dev/install.ps1' | iex

装完运行一次 kiro-cli,按提示在浏览器里用账号登录。日常用 kiro-cli chat 进入对话。

通过标准:

kiro-cli doctor        # 期望 ✔ Everything looks good!

能进入 kiro-cli chat 并和 Agent 对话一句。

6.3 spec-kit

spec-kit 的 specify 依赖 Python 工具管理器 uv,先装 uv,再用 uv 装 specify。

先装 uv:

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows(PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

用 uv 装 specify,从官方仓库装并锁定版本。把 vX.Y.Z 换成 releases 页 的某个 tag,避免拿到不稳定版本:

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z

只认 github/spec-kit 官方仓库;Python 包索引上有同名的 specify-cli 不是官方维护的,不要用 pip 直接装。日后升级和锁新版:

uv tool upgrade specify-cli      # 升到已装源的最新
specify self upgrade --tag vX.Y.Z   # 或锁到指定 tag

这一步只装 specify 本体。spec-kit 的扩展(如修 bug、评估改动的子流程)要绑定具体 Agent,且必须在已初始化的项目里装,所以放到项目初始化时再做。

通过标准:

specify --version        # 有版本号输出

稍后在项目里初始化后,能看到 /speckit.specify 等斜杠命令。

6.4 skills

skills 用 npx 安装,先装 Node.js。装 Node 是非交互命令:

# macOS
brew install node@22
# Windows:winget install OpenJS.NodeJS.LTS
# Linux:用 nvm,nvm install 22

skills 安装器是交互式勾选,要自己跑。按提示勾选要装的能力,目标 Agent 选 Kiro:

npx skills@latest add mattpocock/skills

装完完全关闭并重启 Kiro CLI,命令才会被加载。

通过标准:

node -v        # v22.x(不低于 20 LTS)
npx -v         # 有输出

重启 Kiro CLI 后,输入一个 skill 命令(如 /grill-with-docs)能被找到。

6.5 ast-grep

ast-grep 让 Agent 按代码结构检索,比纯文本搜索更准,用在查函数调用、按语法改写等场景。

brew install ast-grep        # 其他系统按官方文档选对应方式

通过标准:

ast-grep --version        # 有输出

6.6 MCP 服务

MCP 给 Agent 接外部能力。它不是跑一条安装命令,而是在配置文件里登记服务,Kiro CLI 启动时按登记去拉起。配置写在 ~/.kiro/settings/mcp.json(用户级,跨项目生效),项目级可写在项目的 .kiro/settings/mcp.json。

每个服务登记启动它的命令和参数。下面是两个常见服务的写法:浏览器驱动 chrome-devtools 用 npx 拉起,抓包工具 burp 用本机的代理 jar 接上。把路径换成本机实际位置:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest", "--autoConnect"]
    },
    "burp": {
      "command": "/路径/java",
      "args": ["-jar", "/路径/mcp-proxy.jar", "--sse-url", "http://127.0.0.1:9876"]
    }
  }
}

装哪些服务按项目需要选,安装和参数细节看各服务的官方仓库。改完配置,Kiro CLI 会在下次启动时按新配置连。常见的还有 JetBrains 系 IDE 接入、让 Agent 控制真实浏览器复用登录态等。

通过标准:kiro-cli chat 启动后,能列出或调用登记的 MCP 工具。

6.7 Agent 运行安全

Kiro CLI 默认每次读写文件或跑命令都要人确认。频繁确认打断节奏,可以放宽授权,但放宽的同时要守住三条底线。

授权分档,不要默认全开。kiro-cli chat -a 一次性信任所有工具,让 Agent 能无确认地执行任意命令,包括删改文件和跑任意 shell,只在信任的本地项目里用。把握不准时用 --trust-tools 只信任指定工具,比如只给读写文件、不给执行 shell:

kiro-cli chat --trust-tools=fs_read,fs_write   # 只信任读写文件
kiro-cli chat --trust-tools=                   # 留空则谁都不信,逐次确认

对一个已经磨合顺手、放心让它自己跑的 Agent,可以用 -a 免确认,并把常用参数做成别名省得每次敲。注意 Kiro CLI 默认用 v2 引擎,要用新一代 V3 引擎得显式加 --v3(或 --agent-engine v3),规格流程配合 V3 的 spec 模式更顺。把两者合进一个别名:

alias kda='kiro-cli chat --v3 -a'   # 自己命名,-a 的风险仍在,只对信得过的项目用

密钥不进仓库。接口令牌、密码这类机密放进环境变量或本机的密钥管理,不写进代码、配置文件或 steering,也不要让它们被提交。Agent 读得到仓库里的文件,机密一旦落到仓库就等于交给了 Agent 和版本历史。

危险操作留人确认。即使放宽了授权,删库、强制推送、改线上配置这类不可逆或影响面大的动作,仍应保持逐次确认,不要图省事全放开。

通过标准:知道当前会话用的是哪一档授权;仓库里 grep 不到明文密钥;高风险操作不在免确认范围内。

6.8 环境自检

全部装完,在终端逐条验证,全绿再进入项目初始化。任一条不过,回对应小节排查,不要带着坏环境往下走。

kiro-cli doctor        # 全绿
specify --version      # 有输出
node -v; npx -v        # 有输出
ast-grep --version     # 有输出

本章小结

部件按运行依赖装好,每步都有通过标准,自检全绿再进入项目初始化。放宽 Agent 授权时守住三条底线:授权分档、密钥不进仓库、危险操作留确认。spec-kit 的扩展随项目走,放到项目初始化时再装。

参考与出处