一个开源工具包,可让您专注于产品场景和可预测的结果,而不是从头开始对每个部分进行编码。
🤔 什么是规范驱动开发?
规范驱动开发颠覆了传统软件开发的脚本。几十年来,代码一直是王道——规范只是我们构建的脚手架,一旦编码的“真正工作”开始,我们就会丢弃。规范驱动开发改变了这一点:规范变得可执行,直接生成工作实现,而不仅仅是指导它们。
⚡ 开始使用
1. 安装指定 CLI
选择您喜欢的安装方法:
选项 1:持久安装(推荐)
一次安装,随处使用:
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
然后直接使用该工具:
specify init <PROJECT_NAME>
specify check
要升级,请指定运行:
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git
选项 2:一次性使用
直接运行,无需安装:
uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>
持久安装的好处:
- 工具支架已安装并可在 PATH 中使用
- 无需创建 shell 别名
- 通过 、 、 更好的工具管理
uv tool listuv tool upgradeuv tool uninstall - 更干净的外壳配置
2. 建立项目原则
在项目目录中启动您的 AI 助手。这些命令在助手中可用。/speckit.*
使用 /speckit.constitution 命令创建项目的管理原则和开发指南,以指导所有后续开发。
/speckit.constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements
3. 创建规范
使用 /speckit.specify 命令描述要构建的内容。关注什么和为什么,而不是技术堆栈。
/speckit.specify Build an application that can help me organize my photos in separate photo albums. Albums are grouped by date and can be re-organized by dragging and dropping on the main page. Albums are never in other nested albums. Within each album, photos are previewed in a tile-like interface.
4. 制定技术实施计划
使用 /speckit.plan 命令提供技术堆栈和架构选择。
/speckit.plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database.
5. 分解为任务
使用 /speckit.tasks 从实施计划创建可作的任务列表。
/speckit.tasks
6. 执行实施
使用 /speckit.implement 执行所有任务并根据计划构建您的功能。
/speckit.implement
🤖 支持的 AI 代理
| 代理 | 支持 | 笔记 |
|---|---|---|
| 克劳德代码 | ✅ | |
| GitHub 副驾驶 | ✅ | |
| 双子座 CLI | ✅ | |
| 光标 | ✅ | |
| Qwen 代码 | ✅ | |
| 开放代码 | ✅ | |
| 帆板运动 | ✅ | |
| Kilo Code | ✅ | |
| Auggie CLI | ✅ | |
| CodeBuddy CLI | ✅ | |
| 罗代码 | ✅ | |
| Codex CLI | ✅ | |
| Amazon Q 开发人员 CLI | ⚠️ | Amazon Q 开发人员 CLI 不支持斜杠命令的自定义参数。 |
🔧 指定 CLI 引用
该命令支持以下选项:specify
命令
| 命令 | 描述 |
|---|---|
init |
从最新模板初始化新的“指定”项目 |
check |
检查已安装的工具 (, , , /, , , ,gitclaudegeminicodecode-insiderscursor-agentwindsurfqwenopencodecodex) |
specify init参数和选项
| 参数/选项 | 类型 | 描述 |
|---|---|---|
<project-name> |
论点 | 新项目目录的名称(如果使用 ,则可选,或用于当前目录)--here. |
--ai |
选择 | AI助手使用:、、、claudegeminicopilotcursor-agentqwenopencodecodexwindsurfkilocodeauggieroocodebuddyq |
--script |
选择 | 要使用的脚本变体:(bash/zsh) 或 (PowerShell)shps |
--ignore-agent-tools |
旗 | 跳过 Claude Code 等 AI 代理工具的检查 |
--no-git |
旗 | 跳过 git 存储库初始化 |
--here |
旗 | 在当前目录中初始化项目,而不是创建新项目 |
--force |
旗 | 在当前目录中初始化时强制合并/覆盖(跳过确认) |
--skip-tls |
旗 | 跳过 SSL/TLS 验证(不推荐) |
--debug |
旗 | 启用详细的调试输出以进行故障排除 |
--github-token |
选择 | API 请求的 GitHub 令牌(或设置 GH_TOKEN/GITHUB_TOKEN env 变量) |
例子
# Basic project initialization
specify init my-project
# Initialize with specific AI assistant
specify init my-project --ai claude
# Initialize with Cursor support
specify init my-project --ai cursor-agent
# Initialize with Windsurf support
specify init my-project --ai windsurf
# Initialize with PowerShell scripts (Windows/cross-platform)
specify init my-project --ai copilot --script ps
# Initialize in current directory
specify init . --ai copilot
# or use the --here flag
specify init --here --ai copilot
# Force merge into current (non-empty) directory without confirmation
specify init . --force --ai copilot
# or
specify init --here --force --ai copilot
# Skip git initialization
specify init my-project --ai gemini --no-git
# Enable debug output for troubleshooting
specify init my-project --ai claude --debug
# Use GitHub token for API requests (helpful for corporate environments)
specify init my-project --ai claude --github-token ghp_your_token_here
# Check system requirements
specify check
可用的斜杠命令
运行 后,您的 AI 编码代理将可以访问以下斜杠命令以进行结构化开发:specify init
核心命令
规范驱动开发工作流程的基本命令:
| 命令 | 描述 |
|---|---|
/speckit.constitution |
创建或更新项目管理原则和开发指南 |
/speckit.specify |
定义要构建的内容(要求和用户情景) |
/speckit.plan |
使用您选择的技术堆栈创建技术实施计划 |
/speckit.tasks |
生成可作的任务列表以供实施 |
/speckit.implement |
执行所有任务,按照计划构建功能 |
可选命令
用于提高质量和验证的其他命令:
| 命令 | 描述 |
|---|---|
/speckit.clarify |
澄清未指定区域(之前推荐;以前/speckit.plan/quizme) |
/speckit.analyze |
跨工件一致性和覆盖率分析(运行时间后、之前/speckit.tasks/speckit.implement) |
/speckit.checklist |
生成自定义质量清单,以验证需求的完整性、清晰度和一致性(例如“英语单元测试”) |
环境变量
| 变量 | 描述 |
|---|---|
SPECIFY_FEATURE |
替代非 Git 存储库的功能检测。设置为功能目录名称(例如,),以便在不使用 Git 分支时处理特定功能。 **在使用或后续命令之前,必须在您正在使用的代理的上下文中进行设置。 001-photo-albums/speckit.plan |
📚 核心理念
规范驱动开发是一个结构化的过程,强调:
- 意图驱动开发,规范在“如何”之前定义“什么”“
- 使用护栏和组织原则创建丰富的规范
- 多步骤细化,而不是根据提示一次性生成代码
- 严重依赖先进的 AI 模型功能进行规范解释
🌟 开发阶段
| 阶段 | 重点 | 主要活动 |
|---|---|---|
| 0 比 1 开发(“绿地”) | 从头开始生成 |
|
| 创意探索 | 并行实现 |
|
| 迭代增强(“棕地”) | 棕地现代化 |
|
🎯 实验目标
我们的研究和实验重点是:
技术独立性
- 使用不同的技术堆栈创建应用程序
- 验证规范驱动开发是一个与特定技术、编程语言或框架无关的过程的假设
企业约束
- 演示任务关键型应用程序开发
- 纳入组织约束(云提供商、技术堆栈、工程实践)
- 支持企业设计系统和合规性要求
以用户为中心的开发
- 为不同的用户群组和偏好构建应用程序
- 支持各种开发方法(从氛围编码到 AI 原生开发)
创意和迭代过程
- 验证并行实现探索的概念
- 提供强大的迭代功能开发工作流程
- 扩展流程以处理升级和现代化任务
🔧 先决条件
- Linux/macOS/Windows
- 支持 AI编码代理。
- 用于包管理的 UV
- Python 3.11+
- Git


没有回复内容