specify-cli 0.12.17__tar.gz → 0.13.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/add-community-extension.lock.yml +2 -2
  2. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/add-community-preset.lock.yml +2 -2
  3. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/bug-assess.lock.yml +2 -2
  4. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/bug-fix.lock.yml +2 -2
  5. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/bug-test.lock.yml +2 -2
  6. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/codeql.yml +2 -2
  7. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/docs.yml +1 -1
  8. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/stale.yml +1 -1
  9. {specify_cli-0.12.17 → specify_cli-0.13.0}/CHANGELOG.md +30 -0
  10. {specify_cli-0.12.17 → specify_cli-0.13.0}/PKG-INFO +4 -292
  11. {specify_cli-0.12.17 → specify_cli-0.13.0}/README.md +3 -291
  12. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/community/extensions.md +3 -1
  13. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/community/overview.md +1 -1
  14. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/community/presets.md +1 -1
  15. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/index.md +23 -19
  16. specify_cli-0.13.0/docs/quickstart.md +140 -0
  17. specify_cli-0.13.0/docs/reference/agentic-bugfix.md +52 -0
  18. specify_cli-0.13.0/docs/reference/agentic-sdd.md +115 -0
  19. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/reference/extensions.md +57 -0
  20. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/reference/integrations.md +1 -1
  21. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/reference/overview.md +19 -3
  22. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/toc.yml +4 -0
  23. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +1 -1
  24. specify_cli-0.13.0/extensions/assess/README.md +103 -0
  25. specify_cli-0.13.0/extensions/assess/commands/speckit.assess.decide.md +97 -0
  26. specify_cli-0.13.0/extensions/assess/commands/speckit.assess.define.md +85 -0
  27. specify_cli-0.13.0/extensions/assess/commands/speckit.assess.intake.md +118 -0
  28. specify_cli-0.13.0/extensions/assess/commands/speckit.assess.research.md +102 -0
  29. specify_cli-0.13.0/extensions/assess/commands/speckit.assess.shape.md +82 -0
  30. specify_cli-0.13.0/extensions/assess/extension.yml +40 -0
  31. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/catalog.community.json +80 -5
  32. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/catalog.json +17 -1
  33. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/catalog.community.json +10 -10
  34. {specify_cli-0.12.17 → specify_cli-0.13.0}/pyproject.toml +2 -1
  35. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/authentication/azure_devops.py +11 -1
  36. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/commands/bundle/__init__.py +21 -3
  37. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/presets/__init__.py +7 -3
  38. specify_cli-0.13.0/tests/extensions/assess/test_assess_extension.py +124 -0
  39. specify_cli-0.13.0/tests/integrations/__init__.py +0 -0
  40. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_authentication.py +13 -0
  41. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_presets.py +12 -0
  42. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_workflows.py +5 -3
  43. specify_cli-0.13.0/tests/unit/test_bundle_download_url.py +42 -0
  44. specify_cli-0.12.17/docs/quickstart.md +0 -214
  45. {specify_cli-0.12.17 → specify_cli-0.13.0}/.devcontainer/devcontainer.json +0 -0
  46. {specify_cli-0.12.17 → specify_cli-0.13.0}/.devcontainer/post-create.sh +0 -0
  47. {specify_cli-0.12.17 → specify_cli-0.13.0}/.editorconfig +0 -0
  48. {specify_cli-0.12.17 → specify_cli-0.13.0}/.gitattributes +0 -0
  49. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/CODEOWNERS +0 -0
  50. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/ISSUE_TEMPLATE/agent_request.yml +0 -0
  51. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  52. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/ISSUE_TEMPLATE/bundle_submission.yml +0 -0
  53. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  54. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
  55. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  56. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
  57. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  58. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/aw/actions-lock.json +0 -0
  59. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/dependabot.yml +0 -0
  60. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/skills/add-community-extension/SKILL.md +0 -0
  61. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/RELEASE-PROCESS.md +0 -0
  62. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/add-community-extension.md +0 -0
  63. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/add-community-preset.md +0 -0
  64. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/bug-assess.md +0 -0
  65. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/bug-fix.md +0 -0
  66. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/bug-test.md +0 -0
  67. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/catalog-assign.yml +0 -0
  68. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/lint.yml +0 -0
  69. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/publish-pypi.yml +0 -0
  70. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/release-trigger.yml +0 -0
  71. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/release.yml +0 -0
  72. {specify_cli-0.12.17 → specify_cli-0.13.0}/.github/workflows/test.yml +0 -0
  73. {specify_cli-0.12.17 → specify_cli-0.13.0}/.gitignore +0 -0
  74. {specify_cli-0.12.17 → specify_cli-0.13.0}/.markdownlint-cli2.jsonc +0 -0
  75. {specify_cli-0.12.17 → specify_cli-0.13.0}/.pre-commit-config.yaml +0 -0
  76. {specify_cli-0.12.17 → specify_cli-0.13.0}/.zenodo.json +0 -0
  77. {specify_cli-0.12.17 → specify_cli-0.13.0}/AGENTS.md +0 -0
  78. {specify_cli-0.12.17 → specify_cli-0.13.0}/CITATION.cff +0 -0
  79. {specify_cli-0.12.17 → specify_cli-0.13.0}/CODE_OF_CONDUCT.md +0 -0
  80. {specify_cli-0.12.17 → specify_cli-0.13.0}/CONTRIBUTING.md +0 -0
  81. {specify_cli-0.12.17 → specify_cli-0.13.0}/DEVELOPMENT.md +0 -0
  82. {specify_cli-0.12.17 → specify_cli-0.13.0}/LICENSE +0 -0
  83. {specify_cli-0.12.17 → specify_cli-0.13.0}/SECURITY.md +0 -0
  84. {specify_cli-0.12.17 → specify_cli-0.13.0}/SUPPORT.md +0 -0
  85. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/.gitignore +0 -0
  86. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/README.md +0 -0
  87. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/community/bundles.md +0 -0
  88. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/community/friends.md +0 -0
  89. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/community/walkthroughs.md +0 -0
  90. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/concepts/complex-features.md +0 -0
  91. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/concepts/sdd.md +0 -0
  92. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/concepts/spec-persistence.md +0 -0
  93. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/docfx.json +0 -0
  94. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/guides/evolving-specs.md +0 -0
  95. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/guides/monorepo.md +0 -0
  96. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/install/air-gapped.md +0 -0
  97. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/install/one-time.md +0 -0
  98. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/install/pipx.md +0 -0
  99. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/install/pypi.md +0 -0
  100. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/install/uv.md +0 -0
  101. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/installation.md +0 -0
  102. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/local-development.md +0 -0
  103. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/reference/authentication.md +0 -0
  104. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/reference/bundles.md +0 -0
  105. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/reference/core.md +0 -0
  106. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/reference/presets.md +0 -0
  107. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/reference/workflows.md +0 -0
  108. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/template/public/main.css +0 -0
  109. {specify_cli-0.12.17 → specify_cli-0.13.0}/docs/upgrade.md +0 -0
  110. {specify_cli-0.12.17 → specify_cli-0.13.0}/examples/bundles/business-analyst/README.md +0 -0
  111. {specify_cli-0.12.17 → specify_cli-0.13.0}/examples/bundles/business-analyst/bundle.yml +0 -0
  112. {specify_cli-0.12.17 → specify_cli-0.13.0}/examples/bundles/developer/README.md +0 -0
  113. {specify_cli-0.12.17 → specify_cli-0.13.0}/examples/bundles/developer/bundle.yml +0 -0
  114. {specify_cli-0.12.17 → specify_cli-0.13.0}/examples/bundles/product-manager/README.md +0 -0
  115. {specify_cli-0.12.17 → specify_cli-0.13.0}/examples/bundles/product-manager/bundle.yml +0 -0
  116. {specify_cli-0.12.17 → specify_cli-0.13.0}/examples/bundles/security-researcher/README.md +0 -0
  117. {specify_cli-0.12.17 → specify_cli-0.13.0}/examples/bundles/security-researcher/bundle.yml +0 -0
  118. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/EXTENSION-API-REFERENCE.md +0 -0
  119. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -0
  120. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/EXTENSION-USER-GUIDE.md +0 -0
  121. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/README.md +0 -0
  122. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
  123. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/agent-context/README.md +0 -0
  124. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/agent-context/agent-context-config.yml +0 -0
  125. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/agent-context/agent-context-defaults.json +0 -0
  126. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
  127. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/agent-context/extension.yml +0 -0
  128. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
  129. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
  130. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
  131. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/bug/README.md +0 -0
  132. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/bug/commands/speckit.bug.assess.md +0 -0
  133. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/bug/commands/speckit.bug.fix.md +0 -0
  134. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/bug/commands/speckit.bug.test.md +0 -0
  135. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/bug/extension.yml +0 -0
  136. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/README.md +0 -0
  137. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/commands/speckit.git.commit.md +0 -0
  138. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/commands/speckit.git.feature.md +0 -0
  139. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/commands/speckit.git.initialize.md +0 -0
  140. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/commands/speckit.git.remote.md +0 -0
  141. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/commands/speckit.git.validate.md +0 -0
  142. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/config-template.yml +0 -0
  143. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/extension.yml +0 -0
  144. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/git-config.yml +0 -0
  145. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/bash/auto-commit.sh +0 -0
  146. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/bash/create-new-feature-branch.sh +0 -0
  147. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/bash/git-common.sh +0 -0
  148. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
  149. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
  150. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +0 -0
  151. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
  152. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
  153. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/python/auto_commit.py +0 -0
  154. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/python/create_new_feature_branch.py +0 -0
  155. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/python/git_common.py +0 -0
  156. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/git/scripts/python/initialize_repo.py +0 -0
  157. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/selftest/commands/selftest.md +0 -0
  158. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/selftest/extension.yml +0 -0
  159. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/template/.gitignore +0 -0
  160. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/template/CHANGELOG.md +0 -0
  161. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/template/EXAMPLE-README.md +0 -0
  162. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/template/LICENSE +0 -0
  163. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/template/README.md +0 -0
  164. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/template/commands/example.md +0 -0
  165. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/template/config-template.yml +0 -0
  166. {specify_cli-0.12.17 → specify_cli-0.13.0}/extensions/template/extension.yml +0 -0
  167. {specify_cli-0.12.17 → specify_cli-0.13.0}/integrations/CONTRIBUTING.md +0 -0
  168. {specify_cli-0.12.17 → specify_cli-0.13.0}/integrations/README.md +0 -0
  169. {specify_cli-0.12.17 → specify_cli-0.13.0}/integrations/catalog.community.json +0 -0
  170. {specify_cli-0.12.17 → specify_cli-0.13.0}/integrations/catalog.json +0 -0
  171. {specify_cli-0.12.17 → specify_cli-0.13.0}/media/bootstrap-claude-code.gif +0 -0
  172. {specify_cli-0.12.17 → specify_cli-0.13.0}/media/logo_large.webp +0 -0
  173. {specify_cli-0.12.17 → specify_cli-0.13.0}/media/logo_small.webp +0 -0
  174. {specify_cli-0.12.17 → specify_cli-0.13.0}/media/spec-kit-video-header.jpg +0 -0
  175. {specify_cli-0.12.17 → specify_cli-0.13.0}/media/specify_cli.gif +0 -0
  176. {specify_cli-0.12.17 → specify_cli-0.13.0}/newsletters/2026-April.md +0 -0
  177. {specify_cli-0.12.17 → specify_cli-0.13.0}/newsletters/2026-February.md +0 -0
  178. {specify_cli-0.12.17 → specify_cli-0.13.0}/newsletters/2026-June.md +0 -0
  179. {specify_cli-0.12.17 → specify_cli-0.13.0}/newsletters/2026-March.md +0 -0
  180. {specify_cli-0.12.17 → specify_cli-0.13.0}/newsletters/2026-May.md +0 -0
  181. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/ARCHITECTURE.md +0 -0
  182. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/PUBLISHING.md +0 -0
  183. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/README.md +0 -0
  184. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/catalog.json +0 -0
  185. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/lean/README.md +0 -0
  186. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/lean/commands/speckit.constitution.md +0 -0
  187. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/lean/commands/speckit.implement.md +0 -0
  188. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/lean/commands/speckit.plan.md +0 -0
  189. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/lean/commands/speckit.specify.md +0 -0
  190. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/lean/commands/speckit.tasks.md +0 -0
  191. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/lean/preset.yml +0 -0
  192. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/scaffold/README.md +0 -0
  193. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
  194. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/scaffold/commands/speckit.specify.md +0 -0
  195. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/scaffold/preset.yml +0 -0
  196. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/scaffold/templates/myext-template.md +0 -0
  197. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/scaffold/templates/spec-template.md +0 -0
  198. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/self-test/commands/speckit.specify.md +0 -0
  199. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/self-test/commands/speckit.wrap-test.md +0 -0
  200. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/self-test/preset.yml +0 -0
  201. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/self-test/templates/checklist-template.md +0 -0
  202. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/self-test/templates/constitution-template.md +0 -0
  203. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/self-test/templates/plan-template.md +0 -0
  204. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/self-test/templates/spec-template.md +0 -0
  205. {specify_cli-0.12.17 → specify_cli-0.13.0}/presets/self-test/templates/tasks-template.md +0 -0
  206. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/bash/check-prerequisites.sh +0 -0
  207. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/bash/common.sh +0 -0
  208. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/bash/create-new-feature.sh +0 -0
  209. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/bash/setup-plan.sh +0 -0
  210. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/bash/setup-tasks.sh +0 -0
  211. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/powershell/check-prerequisites.ps1 +0 -0
  212. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/powershell/common.ps1 +0 -0
  213. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/powershell/create-new-feature.ps1 +0 -0
  214. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/powershell/setup-plan.ps1 +0 -0
  215. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/powershell/setup-tasks.ps1 +0 -0
  216. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/python/check_prerequisites.py +0 -0
  217. {specify_cli-0.12.17 → specify_cli-0.13.0}/scripts/python/common.py +0 -0
  218. {specify_cli-0.12.17 → specify_cli-0.13.0}/spec-driven.md +0 -0
  219. {specify_cli-0.12.17 → specify_cli-0.13.0}/spec-kit.code-workspace +0 -0
  220. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/__init__.py +0 -0
  221. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/_agent_config.py +0 -0
  222. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/_assets.py +0 -0
  223. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/_console.py +0 -0
  224. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/_github_http.py +0 -0
  225. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/_init_options.py +0 -0
  226. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/_invocation_style.py +0 -0
  227. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/_project.py +0 -0
  228. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/_toml_string.py +0 -0
  229. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/_utils.py +0 -0
  230. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/_version.py +0 -0
  231. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/agents.py +0 -0
  232. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/authentication/__init__.py +0 -0
  233. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/authentication/base.py +0 -0
  234. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/authentication/config.py +0 -0
  235. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/authentication/github.py +0 -0
  236. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/authentication/http.py +0 -0
  237. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/__init__.py +0 -0
  238. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
  239. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/commands_impl/catalog_config.py +0 -0
  240. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/lib/__init__.py +0 -0
  241. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/lib/project.py +0 -0
  242. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/lib/versioning.py +0 -0
  243. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/lib/yamlio.py +0 -0
  244. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/models/__init__.py +0 -0
  245. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/models/catalog.py +0 -0
  246. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/models/manifest.py +0 -0
  247. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/models/records.py +0 -0
  248. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/services/__init__.py +0 -0
  249. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/services/adapters.py +0 -0
  250. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/services/catalog_stack.py +0 -0
  251. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/services/conflict.py +0 -0
  252. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/services/installer.py +0 -0
  253. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/services/packager.py +0 -0
  254. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/services/primitives.py +0 -0
  255. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/services/references.py +0 -0
  256. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/services/resolver.py +0 -0
  257. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/bundler/services/validator.py +0 -0
  258. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/catalogs.py +0 -0
  259. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/commands/__init__.py +0 -0
  260. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/commands/init.py +0 -0
  261. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/extensions/__init__.py +0 -0
  262. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/extensions/_commands.py +0 -0
  263. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integration_runtime.py +0 -0
  264. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integration_scaffold.py +0 -0
  265. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integration_state.py +0 -0
  266. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integration_status.py +0 -0
  267. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/__init__.py +0 -0
  268. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/_commands.py +0 -0
  269. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/_helpers.py +0 -0
  270. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/_install_commands.py +0 -0
  271. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/_migrate_commands.py +0 -0
  272. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/_query_commands.py +0 -0
  273. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
  274. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/agy/__init__.py +0 -0
  275. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/amp/__init__.py +0 -0
  276. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/auggie/__init__.py +0 -0
  277. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/base.py +0 -0
  278. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/bob/__init__.py +0 -0
  279. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/catalog.py +0 -0
  280. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/claude/__init__.py +0 -0
  281. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/cline/__init__.py +0 -0
  282. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
  283. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/codex/__init__.py +0 -0
  284. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/copilot/__init__.py +0 -0
  285. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
  286. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/devin/__init__.py +0 -0
  287. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/firebender/__init__.py +0 -0
  288. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/forge/__init__.py +0 -0
  289. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/gemini/__init__.py +0 -0
  290. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/generic/__init__.py +0 -0
  291. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/goose/__init__.py +0 -0
  292. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/grok/__init__.py +0 -0
  293. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/hermes/__init__.py +0 -0
  294. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/junie/__init__.py +0 -0
  295. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
  296. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/kimi/__init__.py +0 -0
  297. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
  298. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/lingma/__init__.py +0 -0
  299. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/manifest.py +0 -0
  300. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/omp/__init__.py +0 -0
  301. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/opencode/__init__.py +0 -0
  302. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/pi/__init__.py +0 -0
  303. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
  304. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/qwen/__init__.py +0 -0
  305. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
  306. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/shai/__init__.py +0 -0
  307. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
  308. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/trae/__init__.py +0 -0
  309. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/vibe/__init__.py +0 -0
  310. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/zcode/__init__.py +0 -0
  311. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/integrations/zed/__init__.py +0 -0
  312. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/presets/_commands.py +0 -0
  313. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/shared_infra.py +0 -0
  314. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/__init__.py +0 -0
  315. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/_commands.py +0 -0
  316. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/base.py +0 -0
  317. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/catalog.py +0 -0
  318. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/engine.py +0 -0
  319. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/expressions.py +0 -0
  320. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/__init__.py +0 -0
  321. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
  322. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/do_while/__init__.py +0 -0
  323. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
  324. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
  325. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/gate/__init__.py +0 -0
  326. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/if_then/__init__.py +0 -0
  327. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
  328. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
  329. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/shell/__init__.py +0 -0
  330. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/switch/__init__.py +0 -0
  331. {specify_cli-0.12.17 → specify_cli-0.13.0}/src/specify_cli/workflows/steps/while_loop/__init__.py +0 -0
  332. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/checklist-template.md +0 -0
  333. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/commands/analyze.md +0 -0
  334. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/commands/checklist.md +0 -0
  335. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/commands/clarify.md +0 -0
  336. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/commands/constitution.md +0 -0
  337. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/commands/converge.md +0 -0
  338. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/commands/implement.md +0 -0
  339. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/commands/plan.md +0 -0
  340. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/commands/specify.md +0 -0
  341. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/commands/tasks.md +0 -0
  342. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/commands/taskstoissues.md +0 -0
  343. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/constitution-template.md +0 -0
  344. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/plan-template.md +0 -0
  345. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/spec-template.md +0 -0
  346. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/tasks-template.md +0 -0
  347. {specify_cli-0.12.17 → specify_cli-0.13.0}/templates/vscode-settings.json +0 -0
  348. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/__init__.py +0 -0
  349. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/auth_helpers.py +0 -0
  350. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/bundler_helpers.py +0 -0
  351. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/conftest.py +0 -0
  352. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/contract/test_bundle_cli.py +0 -0
  353. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/contract/test_catalog_schema.py +0 -0
  354. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/contract/test_manifest_schema.py +0 -0
  355. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/extensions/__init__.py +0 -0
  356. {specify_cli-0.12.17/tests/extensions/bug → specify_cli-0.13.0/tests/extensions/assess}/__init__.py +0 -0
  357. {specify_cli-0.12.17/tests/integrations → specify_cli-0.13.0/tests/extensions/bug}/__init__.py +0 -0
  358. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/extensions/bug/test_bug_extension.py +0 -0
  359. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/extensions/git/__init__.py +0 -0
  360. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/extensions/git/test_git_extension.py +0 -0
  361. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/extensions/git/test_git_extension_python_parity.py +0 -0
  362. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/extensions/test_agent_context_cli_free.py +0 -0
  363. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/extensions/test_extension_agent_context.py +0 -0
  364. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
  365. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/extensions/test_update_agent_context_python_parity.py +0 -0
  366. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/hooks/TESTING.md +0 -0
  367. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/hooks/plan.md +0 -0
  368. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/hooks/spec.md +0 -0
  369. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/hooks/tasks.md +0 -0
  370. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/http_helpers.py +0 -0
  371. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integration/test_bundler_catalog_stack.py +0 -0
  372. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integration/test_bundler_init_install.py +0 -0
  373. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integration/test_bundler_install_flow.py +0 -0
  374. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integration/test_bundler_local_install.py +0 -0
  375. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integration/test_bundler_offline.py +0 -0
  376. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integration/test_bundler_security_paths.py +0 -0
  377. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/conftest.py +0 -0
  378. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_base.py +0 -0
  379. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_cli.py +0 -0
  380. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_extra_args.py +0 -0
  381. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_home_isolation.py +0 -0
  382. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_agy.py +0 -0
  383. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_amp.py +0 -0
  384. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_auggie.py +0 -0
  385. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_base_markdown.py +0 -0
  386. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_base_skills.py +0 -0
  387. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_base_toml.py +0 -0
  388. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_base_yaml.py +0 -0
  389. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_bob.py +0 -0
  390. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_catalog.py +0 -0
  391. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_claude.py +0 -0
  392. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_cline.py +0 -0
  393. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_codebuddy.py +0 -0
  394. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_codex.py +0 -0
  395. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_copilot.py +0 -0
  396. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_cursor_agent.py +0 -0
  397. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_devin.py +0 -0
  398. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_firebender.py +0 -0
  399. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_forge.py +0 -0
  400. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_gemini.py +0 -0
  401. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_generic.py +0 -0
  402. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_goose.py +0 -0
  403. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_grok.py +0 -0
  404. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_hermes.py +0 -0
  405. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_junie.py +0 -0
  406. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_kilocode.py +0 -0
  407. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_kimi.py +0 -0
  408. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_kiro_cli.py +0 -0
  409. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_lingma.py +0 -0
  410. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_omp.py +0 -0
  411. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_opencode.py +0 -0
  412. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_pi.py +0 -0
  413. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_qodercli.py +0 -0
  414. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_qwen.py +0 -0
  415. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_rovodev.py +0 -0
  416. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_scaffold.py +0 -0
  417. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_shai.py +0 -0
  418. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_state.py +0 -0
  419. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_subcommand.py +0 -0
  420. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_tabnine.py +0 -0
  421. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_trae.py +0 -0
  422. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_vibe.py +0 -0
  423. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_zcode.py +0 -0
  424. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_integration_zed.py +0 -0
  425. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_manifest.py +0 -0
  426. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_registry.py +0 -0
  427. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
  428. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/self_upgrade_helpers.py +0 -0
  429. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_agent_config_consistency.py +0 -0
  430. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_branch_numbering.py +0 -0
  431. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_check_prerequisites_paths_only.py +0 -0
  432. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_check_prerequisites_python_parity.py +0 -0
  433. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_check_tool.py +0 -0
  434. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_cli_version.py +0 -0
  435. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_command_template_py_scripts.py +0 -0
  436. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_commands_package.py +0 -0
  437. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_console_imports.py +0 -0
  438. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_extension_registration.py +0 -0
  439. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_extension_skills.py +0 -0
  440. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_extension_update_hardening.py +0 -0
  441. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_extensions.py +0 -0
  442. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_github_http.py +0 -0
  443. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_github_workflows.py +0 -0
  444. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_init_dir.py +0 -0
  445. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_init_dir_cli.py +0 -0
  446. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_live_transient_windows.py +0 -0
  447. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_merge.py +0 -0
  448. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_post_process.py +0 -0
  449. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_ps1_encoding.py +0 -0
  450. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_registrar_path_traversal.py +0 -0
  451. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_self_upgrade_detection.py +0 -0
  452. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_self_upgrade_execution.py +0 -0
  453. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_self_upgrade_guidance.py +0 -0
  454. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_self_upgrade_verification.py +0 -0
  455. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_setup_plan_feature_json.py +0 -0
  456. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_setup_plan_no_overwrite.py +0 -0
  457. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_setup_tasks.py +0 -0
  458. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_shared_infra_integrity.py +0 -0
  459. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_timestamp_branches.py +0 -0
  460. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_upgrade.py +0 -0
  461. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_utils.py +0 -0
  462. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_utils_assets_imports.py +0 -0
  463. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_version_imports.py +0 -0
  464. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/test_workflow_run_without_project.py +0 -0
  465. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/unit/test_bundler_adapters.py +0 -0
  466. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/unit/test_bundler_catalog_config.py +0 -0
  467. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/unit/test_bundler_conflict.py +0 -0
  468. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/unit/test_bundler_packager.py +0 -0
  469. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/unit/test_bundler_primitives.py +0 -0
  470. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/unit/test_bundler_records.py +0 -0
  471. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/unit/test_bundler_references.py +0 -0
  472. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/unit/test_bundler_resolver.py +0 -0
  473. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/unit/test_bundler_validator.py +0 -0
  474. {specify_cli-0.12.17 → specify_cli-0.13.0}/tests/unit/test_bundler_versioning.py +0 -0
  475. {specify_cli-0.12.17 → specify_cli-0.13.0}/workflows/ARCHITECTURE.md +0 -0
  476. {specify_cli-0.12.17 → specify_cli-0.13.0}/workflows/PUBLISHING.md +0 -0
  477. {specify_cli-0.12.17 → specify_cli-0.13.0}/workflows/README.md +0 -0
  478. {specify_cli-0.12.17 → specify_cli-0.13.0}/workflows/catalog.community.json +0 -0
  479. {specify_cli-0.12.17 → specify_cli-0.13.0}/workflows/catalog.json +0 -0
  480. {specify_cli-0.12.17 → specify_cli-0.13.0}/workflows/speckit/workflow.yml +0 -0
  481. {specify_cli-0.12.17 → specify_cli-0.13.0}/workflows/step-catalog.community.json +0 -0
  482. {specify_cli-0.12.17 → specify_cli-0.13.0}/workflows/step-catalog.json +0 -0
