specify
description: 从自然语言功能描述中创建或更新功能规范。 scripts: sh: scripts/bash/create-new-feature.sh --json "{ARGS}" ps: scripts/powershell/create-new-feature.ps1 -Json "{ARGS}"
给定作为参数提供的功能描述,执行以下步骤:
- 从仓库根目录运行
{SCRIPT}
脚本,并解析其 JSON 输出中的 BRANCH_NAME 和 SPEC_FILE。所有文件路径必须是绝对路径。 - 加载
templates/spec-template.md
以理解所需的章节。 - 使用模板结构将规范写入 SPEC_FILE,在保持章节顺序和标题的同时,用从功能描述(参数)中提取的具体细节替换占位符。
- 报告完成情况,包括分支名称、规范文件路径,以及进入下一阶段的就绪状态。
注意:该脚本会创建并切换到新分支,并在写入前初始化规范文件。
plan
description: 使用 plan 模板执行实现规划工作流,以生成设计产物。
在给定实现细节作为参数的情况下,执行以下操作:
-
从仓库根目录运行
.specify/scripts/bash/setup-plan.sh --json
,并解析 JSON,获取 FEATURE_SPEC 、IMPL_PLAN 、SPECS_DIR 、BRANCH。所有后续的文件路径都必须使用绝对路径。 -
阅读并分析功能规格文档,以理解:
- 功能需求和用户故事
- 功能性和非功能性需求
- 成功标准和验收标准
- 任何提及的技术约束或依赖
-
阅读
.specify/memory/constitution.md
中的"宪法",理解宪法性要求。 -
执行实现计划模板:
-
加载
.specify/templates/plan-template.md
(已复制到 IMPL_PLAN 路径) -
将输入路径设置为 FEATURE_SPEC
-
运行执行流程(main)中的步骤 1--10
-
模板是自包含且可执行的
-
按照指定的错误处理和关卡检查执行
-
让模板指导在 $SPECS_DIR 中生成工件:
- Phase 0 生成
research.md
- Phase 1 生成
data-model.md
、contracts/
、quickstart.md
- Phase 2 生成
tasks.md
- Phase 0 生成
-
将用户提供的参数细节纳入技术上下文:$ARGUMENTS
-
在完成每个阶段时更新进度追踪(Progress Tracking)
-
-
验证执行是否完成:
- 检查进度追踪是否显示所有阶段已完成
- 确认所有必需的工件已生成
- 确认执行过程中无 ERROR 状态
-
报告结果,包括分支名、文件路径和生成的工件。
使用仓库根目录的绝对路径进行所有文件操作,以避免路径问题。
tasks
description: 基于可用的设计文档,为该功能生成可执行的、按依赖顺序排列的 tasks.md。 scripts: sh: scripts/bash/check-task-prerequisites.sh --json ps: scripts/powershell/check-task-prerequisites.ps1 -Json
给定作为参数提供的上下文,执行以下步骤:
-
从仓库根目录运行
{SCRIPT}
脚本,并解析输出中的 FEATURE_DIR 和 AVAILABLE_DOCS 列表。所有路径必须是绝对路径。 -
加载并分析可用的设计文档:
- 始终读取 plan.md 以了解技术栈和依赖库
- 如果存在:读取 data-model.md 以获取实体信息
- 如果存在:读取 contracts/ 以获取 API 接口定义
- 如果存在:读取 research.md 以了解技术决策
- 如果存在:读取 quickstart.md 以获取测试场景
注意:并非所有项目都有全部文档。例如:
- CLI 工具可能没有 contracts/
- 简单的库可能不需要 data-model.md
- 根据实际可用文档生成任务
-
按以下模板生成任务:
- 使用
/templates/tasks-template.md
作为基础 - 用实际任务替换示例任务,任务依据包括:
- 初始化任务:项目初始化、依赖、代码规范检查
- 测试任务 [P]:每个 contract 一个测试任务,每个集成场景一个测试任务
- 核心任务:每个实体、服务、CLI 命令、接口一个任务
- 集成任务:数据库连接、中间件、日志等
- 完善任务 [P]:单元测试、性能优化、文档
- 使用
-
任务生成规则:
- 每个 contract 文件 → 一个 contract 测试任务(标记 [P])
- data-model 中的每个实体 → 一个模型创建任务(标记 [P])
- 每个接口 → 一个实现任务(若文件共享则不可并行)
- 每个用户故事 → 一个集成测试任务(标记 [P])
- 不同文件 = 可并行 [P]
- 相同文件 = 顺序执行(不标记 [P])
-
按依赖顺序排列任务:
- 初始化任务在最前
- 测试优先于实现(TDD 原则)
- 模型优先于服务
- 服务优先于接口
- 核心优先于集成
- 所有任务优先于完善
-
包含并行执行示例:
- 将可并行的 [P] 任务分组
- 展示实际的 Task agent 命令
-
在 FEATURE_DIR/tasks.md 中生成内容:
- 使用实现计划中的正确功能名称
- 编号任务(T001, T002, 等)
- 为每个任务标明清晰的文件路径
- 添加依赖说明
- 提供并行执行指导
任务生成上下文:{ARGS}
生成的 tasks.md 必须可以立即执行------每个任务都要足够具体,使 LLM 无需额外上下文即可完成。