通过测试与验证为先的方式,按序执行并实现已批准的规范提案。用于实施变更、应用提案、执行规范任务或按已批准计划构建。触发词包括 "speckit-implement", "speckit开发", "开发", "实施" "实现提案", "应用变更", "执行规范", "按顺序完成任务", "构建功能", "开始实施"。
$ARGUMENTS
您必须在继续之前考虑用户输入(如果不为空)。
scripts: sh: .specify/scripts/bash/check-prerequisites.sh --json ps: .specify/scripts/powershell/check-prerequisites.ps1 -Json
从仓库根目录运行 {SCRIPT} 并解析 FEATURE_DIR 和 AVAILABLE_DOCS 列表。所有路径必须是绝对的。对于参数中的单引号,如 "I'm Groot",使用转义语法:例如 'I'''m Groot'(或者如果可能的话使用双引号:"I'm Groot")。
检查检查表状态(如果 FEATURE_DIR/checklists/ 存在):
扫描 checklists/ 目录中的所有检查表文件
对于每个检查表,计数:
- [ ] 或 - [X] 或 - [x] 的行- [X] 或 - [x] 的行- [ ] 的行创建状态表:
| 检查表 | 总计 | 已完成 | 未完成 | 状态 |
|-----------|-------|-----------|------------|--------|
| ux.md | 12 | 12 | 0 | ✓ 通过 |
| test.md | 8 | 5 | 3 | ✗ 失败 |
| security.md | 6 | 6 | 0 | ✓ 通过 |
计算总体状态:
如果有任何检查表未完成:
如果所有检查表都完成:
加载和分析实现上下文:
项目设置验证:
检测和创建逻辑:
检查以下命令是否成功以确定仓库是否为 git 仓库(如果是则创建/验证 .gitignore):
git rev-parse --git-dir 2>/dev/null
检查是否存在 Dockerfile* 或 Docker 在 plan.md 中 → 创建/验证 .dockerignore
检查是否存在 .eslintrc* 或 eslint.config.* → 创建/验证 .eslintignore
检查是否存在 .prettierrc* → 创建/验证 .prettierignore
检查是否存在 .npmrc 或 package.json → 创建/验证 .npmignore(如果发布)
检查是否存在 terraform 文件 (*.tf) → 创建/验证 .terraformignore
检查是否需要 .helmignore(存在 helm 图表)→ 创建/验证 .helmignore
如果忽略文件已存在:验证它包含基本模式,仅追加缺失的关键模式 如果忽略文件缺失:创建包含检测技术的完整模式集
按技术的常见模式(来自 plan.md 技术栈):
node_modules/, dist/, build/, *.log, .env*__pycache__/, *.pyc, .venv/, venv/, dist/, *.egg-info/target/, *.class, *.jar, .gradle/, build/bin/, obj/, *.user, *.suo, packages/*.exe, *.test, vendor/, *.out.bundle/, log/, tmp/, *.gem, vendor/bundle/vendor/, *.log, *.cache, *.envtarget/, debug/, release/, *.rs.bk, *.rlib, *.prof*, .idea/, *.log, .env*build/, out/, .gradle/, .idea/, *.class, *.jar, *.iml, *.log, .env*build/, bin/, obj/, out/, *.o, *.so, *.a, *.exe, *.dll, .idea/, *.log, .env*build/, bin/, obj/, out/, *.o, *.a, *.so, *.exe, Makefile, config.log, .idea/, *.log, .env*.build/, DerivedData/, *.swiftpm/, Packages/.Rproj.user/, .Rhistory, .RData, .Ruserdata, *.Rproj, packrat/, renv/.DS_Store, Thumbs.db, *.tmp, *.swp, .vscode/, .idea/工具特定模式:
node_modules/, .git/, Dockerfile*, .dockerignore, *.log*, .env*, coverage/node_modules/, dist/, build/, coverage/, *.min.jsnode_modules/, dist/, build/, coverage/, package-lock.json, yarn.lock, pnpm-lock.yaml.terraform/, *.tfstate*, *.tfvars, .terraform.lock.hcl*.secret.yaml, secrets/, .kube/, kubeconfig*, *.key, *.crt解析 tasks.md 结构并提取:
按照任务计划执行实现:
实现执行规则:
进度跟踪和错误处理:
完成验证:
注意:此命令假设 tasks.md 中存在完整的任务分解。如果任务不完整或缺失,建议首先运行 speckit-tasks 以重新生成任务列表。