@@ -36,7 +36,7 @@
36
36
  # - actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
37
37
  # - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
38
38
  # - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
39
- # - actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
39
+ # - actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
40
40
  # - actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
41
41
  # - github/gh-aw-actions/setup@c0338fef4749d08c21f8f975fb0e37efa17dda47 # v0.79.8
42
42
  #
@@ -1399,7 +1399,7 @@ jobs:
1399
1399
  mkdir -p /tmp/gh-aw/threat-detection
1400
1400
  touch /tmp/gh-aw/threat-detection/detection.log
1401
1401
  - name: Setup Node.js
1402
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
1402
+ uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
1403
1403
  with:
1404
1404
  node-version: '24'
1405
1405
  package-manager-cache: false
@@ -36,7 +36,7 @@
36
36
  # - actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
37
37
  # - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
38
38
  # - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
39
- # - actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
39
+ # - actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
40
40
  # - actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
41
41
  # - github/gh-aw-actions/setup@c0338fef4749d08c21f8f975fb0e37efa17dda47 # v0.79.8
42
42
  #
@@ -1399,7 +1399,7 @@ jobs:
1399
1399
  mkdir -p /tmp/gh-aw/threat-detection
1400
1400
  touch /tmp/gh-aw/threat-detection/detection.log
1401
1401
  - name: Setup Node.js
