DC娱乐网

在VS Code 中使用 GitHub Spec Kit + Copi...

如果你曾经因为“氛围编程”(Vibe-Coding)一头扎进错误的架构、奇怪的用户界面、半成品功能,GitHub 的Sp

如果你曾经因为“氛围编程”(Vibe-Coding)一头扎进错误的架构、奇怪的用户界面、半成品功能,GitHub 的Spec Kit就是一项实验,它能帮你重回正轨。

它启动了一个轻量级、可重复的工作流,让你:

定义不可协商项(“宪法 constitution”);编写规范 spec(是什么/为什么);制定计划 plan(怎么做);生成任务 task;然后进行实现 implement ——整个过程都由存储在你的代码库中的工件引导。

这篇文章将带你了解如何在Visual Studio Code中设置 Spec Kit,并与GitHub Copilot一起运行,适用于新项目和现有代码库。

一、你会得到什么

当 Spec Kit 被初始化时,你的代码库至少会获得以下内容:

.github/prompts/ → 作为 Copilot Chat 斜杠命令出现的提示文件(在聊天中输入 /).github/copilot-instructions.md(可选,但推荐)→ Copilot 应遵循的代码库规则.specify/ → 模板、辅助脚本和“记忆”(包括宪法 constitution)

其中的魔力在于:你的工作流变成了代码库原生的(Markdown 文件 + 脚本),而不是被困在某个工具的界面中。

二、先决条件(一次性)VS CodeGitHub Copilot + Copilot Chat 扩展已安装,并且你已登录GitPython 3.11+uv(推荐,来自 Astral)

Spec Kit 的命令行界面是基于 Python 的,而 uv 让安装和使用变得干净且可复现。

三、安装 Spec Kit CLI

uv 是一个由 Astral 团队开发的高性能 Python 包和项目管理工具,使用 Rust 编写,具有极高的运行速度,比传统的 pip 快 10-100 倍。它集成了多种常用 Python 工具的功能,包括 pip、pip-tools、pipx、poetry、pyenv、twine 和 virtualenv 等,能够提供全面的项目管理功能,支持锁文件、工作区、依赖项内联元数据等功能,并且通过全局缓存实现磁盘空间优化。

uv 提供了丰富的功能,包括项目初始化、依赖项管理、环境创建、工具安装和运行等。用户可以通过简单的命令快速初始化项目、添加依赖项、运行脚本和工具,并且可以轻松管理多个 Python 版本,支持 macOS、Linux 和 Windows 系统。此外,uv 还提供了与 pip 兼容的接口,用户可以在不改变现有工作流的情况下迁移到 uv,同时享受显著的性能提升。

uv 的安装也非常简单,用户可以通过 curl 或 pip 安装,安装后还可以通过内置命令进行自我更新。其详细的文档和友好的命令行界面使得用户可以快速上手并高效管理 Python 项目和工具。

通过 uv 工具全局安装 specify CLI。

(1)使用 uv(一个快速的 Python 包和项目管理器)来安装一个名为 specify-cli 的命令行工具

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

如果出现 Permission denied 异常,添加 sudo。

(2)成功安装 specify-cli 后,调用这个新工具来执行check操作

specify check

后续升级

uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git

四、新项目设置

使用 Copilot 提示初始化新代码库

specify init my-new-project --ai copilot

如果你想要 PowerShell 辅助脚本(适合 Windows):

specify init my-new-project --ai copilot --script ps

在 VS Code 中打开项目文件夹(很重要!)

code my-new-project

常见陷阱:如果你打开了父目录而不是项目目录,你将看不到斜杠命令。

五、确认 Copilot Chat 中出现斜杠命令

在 VS Code 中打开 Copilot Chat,点击聊天输入框,输入:/

你应该能看到类似以下的命令:

/speckit.constitution/speckit.specify/speckit.clarify/speckit.plan/speckit.tasks/speckit.analyze/speckit.implement

如图所示:

六、现有项目设置

在这里 Spec Kit 真正大放异彩——在不破坏现有代码库稳定性的情况下添加新功能。

在原项目运行初始化,从代码库根目录开始:

specify init . --ai copilot

如果它警告会覆盖现有文件,并且你同意合并模板:

specify init . --ai copilot --force

现在你的代码库将包含 .github/prompts 和 .specify。