1402
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
1402
+ uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
1403
1403
  with:
1404
1404
  node-version: '24'
1405
1405
  package-manager-cache: false
@@ -35,7 +35,7 @@
35
35
  # - actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
36
36
  # - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
37
37
  # - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
38
- # - actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
38
+ # - actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
39
39
  # - actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
40
40
  # - github/gh-aw-actions/setup@c0338fef4749d08c21f8f975fb0e37efa17dda47 # v0.79.8
41
41
  #
@@ -1344,7 +1344,7 @@ jobs:
1344
1344
  mkdir -p /tmp/gh-aw/threat-detection
1345
1345
  touch /tmp/gh-aw/threat-detection/detection.log
1346
1346
  - name: Setup Node.js
1347
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
1347
+ uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
1348
1348
  with:
1349
1349
  node-version: '24'
1350
1350
  package-manager-cache: false
@@ -36,7 +36,7 @@
36
36
  # - actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
37
37
  # - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
38
38
  # - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
39
- # - actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
39
+ # - actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
40
40
  # - actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
41
41
  # - github/gh-aw-actions/setup@c0338fef4749d08c21f8f975fb0e37efa17dda47 # v0.79.8
42
42
  #
@@ -1405,7 +1405,7 @@ jobs:
1405
1405
  mkdir -p /tmp/gh-aw/threat-detection
1406
1406
  touch /tmp/gh-aw/threat-detection/detection.log
1407
1407
  - name: Setup Node.js
1408
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
1408
+ uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
1409
1409
  with:
1410
1410
  node-version: '24'
1411
1411
  package-manager-cache: false
@@ -35,7 +35,7 @@
35
35
  # - actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
36
36
  # - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
37
37
  # - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
38
- # - actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
38
+ # - actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
39
39
  # - actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
40
40
  # - github/gh-aw-actions/setup@c0338fef4749d08c21f8f975fb0e37efa17dda47 # v0.79.8
41
41
  #
@@ -1366,7 +1366,7 @@ jobs:
1366
1366
  mkdir -p /tmp/gh-aw/threat-detection
1367
1367
  touch /tmp/gh-aw/threat-detection/detection.log
1368
1368
  - name: Setup Node.js
1369
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
1369
+ uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
1370
1370
  with:
1371
1371
  node-version: '24'
1372
1372
  package-manager-cache: false
@@ -22,11 +22,11 @@ jobs:
22
22
  uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
23
23
 
24
24
  - name: Initialize CodeQL
25
- uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
25
+ uses: github/codeql-action/init@7188fc363630916deb702c7fdcf4e481b751f97a # v4
26
26
  with:
27
27
  languages: ${{ matrix.language }}
28
28
 
29
29
  - name: Perform CodeQL Analysis
30
- uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
30
+ uses: github/codeql-action/analyze@7188fc363630916deb702c7fdcf4e481b751f97a # v4
31
31
  with:
32
32
  category: "/language:${{ matrix.language }}"
@@ -35,7 +35,7 @@ jobs:
35
35
  fetch-depth: 0 # Fetch all history for git info
36
36
 
37
37
  - name: Setup .NET
38
- uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0
38
+ uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
39
39
  with:
40
40
  dotnet-version: '8.x'
41
41
 
@@ -14,7 +14,7 @@ jobs:
14
14
  stale:
15
15
  runs-on: ubuntu-latest
16
16
  steps:
17
- - uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10
17
+ - uses: actions/stale@1e223db275d687790206a7acac4d1a11bd6fe629 # v10
18
18
  with:
19
19
  # Days of inactivity before an issue or PR becomes stale
20
20
  days-before-stale: 150
@@ -2,6 +2,36 @@
2
2
 
3
3
  <!-- insert new changelog below this comment -->
4
4
 
5
+ ## [0.13.0] - 2026-07-17
6
+
7
+ ### Changed
8
+
9
+ - fix(auth): Azure DevOps az-CLI token acquisition returns None on undecodable output (#3527)
10
+ - feat(extensions): add assess idea assessment pipeline extension (#3568)
11
+ - fix(bundle): surface a clean BundlerError on a malformed bundle download URL (#3586)
12
+ - Add OKF Knowledge Bundle Generator extension to community catalog (#3585)
13
+ - Update Autonomous Run Governance preset to v0.2.2 (#3584)
14
+ - docs: update extension guide PyPI upgrade guidance (#3578)
15
+ - fix(presets): raise PresetValidationError, not raw ValueError, on malformed catalog URL (#3576)
16
+ - chore(deps): bump github/codeql-action/init from 4.36.2 to 4.37.1 (#3571)
17
+ - docs: align README hero tagline and subtitle with docs/index.md (#3581)
18
+ - chore: release 0.12.18, begin 0.12.19.dev0 development (#3583)
19
+
20
+ ## [0.12.18] - 2026-07-17
21
+
22
+ ### Changed
23
+
24
+ - chore(deps): bump actions/setup-dotnet from 5.4.0 to 6.0.0 (#3574)
25
+ - chore(deps): bump actions/stale from 10.3.0 to 10.4.0 (#3572)
26
+ - chore(deps): bump actions/setup-node from 6.4.0 to 7.0.0 (#3570)
27
+ - docs: weave harness/SDLC framing into landing page (#3567)
28
+ - docs: reframe SDD positioning, modernize install, and de-duplicate walkthroughs (#3565)
29
+ - docs: document extensions.yml hook configuration (#3563)
30
+ - docs: refresh landing page ecosystem stats (#3561)
31
+ - [extension] Add Dotdog extension to community catalog (#3558)
32
+ - Update DocGuard — CDD Enforcement to v0.33.0 (#3559)
33
+ - chore: release 0.12.17, begin 0.12.18.dev0 development (#3560)
34
+
5
35
  ## [0.12.17] - 2026-07-16
6
36
 
7
37
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: specify-cli
3
- Version: 0.12.17
3
+ Version: 0.13.0
4
4
  Summary: Specify CLI, part of GitHub Spec Kit. A tool to bootstrap your projects for Spec-Driven Development (SDD).
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.11
@@ -21,11 +21,11 @@ Description-Content-Type: text/markdown
21
21
  <div align="center">
22
22
  <img src="./media/logo_large.webp" alt="Spec Kit Logo" width="200" height="200"/>
23
23
  <h1>🌱 Spec Kit</h1>
24
- <h3><em>Build high-quality software faster.</em></h3>
24
+ <h3><em>Define what to build before building it — with any AI coding agent.</em></h3>
25
25
  </div>
26
26
 
27
27
  <p align="center">
28
- <strong>An open source toolkit that allows you to focus on product scenarios and predictable outcomes instead of vibe coding every piece from scratch.</strong>
28
+ <strong>An open source toolkit for building high-quality software with any AI coding agent — a ready-to-use spec-driven process (or bring your own), endlessly extensible, community-driven, and built for your whole organization.</strong>
29
29
  </p>
30
30
 
31
31
  <p align="center">
@@ -52,7 +52,6 @@ Description-Content-Type: text/markdown
52
52
  - [🎯 Experimental Goals](#-experimental-goals)
53
53
  - [🔧 Prerequisites](#-prerequisites)
54
54
  - [📖 Learn More](#-learn-more)
55
- - [📋 Detailed Process](#-detailed-process)
56
55
  - [💬 Support](#-support)
57
56
  - [🙏 Acknowledgements](#-acknowledgements)
58
57
  - [📄 License](#-license)
@@ -381,294 +380,7 @@ If you encounter issues with an agent, please open an issue so we can refine the
381
380
  ## 📖 Learn More
382
381
 
383
382
  - **[Complete Spec-Driven Development Methodology](./spec-driven.md)** - Deep dive into the full process
384
- - **[Detailed Walkthrough](#-detailed-process)** - Step-by-step implementation guide
385
-
386
- ---
387
-
388
- ## 📋 Detailed Process
389
-
390
- <details>
391
- <summary>Click to expand the detailed step-by-step walkthrough</summary>
392
-
393
- You can use the Specify CLI to bootstrap your project, which will bring in the required artifacts in your environment. Run:
394
-
395
- ```bash
396
- specify init <project_name>
397
- ```
398
-
399
- Or initialize in the current directory:
400
-
401
- ```bash
402
- specify init .
403
- # or use the --here flag
404
- specify init --here
405
- # Skip confirmation when the directory already has files
406
- specify init . --force
407
- # or
408
- specify init --here --force
409
- ```
410
-
411
- ![Specify CLI bootstrapping a new project in the terminal](./media/specify_cli.gif)
412
-
413
- In an interactive terminal, you will be prompted to select the coding agent integration you are using. In non-interactive sessions, such as CI or piped runs, `specify init` defaults to GitHub Copilot unless you pass `--integration`. You can also proactively specify the integration directly in the terminal:
414
-
415
- ```bash
416
- specify init <project_name> --integration copilot
417
- specify init <project_name> --integration gemini
418
- specify init <project_name> --integration codex
419
-
420
- # Or in current directory:
421
- specify init . --integration copilot
422
- specify init . --integration codex --integration-options="--skills"
423
-
424
- # or use --here flag
425
- specify init --here --integration copilot
426
- specify init --here --integration codex --integration-options="--skills"
427
-
428
- # Force merge into a non-empty current directory
429
- specify init . --force --integration copilot
430
-
431
- # or
432
- specify init --here --force --integration copilot
433
- ```
434
-
435
- The CLI checks that the selected integration's required CLI tool is installed on your machine when that integration has `requires_cli: True`. If you do not have the required tool installed, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command:
436
-
437
- ```bash
438
- specify init <project_name> --integration copilot --ignore-agent-tools
439
- ```
440
-
441
- ### **STEP 1:** Establish project principles
442
-
443
- Go to the project folder and run your coding agent. In our example, we're using `claude`.
444
-
445
- ![Bootstrapping Claude Code environment](./media/bootstrap-claude-code.gif)
446
-
447
- You will know that things are configured correctly if you see the `/speckit.constitution`, `/speckit.specify`, `/speckit.plan`, `/speckit.tasks`, and `/speckit.implement` commands available.
448
-
449
- The first step should be establishing your project's governing principles using the `/speckit.constitution` command. This helps ensure consistent decision-making throughout all subsequent development phases:
450
-
451
- ```text
452
- /speckit.constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements. Include governance for how these principles should guide technical decisions and implementation choices.
453
- ```
454
-
455
- This step creates or updates the `.specify/memory/constitution.md` file with your project's foundational guidelines that the coding agent will reference during specification, planning, and implementation phases.
456
-
457
- ### **STEP 2:** Create project specifications
458
-
459
- With your project principles established, you can now create the functional specifications. Use the `/speckit.specify` command and then provide the concrete requirements for the project you want to develop.
460
-
461
- > [!IMPORTANT]
462
- > Be as explicit as possible about *what* you are trying to build and *why*. **Do not focus on the tech stack at this point**.
463
-
464
- An example prompt:
465
-
466
- ```text
467
- Develop Taskify, a team productivity platform. It should allow users to create projects, add team members,
468
- assign tasks, comment and move tasks between boards in Kanban style. In this initial phase for this feature,
469
- let's call it "Create Taskify," let's have multiple users but the users will be declared ahead of time, predefined.
470
- I want five users in two different categories, one product manager and four engineers. Let's create three
471
- different sample projects. Let's have the standard Kanban columns for the status of each task, such as "To Do,"
472
- "In Progress," "In Review," and "Done." There will be no login for this application as this is just the very
473
- first testing thing to ensure that our basic features are set up. For each task in the UI for a task card,
474
- you should be able to change the current status of the task between the different columns in the Kanban work board.
475
- You should be able to leave an unlimited number of comments for a particular card. You should be able to, from that task
476
- card, assign one of the valid users. When you first launch Taskify, it's going to give you a list of the five users to pick
477
- from. There will be no password required. When you click on a user, you go into the main view, which displays the list of
478
- projects. When you click on a project, you open the Kanban board for that project. You're going to see the columns.
479
- You'll be able to drag and drop cards back and forth between different columns. You will see any cards that are
480
- assigned to you, the currently logged in user, in a different color from all the other ones, so you can quickly
481
- see yours. You can edit any comments that you make, but you can't edit comments that other people made. You can
482
- delete any comments that you made, but you can't delete comments anybody else made.
483
- ```
484
-
485
- After this prompt is entered, you should see Claude Code kick off the planning and spec drafting process. Claude Code will also trigger some of the built-in scripts to set up the repository.
486
-
487
- Once this step is completed, you should have a new branch created (e.g., `001-create-taskify`), as well as a new specification in the `specs/001-create-taskify` directory.
488
-
489
- The produced specification should contain a set of user stories and functional requirements, as defined in the template.
490
-
491
- At this stage, your project folder contents should resemble the following:
492
-
493
- ```text
494
- .
495
- ├── .specify
496
- │ ├── memory
497
- │ │ └── constitution.md
498
- │ ├── scripts
499
- │ │ └── bash
500
- │ │ ├── check-prerequisites.sh
501
- │ │ ├── common.sh
502
- │ │ ├── create-new-feature.sh
503
- │ │ ├── setup-plan.sh
504
- │ │ └── setup-tasks.sh
505
- │ └── templates
506
- │ ├── plan-template.md
507
- │ ├── spec-template.md
508
- │ └── tasks-template.md
509
- └── specs
510
- └── 001-create-taskify
511
- └── spec.md
512
- ```
513
-
514
- ### **STEP 3:** Functional specification clarification (required before planning)
515
-
516
- With the baseline specification created, you can go ahead and clarify any of the requirements that were not captured properly within the first shot attempt.
517
-
518
- You should run the structured clarification workflow **before** creating a technical plan to reduce rework downstream.
519
-
520
- Preferred order:
521
-
522
- 1. Use `/speckit.clarify` (structured) – sequential, coverage-based questioning that records answers in a Clarifications section.
523
- 2. Optionally follow up with ad-hoc free-form refinement if something still feels vague.
524
-
525
- If you intentionally want to skip clarification (e.g., spike or exploratory prototype), explicitly state that so the agent doesn't block on missing clarifications.
526
-
527
- Example free-form refinement prompt (after `/speckit.clarify` if still needed):
528
-
529
- ```text
530
- For each sample project or project that you create there should be a variable number of tasks between 5 and 15
531
- tasks for each one randomly distributed into different states of completion. Make sure that there's at least
532
- one task in each stage of completion.
533
- ```
534
-
535
- You should also ask Claude Code to validate the **Review & Acceptance Checklist**, checking off the things that are validated/pass the requirements, and leave the ones that are not unchecked. The following prompt can be used:
536
-
537
- ```text
538
- Read the review and acceptance checklist, and check off each item in the checklist if the feature spec meets the criteria. Leave it empty if it does not.
539
- ```
540
-
541
- It's important to use the interaction with Claude Code as an opportunity to clarify and ask questions around the specification - **do not treat its first attempt as final**.
542
-
543
- ### **STEP 4:** Generate a plan
544
-
545
- You can now be specific about the tech stack and other technical requirements. You can use the `/speckit.plan` command that is built into the project template with a prompt like this:
546
-
547
- ```text
548
- We are going to generate this using .NET Aspire, using Postgres as the database. The frontend should use
549
- Blazor server with drag-and-drop task boards, real-time updates. There should be a REST API created with a projects API,
550
- tasks API, and a notifications API.
551
- ```
552
-
553
- The output of this step will include a number of implementation detail documents, with your directory tree resembling this:
554
-
555
- ```text
556
- .
557
- ├── CLAUDE.md
558
- ├── .specify
559
- │ ├── memory
560
- │ │ └── constitution.md
561
- │ ├── scripts
562
- │ │ └── bash
563
- │ │ ├── check-prerequisites.sh
564
- │ │ ├── common.sh
565
- │ │ ├── create-new-feature.sh
566
- │ │ ├── setup-plan.sh
567
- │ │ └── setup-tasks.sh
568
- │ └── templates
569
- │ ├── CLAUDE-template.md
570
- │ ├── plan-template.md
571
- │ ├── spec-template.md
572
- │ └── tasks-template.md
573
- └── specs
574
- └── 001-create-taskify
575
- ├── contracts
576
- │ ├── api-spec.json
577
- │ └── signalr-spec.md
578
- ├── data-model.md
579
- ├── plan.md
580
- ├── quickstart.md
581
- ├── research.md
582
- └── spec.md
583
- ```
584
-
585
- Check the `research.md` document to ensure that the right tech stack is used, based on your instructions. You can ask Claude Code to refine it if any of the components stand out, or even have it check the locally-installed version of the platform/framework you want to use (e.g., .NET).
586
-
587
- Additionally, you might want to ask Claude Code to research details about the chosen tech stack if it's something that is rapidly changing (e.g., .NET Aspire, JS frameworks), with a prompt like this:
588
-
589
- ```text
590
- I want you to go through the implementation plan and implementation details, looking for areas that could
591
- benefit from additional research as .NET Aspire is a rapidly changing library. For those areas that you identify that
592
- require further research, I want you to update the research document with additional details about the specific
593
- versions that we are going to be using in this Taskify application and spawn parallel research tasks to clarify
594
- any details using research from the web.
595
- ```
596
-
597
- During this process, you might find that Claude Code gets stuck researching the wrong thing - you can help nudge it in the right direction with a prompt like this:
598
-
599
- ```text
600
- I think we need to break this down into a series of steps. First, identify a list of tasks
601
- that you would need to do during implementation that you're not sure of or would benefit
602
- from further research. Write down a list of those tasks. And then for each one of these tasks,
603
- I want you to spin up a separate research task so that the net results is we are researching
604
- all of those very specific tasks in parallel. What I saw you doing was it looks like you were
605
- researching .NET Aspire in general and I don't think that's gonna do much for us in this case.
606
- That's way too untargeted research. The research needs to help you solve a specific targeted question.
607
- ```
608
-
609
- > [!NOTE]
610
- > Claude Code might be over-eager and add components that you did not ask for. Ask it to clarify the rationale and the source of the change.
611
-
612
- ### **STEP 5:** Have Claude Code validate the plan
613
-
614
- With the plan in place, you should have Claude Code run through it to make sure that there are no missing pieces. You can use a prompt like this:
615
-
616
- ```text
617
- Now I want you to go and audit the implementation plan and the implementation detail files.
618
- Read through it with an eye on determining whether or not there is a sequence of tasks that you need
619
- to be doing that are obvious from reading this. Because I don't know if there's enough here. For example,
620
- when I look at the core implementation, it would be useful to reference the appropriate places in the implementation
621
- details where it can find the information as it walks through each step in the core implementation or in the refinement.
622
- ```
623
-
624
- This helps refine the implementation plan and helps you avoid potential blind spots that Claude Code missed in its planning cycle. Once the initial refinement pass is complete, ask Claude Code to go through the checklist once more before you can get to the implementation.
625
-
626
- You can also ask Claude Code (if you have the [GitHub CLI](https://docs.github.com/en/github-cli/github-cli) installed) to go ahead and create a pull request from your current branch to `main` with a detailed description, to make sure that the effort is properly tracked.
627
-
628
- > [!NOTE]
629
- > Before you have the agent implement it, it's also worth prompting Claude Code to cross-check the details to see if there are any over-engineered pieces (remember - it can be over-eager). If over-engineered components or decisions exist, you can ask Claude Code to resolve them. Ensure that Claude Code follows the constitution in `.specify/memory/constitution.md` as the foundational piece that it must adhere to when establishing the plan.
630
-
631
- ### **STEP 6:** Generate task breakdown with /speckit.tasks
632
-
633
- With the implementation plan validated, you can now break down the plan into specific, actionable tasks that can be executed in the correct order. Use the `/speckit.tasks` command to automatically generate a detailed task breakdown from your implementation plan:
634
-
635
- ```text
636
- /speckit.tasks
637
- ```
638
-
639
- This step creates a `tasks.md` file in your feature specification directory that contains:
640
-
641
- - **Task breakdown organized by user story** - Each user story becomes a separate implementation phase with its own set of tasks
642
- - **Dependency management** - Tasks are ordered to respect dependencies between components (e.g., models before services, services before endpoints)
643
- - **Parallel execution markers** - Tasks that can run in parallel are marked with `[P]` to optimize development workflow
644
- - **File path specifications** - Each task includes the exact file paths where implementation should occur
645
- - **Test-driven development structure** - If tests are requested, test tasks are included and ordered to be written before implementation
646
- - **Checkpoint validation** - Each user story phase includes checkpoints to validate independent functionality
647
-
648
- The generated tasks.md provides a clear roadmap for the `/speckit.implement` command, ensuring systematic implementation that maintains code quality and allows for incremental delivery of user stories.
649
-
650
- ### **STEP 7:** Implementation
651
-
652
- Once ready, use the `/speckit.implement` command to execute your implementation plan:
653
-
654
- ```text
655
- /speckit.implement
656
- ```
657
-
658
- The `/speckit.implement` command will:
659
-
660
- - Validate that all prerequisites are in place (constitution, spec, plan, and tasks)
661
- - Parse the task breakdown from `tasks.md`
662
- - Execute tasks in the correct order, respecting dependencies and parallel execution markers
663
- - Follow the TDD approach defined in your task plan
664
- - Provide progress updates and handle errors appropriately
665
-
666
- > [!IMPORTANT]
667
- > The coding agent will execute local CLI commands (such as `dotnet`, `npm`, etc.) - make sure you have the required tools installed on your machine.
668
-
669
- Once the implementation is complete, test the application and resolve any runtime errors that may not be visible in CLI logs (e.g., browser console errors). You can copy and paste such errors back to your coding agent for resolution.
670
-
671
- </details>
383
+ - **[Quick Start Guide](https://github.github.io/spec-kit/quickstart.html)** - Step-by-step implementation walkthrough
672
384
 
673
385
  ---
674
386