specify-cli 1.0.1__tar.gz → 1.0.3__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 (547) hide show
  1. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/ISSUE_TEMPLATE/agent_request.yml +1 -1
  2. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/ISSUE_TEMPLATE/bug_report.yml +1 -0
  3. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/ISSUE_TEMPLATE/feature_request.yml +1 -0
  4. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/codeql.yml +2 -2
  5. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/publish-pypi.yml +5 -3
  6. {specify_cli-1.0.1 → specify_cli-1.0.3}/AGENTS.md +2 -0
  7. {specify_cli-1.0.1 → specify_cli-1.0.3}/CHANGELOG.md +50 -0
  8. {specify_cli-1.0.1 → specify_cli-1.0.3}/PKG-INFO +22 -1
  9. {specify_cli-1.0.1 → specify_cli-1.0.3}/README.md +21 -0
  10. {specify_cli-1.0.1 → specify_cli-1.0.3}/bundles/catalog.community.json +3 -3
  11. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/community/extensions.md +8 -3
  12. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/community/presets.md +2 -1
  13. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/reference/integrations.md +1 -0
  14. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/EXTENSION-PUBLISHING-GUIDE.md +1 -2
  15. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/catalog.community.json +233 -29
  16. {specify_cli-1.0.1 → specify_cli-1.0.3}/integrations/catalog.json +10 -1
  17. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/catalog.community.json +39 -12
  18. {specify_cli-1.0.1 → specify_cli-1.0.3}/pyproject.toml +1 -1
  19. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/bash/check-prerequisites.sh +13 -0
  20. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/bash/setup-plan.sh +2 -2
  21. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/powershell/check-prerequisites.ps1 +11 -0
  22. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/powershell/common.ps1 +2 -2
  23. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/powershell/setup-plan.ps1 +5 -0
  24. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/python/check_prerequisites.py +14 -0
  25. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/python/setup_plan.py +3 -1
  26. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/_github_http.py +3 -0
  27. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/_utils.py +41 -0
  28. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/authentication/config.py +4 -2
  29. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/models/catalog.py +8 -3
  30. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/services/primitives.py +5 -3
  31. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/commands/event.py +17 -6
  32. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/events.py +11 -2
  33. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/__init__.py +2 -0
  34. specify_cli-1.0.3/src/specify_cli/integrations/docker_agent/__init__.py +126 -0
  35. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/presets/__init__.py +11 -2
  36. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/catalog.py +8 -4
  37. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/expressions.py +36 -0
  38. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/do_while/__init__.py +16 -0
  39. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/if_then/__init__.py +16 -0
  40. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/while_loop/__init__.py +16 -0
  41. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/commands/analyze.md +3 -3
  42. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/commands/converge.md +3 -3
  43. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/contract/test_bundle_cli.py +4 -1
  44. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/contract/test_catalog_schema.py +9 -0
  45. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_events.py +47 -0
  46. specify_cli-1.0.3/tests/integrations/test_integration_docker_agent.py +133 -0
  47. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_agent_config_consistency.py +1 -0
  48. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_authentication.py +4 -2
  49. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_check_prerequisites_paths_only.py +35 -1
  50. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_check_prerequisites_python_parity.py +72 -0
  51. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_check_tool.py +36 -0
  52. specify_cli-1.0.3/tests/test_event_command.py +145 -0
  53. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_github_http.py +18 -0
  54. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_github_workflows.py +86 -0
  55. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_presets.py +54 -0
  56. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_setup_plan_python_parity.py +10 -8
  57. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_workflows.py +24 -0
  58. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundler_primitives.py +114 -15
  59. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_condition_expression_block.py +71 -0
  60. {specify_cli-1.0.1 → specify_cli-1.0.3}/workflows/README.md +1 -1
  61. {specify_cli-1.0.1 → specify_cli-1.0.3}/.devcontainer/devcontainer.json +0 -0
  62. {specify_cli-1.0.1 → specify_cli-1.0.3}/.devcontainer/post-create.sh +0 -0
  63. {specify_cli-1.0.1 → specify_cli-1.0.3}/.editorconfig +0 -0
  64. {specify_cli-1.0.1 → specify_cli-1.0.3}/.gitattributes +0 -0
  65. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/CODEOWNERS +0 -0
  66. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/ISSUE_TEMPLATE/bundle_submission.yml +0 -0
  67. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  68. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
  69. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
  70. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  71. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/aw/actions-lock.json +0 -0
  72. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/dependabot.yml +0 -0
  73. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/scripts/check_security_requirements.py +0 -0
  74. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/security-audit-requirements.txt +0 -0
  75. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/skills/add-community-extension/SKILL.md +0 -0
  76. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/RELEASE-PROCESS.md +0 -0
  77. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/add-community-bundle.lock.yml +0 -0
  78. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/add-community-bundle.md +0 -0
  79. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/add-community-extension.lock.yml +0 -0
  80. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/add-community-extension.md +0 -0
  81. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/add-community-preset.lock.yml +0 -0
  82. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/add-community-preset.md +0 -0
  83. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/bug-assess.lock.yml +0 -0
  84. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/bug-assess.md +0 -0
  85. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/bug-fix.lock.yml +0 -0
  86. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/bug-fix.md +0 -0
  87. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/bug-test.lock.yml +0 -0
  88. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/bug-test.md +0 -0
  89. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/catalog-assign.yml +0 -0
  90. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/docs.yml +0 -0
  91. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/feature-assess.lock.yml +0 -0
  92. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/feature-assess.md +0 -0
  93. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/lint.yml +0 -0
  94. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/release-trigger.yml +0 -0
  95. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/release.yml +0 -0
  96. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/security.yml +0 -0
  97. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/stale.yml +0 -0
  98. {specify_cli-1.0.1 → specify_cli-1.0.3}/.github/workflows/test.yml +0 -0
  99. {specify_cli-1.0.1 → specify_cli-1.0.3}/.gitignore +0 -0
  100. {specify_cli-1.0.1 → specify_cli-1.0.3}/.markdownlint-cli2.jsonc +0 -0
  101. {specify_cli-1.0.1 → specify_cli-1.0.3}/.pre-commit-config.yaml +0 -0
  102. {specify_cli-1.0.1 → specify_cli-1.0.3}/.zenodo.json +0 -0
  103. {specify_cli-1.0.1 → specify_cli-1.0.3}/CITATION.cff +0 -0
  104. {specify_cli-1.0.1 → specify_cli-1.0.3}/CODE_OF_CONDUCT.md +0 -0
  105. {specify_cli-1.0.1 → specify_cli-1.0.3}/CONTRIBUTING.md +0 -0
  106. {specify_cli-1.0.1 → specify_cli-1.0.3}/DEVELOPMENT.md +0 -0
  107. {specify_cli-1.0.1 → specify_cli-1.0.3}/LICENSE +0 -0
  108. {specify_cli-1.0.1 → specify_cli-1.0.3}/README.zh-CN.md +0 -0
  109. {specify_cli-1.0.1 → specify_cli-1.0.3}/SECURITY.md +0 -0
  110. {specify_cli-1.0.1 → specify_cli-1.0.3}/SUPPORT.md +0 -0
  111. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/.gitignore +0 -0
  112. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/README.md +0 -0
  113. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/community/bundles.md +0 -0
  114. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/community/friends.md +0 -0
  115. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/community/overview.md +0 -0
  116. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/community/walkthroughs.md +0 -0
  117. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/concepts/complex-features.md +0 -0
  118. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/concepts/sdd.md +0 -0
  119. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/concepts/spec-of-specs.md +0 -0
  120. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/concepts/spec-persistence.md +0 -0
  121. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/docfx.json +0 -0
  122. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/guides/evolving-specs.md +0 -0
  123. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/guides/existing-projects.md +0 -0
  124. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/guides/monorepo.md +0 -0
  125. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/history.md +0 -0
  126. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/images/spec-kit-logo.webp +0 -0
  127. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/index.md +0 -0
  128. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/install/air-gapped.md +0 -0
  129. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/install/one-time.md +0 -0
  130. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/install/pipx.md +0 -0
  131. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/install/pypi.md +0 -0
  132. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/install/uv.md +0 -0
  133. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/installation.md +0 -0
  134. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/local-development.md +0 -0
  135. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/quickstart.md +0 -0
  136. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/reference/agentic-bugfix.md +0 -0
  137. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/reference/agentic-sdd.md +0 -0
  138. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/reference/authentication.md +0 -0
  139. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/reference/bundles.md +0 -0
  140. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/reference/core.md +0 -0
  141. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/reference/extensions.md +0 -0
  142. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/reference/overview.md +0 -0
  143. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/reference/presets.md +0 -0
  144. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/reference/workflows.md +0 -0
  145. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/template/public/main.css +0 -0
  146. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/toc.yml +0 -0
  147. {specify_cli-1.0.1 → specify_cli-1.0.3}/docs/upgrade.md +0 -0
  148. {specify_cli-1.0.1 → specify_cli-1.0.3}/examples/bundles/business-analyst/README.md +0 -0
  149. {specify_cli-1.0.1 → specify_cli-1.0.3}/examples/bundles/business-analyst/bundle.yml +0 -0
  150. {specify_cli-1.0.1 → specify_cli-1.0.3}/examples/bundles/developer/README.md +0 -0
  151. {specify_cli-1.0.1 → specify_cli-1.0.3}/examples/bundles/developer/bundle.yml +0 -0
  152. {specify_cli-1.0.1 → specify_cli-1.0.3}/examples/bundles/product-manager/README.md +0 -0
  153. {specify_cli-1.0.1 → specify_cli-1.0.3}/examples/bundles/product-manager/bundle.yml +0 -0
  154. {specify_cli-1.0.1 → specify_cli-1.0.3}/examples/bundles/security-researcher/README.md +0 -0
  155. {specify_cli-1.0.1 → specify_cli-1.0.3}/examples/bundles/security-researcher/bundle.yml +0 -0
  156. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/EXTENSION-API-REFERENCE.md +0 -0
  157. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +0 -0
  158. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/EXTENSION-USER-GUIDE.md +0 -0
  159. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/README.md +0 -0
  160. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
  161. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/agent-context/README.md +0 -0
  162. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/agent-context/agent-context-config.yml +0 -0
  163. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/agent-context/agent-context-defaults.json +0 -0
  164. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
  165. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/agent-context/extension.yml +0 -0
  166. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
  167. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
  168. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
  169. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/assess/README.md +0 -0
  170. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/assess/commands/speckit.assess.decide.md +0 -0
  171. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/assess/commands/speckit.assess.define.md +0 -0
  172. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/assess/commands/speckit.assess.intake.md +0 -0
  173. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/assess/commands/speckit.assess.research.md +0 -0
  174. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/assess/commands/speckit.assess.shape.md +0 -0
  175. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/assess/extension.yml +0 -0
  176. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/bug/README.md +0 -0
  177. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/bug/commands/speckit.bug.assess.md +0 -0
  178. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/bug/commands/speckit.bug.fix.md +0 -0
  179. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/bug/commands/speckit.bug.test.md +0 -0
  180. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/bug/extension.yml +0 -0
  181. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/catalog.json +0 -0
  182. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/README.md +0 -0
  183. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/commands/speckit.git.commit.md +0 -0
  184. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/commands/speckit.git.feature.md +0 -0
  185. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/commands/speckit.git.initialize.md +0 -0
  186. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/commands/speckit.git.remote.md +0 -0
  187. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/commands/speckit.git.validate.md +0 -0
  188. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/config-template.yml +0 -0
  189. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/extension.yml +0 -0
  190. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/git-config.yml +0 -0
  191. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/bash/auto-commit.sh +0 -0
  192. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/bash/create-new-feature-branch.sh +0 -0
  193. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/bash/git-common.sh +0 -0
  194. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
  195. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
  196. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +0 -0
  197. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
  198. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
  199. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/python/auto_commit.py +0 -0
  200. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/python/create_new_feature_branch.py +0 -0
  201. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/python/git_common.py +0 -0
  202. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/git/scripts/python/initialize_repo.py +0 -0
  203. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/selftest/commands/selftest.md +0 -0
  204. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/selftest/extension.yml +0 -0
  205. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/template/.gitignore +0 -0
  206. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/template/CHANGELOG.md +0 -0
  207. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/template/EXAMPLE-README.md +0 -0
  208. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/template/LICENSE +0 -0
  209. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/template/README.md +0 -0
  210. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/template/commands/example.md +0 -0
  211. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/template/config-template.yml +0 -0
  212. {specify_cli-1.0.1 → specify_cli-1.0.3}/extensions/template/extension.yml +0 -0
  213. {specify_cli-1.0.1 → specify_cli-1.0.3}/integrations/CONTRIBUTING.md +0 -0
  214. {specify_cli-1.0.1 → specify_cli-1.0.3}/integrations/README.md +0 -0
  215. {specify_cli-1.0.1 → specify_cli-1.0.3}/integrations/catalog.community.json +0 -0
  216. {specify_cli-1.0.1 → specify_cli-1.0.3}/media/bootstrap-claude-code.gif +0 -0
  217. {specify_cli-1.0.1 → specify_cli-1.0.3}/media/logo_large.webp +0 -0
  218. {specify_cli-1.0.1 → specify_cli-1.0.3}/media/logo_small.webp +0 -0
  219. {specify_cli-1.0.1 → specify_cli-1.0.3}/media/spec-kit-video-header.jpg +0 -0
  220. {specify_cli-1.0.1 → specify_cli-1.0.3}/media/specify_cli.gif +0 -0
  221. {specify_cli-1.0.1 → specify_cli-1.0.3}/newsletters/2026-April.md +0 -0
  222. {specify_cli-1.0.1 → specify_cli-1.0.3}/newsletters/2026-February.md +0 -0
  223. {specify_cli-1.0.1 → specify_cli-1.0.3}/newsletters/2026-July.md +0 -0
  224. {specify_cli-1.0.1 → specify_cli-1.0.3}/newsletters/2026-June.md +0 -0
  225. {specify_cli-1.0.1 → specify_cli-1.0.3}/newsletters/2026-March.md +0 -0
  226. {specify_cli-1.0.1 → specify_cli-1.0.3}/newsletters/2026-May.md +0 -0
  227. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/ARCHITECTURE.md +0 -0
  228. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/PUBLISHING.md +0 -0
  229. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/README.md +0 -0
  230. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/catalog.json +0 -0
  231. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/constitution-sync/README.md +0 -0
  232. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
  233. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/constitution-sync/preset.yml +0 -0
  234. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/lean/README.md +0 -0
  235. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/lean/commands/speckit.constitution.md +0 -0
  236. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/lean/commands/speckit.implement.md +0 -0
  237. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/lean/commands/speckit.plan.md +0 -0
  238. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/lean/commands/speckit.specify.md +0 -0
  239. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/lean/commands/speckit.tasks.md +0 -0
  240. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/lean/preset.yml +0 -0
  241. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/scaffold/README.md +0 -0
  242. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
  243. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/scaffold/commands/speckit.specify.md +0 -0
  244. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/scaffold/preset.yml +0 -0
  245. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/scaffold/templates/myext-template.md +0 -0
  246. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/scaffold/templates/spec-template.md +0 -0
  247. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/self-test/commands/speckit.specify.md +0 -0
  248. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/self-test/commands/speckit.wrap-test.md +0 -0
  249. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/self-test/preset.yml +0 -0
  250. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/self-test/templates/checklist-template.md +0 -0
  251. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/self-test/templates/constitution-template.md +0 -0
  252. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/self-test/templates/plan-template.md +0 -0
  253. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/self-test/templates/spec-template.md +0 -0
  254. {specify_cli-1.0.1 → specify_cli-1.0.3}/presets/self-test/templates/tasks-template.md +0 -0
  255. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/bash/common.sh +0 -0
  256. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/bash/create-new-feature.sh +0 -0
  257. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/bash/resolve-template.sh +0 -0
  258. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/bash/setup-tasks.sh +0 -0
  259. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/powershell/create-new-feature.ps1 +0 -0
  260. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/powershell/resolve-template.ps1 +0 -0
  261. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/powershell/setup-tasks.ps1 +0 -0
  262. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/python/common.py +0 -0
  263. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/python/create_new_feature.py +0 -0
  264. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/python/resolve_template.py +0 -0
  265. {specify_cli-1.0.1 → specify_cli-1.0.3}/scripts/python/setup_tasks.py +0 -0
  266. {specify_cli-1.0.1 → specify_cli-1.0.3}/spec-driven.md +0 -0
  267. {specify_cli-1.0.1 → specify_cli-1.0.3}/spec-kit.code-workspace +0 -0
  268. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/__init__.py +0 -0
  269. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/_agent_config.py +0 -0
  270. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/_assets.py +0 -0
  271. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/_console.py +0 -0
  272. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/_download_security.py +0 -0
  273. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/_init_options.py +0 -0
  274. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/_invocation_style.py +0 -0
  275. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/_project.py +0 -0
  276. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/_toml_string.py +0 -0
  277. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/_version.py +0 -0
  278. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/agents.py +0 -0
  279. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/authentication/__init__.py +0 -0
  280. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/authentication/azure_devops.py +0 -0
  281. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/authentication/base.py +0 -0
  282. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/authentication/github.py +0 -0
  283. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/authentication/http.py +0 -0
  284. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/__init__.py +0 -0
  285. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
  286. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/commands_impl/catalog_config.py +0 -0
  287. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/lib/__init__.py +0 -0
  288. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/lib/project.py +0 -0
  289. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/lib/versioning.py +0 -0
  290. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/lib/yamlio.py +0 -0
  291. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/models/__init__.py +0 -0
  292. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/models/manifest.py +0 -0
  293. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/models/records.py +0 -0
  294. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/services/__init__.py +0 -0
  295. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/services/adapters.py +0 -0
  296. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/services/catalog_stack.py +0 -0
  297. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/services/conflict.py +0 -0
  298. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/services/installer.py +0 -0
  299. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/services/packager.py +0 -0
  300. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/services/references.py +0 -0
  301. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/services/resolver.py +0 -0
  302. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/bundler/services/validator.py +0 -0
  303. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/catalogs.py +0 -0
  304. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/commands/__init__.py +0 -0
  305. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/commands/bundle/__init__.py +0 -0
  306. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/commands/init.py +0 -0
  307. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/extensions/__init__.py +0 -0
  308. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/extensions/_commands.py +0 -0
  309. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integration_runtime.py +0 -0
  310. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integration_scaffold.py +0 -0
  311. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integration_state.py +0 -0
  312. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integration_status.py +0 -0
  313. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/_commands.py +0 -0
  314. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/_helpers.py +0 -0
  315. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/_install_commands.py +0 -0
  316. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/_migrate_commands.py +0 -0
  317. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/_query_commands.py +0 -0
  318. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
  319. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/agy/__init__.py +0 -0
  320. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/alquimia/__init__.py +0 -0
  321. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/amp/__init__.py +0 -0
  322. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/auggie/__init__.py +0 -0
  323. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/base.py +0 -0
  324. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/bob/__init__.py +0 -0
  325. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/catalog.py +0 -0
  326. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/claude/__init__.py +0 -0
  327. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/cline/__init__.py +0 -0
  328. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
  329. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/codex/__init__.py +0 -0
  330. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/command_code/__init__.py +0 -0
  331. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/copilot/__init__.py +0 -0
  332. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
  333. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/devin/__init__.py +0 -0
  334. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/droid/__init__.py +0 -0
  335. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/firebender/__init__.py +0 -0
  336. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/forge/__init__.py +0 -0
  337. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/gemini/__init__.py +0 -0
  338. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/generic/__init__.py +0 -0
  339. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/goose/__init__.py +0 -0
  340. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/grok/__init__.py +0 -0
  341. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/hermes/__init__.py +0 -0
  342. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/junie/__init__.py +0 -0
  343. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
  344. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/kimi/__init__.py +0 -0
  345. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
  346. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/lingma/__init__.py +0 -0
  347. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/manifest.py +0 -0
  348. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/omp/__init__.py +0 -0
  349. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/opencode/__init__.py +0 -0
  350. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/pi/__init__.py +0 -0
  351. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
  352. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/qwen/__init__.py +0 -0
  353. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
  354. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/shai/__init__.py +0 -0
  355. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
  356. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/trae/__init__.py +0 -0
  357. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/vibe/__init__.py +0 -0
  358. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/zcode/__init__.py +0 -0
  359. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/integrations/zed/__init__.py +0 -0
  360. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/presets/_commands.py +0 -0
  361. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/shared_infra.py +0 -0
  362. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/__init__.py +0 -0
  363. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/_commands.py +0 -0
  364. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/base.py +0 -0
  365. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/engine.py +0 -0
  366. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/overlays/__init__.py +0 -0
  367. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/overlays/_commands.py +0 -0
  368. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/overlays/composer.py +0 -0
  369. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/overlays/layer_sources.py +0 -0
  370. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/overlays/merge.py +0 -0
  371. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/overlays/schema.py +0 -0
  372. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/__init__.py +0 -0
  373. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
  374. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
  375. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
  376. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/gate/__init__.py +0 -0
  377. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
  378. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
  379. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/shell/__init__.py +0 -0
  380. {specify_cli-1.0.1 → specify_cli-1.0.3}/src/specify_cli/workflows/steps/switch/__init__.py +0 -0
  381. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/checklist-template.md +0 -0
  382. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/commands/checklist.md +0 -0
  383. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/commands/clarify.md +0 -0
  384. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/commands/constitution.md +0 -0
  385. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/commands/implement.md +0 -0
  386. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/commands/plan.md +0 -0
  387. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/commands/specify.md +0 -0
  388. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/commands/tasks.md +0 -0
  389. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/commands/taskstoissues.md +0 -0
  390. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/constitution-template.md +0 -0
  391. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/plan-template.md +0 -0
  392. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/spec-template.md +0 -0
  393. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/tasks-template.md +0 -0
  394. {specify_cli-1.0.1 → specify_cli-1.0.3}/templates/vscode-settings.json +0 -0
  395. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/__init__.py +0 -0
  396. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/auth_helpers.py +0 -0
  397. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/bundler_helpers.py +0 -0
  398. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/conftest.py +0 -0
  399. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/contract/test_manifest_schema.py +0 -0
  400. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/contract/test_wheel_bundled_presets.py +0 -0
  401. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
  402. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/__init__.py +0 -0
  403. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/assess/__init__.py +0 -0
  404. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/assess/test_assess_extension.py +0 -0
  405. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/bug/__init__.py +0 -0
  406. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/bug/test_bug_extension.py +0 -0
  407. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/git/__init__.py +0 -0
  408. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/git/test_git_extension.py +0 -0
  409. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/git/test_git_extension_python_parity.py +0 -0
  410. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/test_agent_context_cli_free.py +0 -0
  411. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/test_extension_agent_context.py +0 -0
  412. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
  413. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/extensions/test_update_agent_context_python_parity.py +0 -0
  414. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/hooks/TESTING.md +0 -0
  415. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/hooks/plan.md +0 -0
  416. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/hooks/spec.md +0 -0
  417. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/hooks/tasks.md +0 -0
  418. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/http_helpers.py +0 -0
  419. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integration/test_bundler_catalog_stack.py +0 -0
  420. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integration/test_bundler_init_install.py +0 -0
  421. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integration/test_bundler_install_flow.py +0 -0
  422. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integration/test_bundler_local_install.py +0 -0
  423. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integration/test_bundler_offline.py +0 -0
  424. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integration/test_bundler_security_paths.py +0 -0
  425. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/__init__.py +0 -0
  426. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/conftest.py +0 -0
  427. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_base.py +0 -0
  428. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_cli.py +0 -0
  429. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_extra_args.py +0 -0
  430. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_home_isolation.py +0 -0
  431. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_agy.py +0 -0
  432. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_alquimia.py +0 -0
  433. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_amp.py +0 -0
  434. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_auggie.py +0 -0
  435. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_base_markdown.py +0 -0
  436. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_base_skills.py +0 -0
  437. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_base_toml.py +0 -0
  438. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_base_yaml.py +0 -0
  439. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_bob.py +0 -0
  440. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_catalog.py +0 -0
  441. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_claude.py +0 -0
  442. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_cline.py +0 -0
  443. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_codebuddy.py +0 -0
  444. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_codex.py +0 -0
  445. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_command_code.py +0 -0
  446. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_copilot.py +0 -0
  447. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_cursor_agent.py +0 -0
  448. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_devin.py +0 -0
  449. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_droid.py +0 -0
  450. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_firebender.py +0 -0
  451. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_forge.py +0 -0
  452. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_gemini.py +0 -0
  453. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_generic.py +0 -0
  454. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_goose.py +0 -0
  455. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_grok.py +0 -0
  456. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_hermes.py +0 -0
  457. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_junie.py +0 -0
  458. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_kilocode.py +0 -0
  459. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_kimi.py +0 -0
  460. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_kiro_cli.py +0 -0
  461. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_lingma.py +0 -0
  462. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_omp.py +0 -0
  463. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_opencode.py +0 -0
  464. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_pi.py +0 -0
  465. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_qodercli.py +0 -0
  466. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_qwen.py +0 -0
  467. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_rovodev.py +0 -0
  468. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_scaffold.py +0 -0
  469. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_shai.py +0 -0
  470. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_state.py +0 -0
  471. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_subcommand.py +0 -0
  472. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_tabnine.py +0 -0
  473. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_trae.py +0 -0
  474. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_vibe.py +0 -0
  475. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_zcode.py +0 -0
  476. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_integration_zed.py +0 -0
  477. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_manifest.py +0 -0
  478. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_registry.py +0 -0
  479. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
  480. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/parity_helpers.py +0 -0
  481. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/self_upgrade_helpers.py +0 -0
  482. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_branch_numbering.py +0 -0
  483. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_cli_version.py +0 -0
  484. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_command_template_py_scripts.py +0 -0
  485. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_commands_package.py +0 -0
  486. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_console_imports.py +0 -0
  487. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_create_new_feature_python_parity.py +0 -0
  488. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_download_security.py +0 -0
  489. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_extension_add_path_traversal.py +0 -0
  490. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_extension_registration.py +0 -0
  491. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_extension_skills.py +0 -0
  492. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_extension_update_hardening.py +0 -0
  493. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_extensions.py +0 -0
  494. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_init_dir.py +0 -0
  495. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_init_dir_cli.py +0 -0
  496. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_init_output_markup.py +0 -0
  497. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_live_transient_windows.py +0 -0
  498. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_merge.py +0 -0
  499. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_post_process.py +0 -0
  500. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_ps1_encoding.py +0 -0
  501. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_registrar_path_traversal.py +0 -0
  502. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_resolve_template_python_parity.py +0 -0
  503. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_security_workflow.py +0 -0
  504. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_self_upgrade_detection.py +0 -0
  505. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_self_upgrade_execution.py +0 -0
  506. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_self_upgrade_guidance.py +0 -0
  507. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_self_upgrade_verification.py +0 -0
  508. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_setup_plan_feature_json.py +0 -0
  509. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_setup_plan_no_overwrite.py +0 -0
  510. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_setup_tasks.py +0 -0
  511. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_setup_tasks_python_parity.py +0 -0
  512. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_shared_infra_gitignore.py +0 -0
  513. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_shared_infra_integrity.py +0 -0
  514. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_skill_placeholder_py.py +0 -0
  515. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_specify_template_numbering.py +0 -0
  516. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_timestamp_branches.py +0 -0
  517. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_upgrade.py +0 -0
  518. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_utils.py +0 -0
  519. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_utils_assets_imports.py +0 -0
  520. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_version_imports.py +0 -0
  521. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/test_workflow_run_without_project.py +0 -0
  522. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundle_download_url.py +0 -0
  523. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundler_adapters.py +0 -0
  524. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundler_catalog_config.py +0 -0
  525. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundler_conflict.py +0 -0
  526. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundler_packager.py +0 -0
  527. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundler_records.py +0 -0
  528. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundler_references.py +0 -0
  529. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundler_resolver.py +0 -0
  530. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundler_validator.py +0 -0
  531. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundler_versioning.py +0 -0
  532. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/unit/test_bundler_yamlio.py +0 -0
  533. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/workflows/conftest.py +0 -0
  534. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/workflows/test_overlay_commands.py +0 -0
  535. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/workflows/test_overlay_composer.py +0 -0
  536. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/workflows/test_overlay_layer_sources.py +0 -0
  537. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/workflows/test_overlay_merge.py +0 -0
  538. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/workflows/test_overlay_schema.py +0 -0
  539. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/workflows/test_overlay_security.py +0 -0
  540. {specify_cli-1.0.1 → specify_cli-1.0.3}/tests/workflows/test_resolver_integration.py +0 -0
  541. {specify_cli-1.0.1 → specify_cli-1.0.3}/workflows/ARCHITECTURE.md +0 -0
  542. {specify_cli-1.0.1 → specify_cli-1.0.3}/workflows/PUBLISHING.md +0 -0
  543. {specify_cli-1.0.1 → specify_cli-1.0.3}/workflows/catalog.community.json +0 -0
  544. {specify_cli-1.0.1 → specify_cli-1.0.3}/workflows/catalog.json +0 -0
  545. {specify_cli-1.0.1 → specify_cli-1.0.3}/workflows/speckit/workflow.yml +0 -0
  546. {specify_cli-1.0.1 → specify_cli-1.0.3}/workflows/step-catalog.community.json +0 -0
  547. {specify_cli-1.0.1 → specify_cli-1.0.3}/workflows/step-catalog.json +0 -0
@@ -8,7 +8,7 @@ body:
8
8
  value: |
9
9
  Thanks for requesting a new agent! Before submitting, please check if the agent is already supported.
10
10
 
11
- **Currently supported agents**: Alquimia AI, Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Command Code, Cursor, Devin for Terminal, Factory Droid, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
11
+ **Currently supported agents**: Alquimia AI, Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Command Code, Cursor, Devin for Terminal, Docker Agent, Factory Droid, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
12
12
 
13
13
  - type: input
14
14
  id: agent-name
@@ -73,6 +73,7 @@ body:
73
73
  - Command Code
74
74
  - Cursor
75
75
  - Devin for Terminal
76
+ - Docker Agent
76
77
  - Factory Droid
77
78
  - Firebender
78
79
  - Forge
@@ -67,6 +67,7 @@ body:
67
67
  - Command Code
68
68
  - Cursor
69
69
  - Devin for Terminal
70
+ - Docker Agent
70
71
  - Factory Droid
71
72
  - Firebender
72
73
  - Forge
@@ -22,11 +22,11 @@ jobs:
22
22
  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
23
23
 
24
24
  - name: Initialize CodeQL
25
- uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4
25
+ uses: github/codeql-action/init@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4
26
26
  with:
27
27
  languages: ${{ matrix.language }}
28
28
 
29
29
  - name: Perform CodeQL Analysis
30
- uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4
30
+ uses: github/codeql-action/analyze@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4
31
31
  with:
32
32
  category: "/language:${{ matrix.language }}"
@@ -19,8 +19,9 @@ jobs:
19
19
  actions: write
20
20
  steps:
21
21
  - name: Verify tag format
22
+ env:
23
+ TAG: ${{ inputs.tag }}
22
24
  run: |
23
- TAG="${{ inputs.tag }}"
24
25
  if [[ ! "$TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
25
26
  echo "Error: '$TAG' is not a valid release tag (expected vX.Y.Z)"
26
27
  exit 1
@@ -40,9 +41,10 @@ jobs:
40
41
  python-version: "3.13"
41
42
 
42
43
  - name: Verify tag matches package version
44
+ env:
45
+ TAG: ${{ inputs.tag }}
43
46
  run: |
44
- TAG_VERSION="${{ inputs.tag }}"
45
- TAG_VERSION="${TAG_VERSION#v}"
47
+ TAG_VERSION="${TAG#v}"
46
48
  PROJECT_VERSION="$(python -c 'import tomllib; print(tomllib.load(open("pyproject.toml","rb"))["project"]["version"])')"
47
49
  if [[ "$TAG_VERSION" != "$PROJECT_VERSION" ]]; then
48
50
  echo "Error: Tag version ($TAG_VERSION) does not match pyproject.toml version ($PROJECT_VERSION)"
@@ -41,6 +41,8 @@ src/specify_cli/integrations/
41
41
  │ └── __init__.py
42
42
  ├── copilot/ # Example: IntegrationBase subclass (custom setup)
43
43
  │ └── __init__.py
44
+ ├── docker_agent/ # Example: Docker Agent SkillsIntegration subclass
45
+ │ └── __init__.py
44
46
  └── ... # One subpackage per supported agent
45
47
  ```
46
48
 
@@ -2,6 +2,56 @@
2
2
 
3
3
  <!-- insert new changelog below this comment -->
4
4
 
5
+ ## [1.0.3] - 2026-09-01
6
+
7
+ ### Changed
8
+
9
+ - fix(workflows): reject malformed step config on remove (#4095)
10
+ - fix(workflows): reject malformed workflow config on remove (#4096)
11
+ - fix(events): skip unreadable extension manifests (#4089)
12
+ - docs(extensions): fix private catalog FAQ command (#4373)
13
+ - [extension] Add Vurnix Honest Gate extension to community catalog (#4388)
14
+ - fix(presets): fail closed on unreadable provenance (#4092)
15
+ - docs: explain how Spec Kit dogfoods itself (#4381)
16
+ - add --require-spec to check-prerequisites (#4367)
17
+ - fix(ci): harden PyPI release tag handling (#4386)
18
+ - fix(github-http): reject malformed explicit URL ports (#4372)
19
+ - fix: scaffold extension config when installing via bundler (#4285)
20
+ - fix: reject unknown setup-plan arguments (#4371)
21
+ - feat(docker-agent): add Docker Agent integration (#4302)
22
+ - fix(workflows): reject a condition that is spliced into text, not evaluated (#4292)
23
+ - fix(bundler): pass explicit workflow_add options from bundle install (#4284)
24
+ - test(bundle): join across wrap points in the build output-path assertion (#4280)
25
+ - chore(deps): bump the codeql-action group with 2 updates (#4357)
26
+ - [extension] Update Spec Kit Figma extension to v3.1.1 (#4377)
27
+ - fix(presets): reject falsy non-mapping catalog roots (#4088)
28
+ - chore: release 1.0.2, begin 1.0.3.dev0 development (#4379)
29
+
30
+ ## [1.0.2] - 2026-08-31
31
+
32
+ ### Changed
33
+
34
+ - [extension] Add Jira Mirror extension to community catalog (#4376)
35
+ - [extension] Add AgentDocx SpecKit V2 extension to community catalog (#4369)
36
+ - fix(bundler): reject non-string catalog entry tag members (#4318)
37
+ - fix(auth): reject malformed URL ports before credential matching (#4362)
38
+ - fix: decode feature.json as UTF-8 in Windows PowerShell (#4359)
39
+ - fix(events): stop falling back to a fake "pwsh" argv when no launcher exists (#4340)
40
+ - Add Pre-Spec Cards extension to community catalog (#4365)
41
+ - docs(workflows): document Python init script support (#4331)
42
+ - fix(presets): validate catalog URL port, not just hostname (#4341)
43
+ - Add Verified Codebase Context preset to community catalog (#4344)
44
+ - fix(events): stop `event run` crashing on every piped stdin payload (#4326)
45
+ - Add Taco Review extension to community catalog (#4322)
46
+ - Update SpecKit Grill Me extension to v1.0.1 (#4317)
47
+ - [extension] Update BDD extension to v1.0.3 (#4299)
48
+ - Update Parallel Autonomous Run Governance preset to v0.2.6 (#4304)
49
+ - Update SpecAssay bundle to v0.4.12 (#4257)
50
+ - Update SpecAssay preset to v0.4.12 (#4256)
51
+ - Update Archive Extension to v1.3.0 (#4298)
52
+ - Update Reconcile extension to v1.2.1 (#4297)
53
+ - chore: release 1.0.1, begin 1.0.2.dev0 development (#4266)
54
+
5
55
  ## [1.0.1] - 2026-08-21
6
56
 
7
57
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: specify-cli
3
- Version: 1.0.1
3
+ Version: 1.0.3
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
@@ -64,6 +64,7 @@ Description-Content-Type: text/markdown
64
64
  - [🧩 Making Spec Kit Your Own: Extensions & Presets](#-making-spec-kit-your-own-extensions--presets)
65
65
  - [📦 Bundles: Role-Based Setups](#-bundles-role-based-setups)
66
66
  - [📚 Core Philosophy](#-core-philosophy)
67
+ - [🪞 Does Spec Kit Use Spec Kit?](#-does-spec-kit-use-spec-kit)
67
68
  - [🌟 Development Phases](#-development-phases)
68
69
  - [🎯 Experimental Goals](#-experimental-goals)
69
70
  - [🔧 Prerequisites](#-prerequisites)
@@ -421,6 +422,26 @@ Spec-Driven Development is a structured process that emphasizes:
421
422
  - **Multi-step refinement** rather than one-shot code generation from prompts
422
423
  - **Heavy reliance** on advanced AI model capabilities for specification interpretation
423
424
 
425
+ ## 🪞 Does Spec Kit Use Spec Kit?
426
+
427
+ Yes — we dogfood Spec Kit while developing Spec Kit, especially for substantial
428
+ features and changes to the development workflow. Contributors are asked to test
429
+ relevant changes through the Spec-Driven Development commands. The
430
+ [feature assessment workflow](./.github/workflows/feature-assess.md) is currently
431
+ the automated dogfooding path: its setup uses the CLI from the current checkout
432
+ to initialize Copilot and install the `assess` extension, after which Copilot
433
+ follows the generated assessment skills against feature requests. The other
434
+ agentic workflows currently operate independently of the Specify CLI.
435
+
436
+ This does not mean every change goes through the full workflow. Small fixes can
437
+ use the normal issue, pull request, review, and test process. Dogfooding
438
+ scaffolding and artifacts under `.github/agents/`, `.github/prompts/`,
439
+ `.github/copilot-instructions.md`, `.grok/`, `.specify/`, and `specs/` are
440
+ intentionally gitignored. The automated assessment workflow is ephemeral and
441
+ neither commits nor pushes its generated Copilot skills, so its output does not
442
+ enter repository history. See the [contributor development
443
+ workflow](./CONTRIBUTING.md#development-workflow) for the validation expectations.
444
+
424
445
  ## 🌟 Development Phases
425
446
 
426
447
  | Phase | Focus | Key Activities |
@@ -44,6 +44,7 @@
44
44
  - [🧩 Making Spec Kit Your Own: Extensions & Presets](#-making-spec-kit-your-own-extensions--presets)
45
45
  - [📦 Bundles: Role-Based Setups](#-bundles-role-based-setups)
46
46
  - [📚 Core Philosophy](#-core-philosophy)
47
+ - [🪞 Does Spec Kit Use Spec Kit?](#-does-spec-kit-use-spec-kit)
47
48
  - [🌟 Development Phases](#-development-phases)
48
49
  - [🎯 Experimental Goals](#-experimental-goals)
49
50
  - [🔧 Prerequisites](#-prerequisites)
@@ -401,6 +402,26 @@ Spec-Driven Development is a structured process that emphasizes:
401
402
  - **Multi-step refinement** rather than one-shot code generation from prompts
402
403
  - **Heavy reliance** on advanced AI model capabilities for specification interpretation
403
404
 
405
+ ## 🪞 Does Spec Kit Use Spec Kit?
406
+
407
+ Yes — we dogfood Spec Kit while developing Spec Kit, especially for substantial
408
+ features and changes to the development workflow. Contributors are asked to test
409
+ relevant changes through the Spec-Driven Development commands. The
410
+ [feature assessment workflow](./.github/workflows/feature-assess.md) is currently
411
+ the automated dogfooding path: its setup uses the CLI from the current checkout
412
+ to initialize Copilot and install the `assess` extension, after which Copilot
413
+ follows the generated assessment skills against feature requests. The other
414
+ agentic workflows currently operate independently of the Specify CLI.
415
+
416
+ This does not mean every change goes through the full workflow. Small fixes can
417
+ use the normal issue, pull request, review, and test process. Dogfooding
418
+ scaffolding and artifacts under `.github/agents/`, `.github/prompts/`,
419
+ `.github/copilot-instructions.md`, `.grok/`, `.specify/`, and `specs/` are
420
+ intentionally gitignored. The automated assessment workflow is ephemeral and
421
+ neither commits nor pushes its generated Copilot skills, so its output does not
422
+ enter repository history. See the [contributor development
423
+ workflow](./CONTRIBUTING.md#development-workflow) for the validation expectations.
424
+
404
425
  ## 🌟 Development Phases
405
426
 
406
427
  | Phase | Focus | Key Activities |
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema_version": "1.0",
3
- "updated_at": "2026-08-14T00:00:00Z",
3
+ "updated_at": "2026-08-21T00:00:00Z",
4
4
  "catalog_url": "https://raw.githubusercontent.com/github/spec-kit/main/bundles/catalog.community.json",
5
5
  "bundles": {
6
6
  "sicario-spec": {
@@ -34,12 +34,12 @@
34
34
  "specassay": {
35
35
  "name": "SpecAssay",
36
36
  "id": "specassay",
37
- "version": "0.3.4",
37
+ "version": "0.4.12",
38
38
  "role": "developer",
39
39
  "description": "Durable-ID promotion for stock Spec Kit: templates, Gate 2 refusal, and trace-manifest emission.",
40
40
  "author": "Rik Dryfoos",
41
41
  "license": "MIT",
42
- "download_url": "https://github.com/rdryfoos/specassay/releases/download/v0.3.4/specassay-0.3.4.zip",
42
+ "download_url": "https://github.com/rdryfoos/specassay/releases/download/v0.4.12/specassay-0.4.12.zip",
43
43
  "repository": "https://github.com/rdryfoos/specassay",
44
44
  "requires": {
45
45
  "speckit_version": ">=0.14.0"
@@ -29,6 +29,7 @@ The following community-contributed extensions are available in [`catalog.commun
29
29
  | Agent Assign | Assign specialized Claude Code agents to spec-kit tasks for targeted execution | `process` | Read+Write | [spec-kit-agent-assign](https://github.com/xymelon/spec-kit-agent-assign) |
30
30
  | Agent Governance | Generate agent-platform repository governance files from Spec Kit metadata | `process` | Read+Write | [spec-kit-agent-governance](https://github.com/bigsmartben/spec-kit-agent-governance) |
31
31
  | AgentDocx | Full-stack multi-agent specification pipeline with VS Code extension control, automated Kanban/Jira sync, and React monitoring dashboard | `integration` | Read+Write | [extension-github-spec-kit](https://github.com/abir-ommezzine/extension-github-spec-kit) |
32
+ | AgentDocx SpecKit V2 | AgentDocx evolved: same pipeline + far more autonomous Ticket Manager (5 CLI, per-project Kanban, bulk sync, auto-switch, Auditor) | `integration` | Read+Write | [Extension_GithubSpecKit](https://github.com/ahmed200346/Extension_GithubSpecKit) |
32
33
  | AgentPay x402 — Spend Controls for Spec Kit Agents | Set USDC spending caps and execute x402 payments to paid APIs during spec implementation. Zero platform fee on Base L2 | `integration` | Read+Write | [spec-kit-pay-x402](https://github.com/shawnhvac/spec-kit-pay-x402) |
33
34
  | AI-Driven Engineering (AIDE) | A structured 7-step workflow for building new projects from scratch with AI assistants — from vision through implementation | `process` | Read+Write | [aide](https://github.com/mnriem/spec-kit-extensions/tree/main/aide) |
34
35
  | Analytics | Measure what your AI builds, and how much time it saves you | `visibility` | Read+Write | [spec-kit-analytics](https://github.com/Fyloss/spec-kit-analytics) |
@@ -42,6 +43,7 @@ The following community-contributed extensions are available in [`catalog.commun
42
43
  | Atlas | Synthesize spec-kit specs into faithful, interactive architecture storybooks & doc portals. | `docs` | Read-only | [spec-kit-atlas](https://github.com/ashbrener/spec-kit-atlas) |
43
44
  | Azure Cosmos DB | Best-practice Azure Cosmos DB code generation and review for any AI coding agent | `code` | Read+Write | [spec-kit-cosmosdb](https://github.com/AzureCosmosDB/spec-kit-cosmosdb) |
44
45
  | Azure DevOps Integration | Sync user stories and tasks to Azure DevOps work items using OAuth authentication | `integration` | Read+Write | [spec-kit-azure-devops](https://github.com/pragya247/spec-kit-azure-devops) |
46
+ | BDD | Convert specs to Gherkin scenarios, scaffold step definitions, and verify acceptance test coverage | `process` | Read+Write | [spec-kit-bdd](https://github.com/RSginer/spec-kit-bdd) |
45
47
  | Blueprint | Stay code-literate in AI-driven development: review a complete code blueprint for every task from spec artifacts before /speckit.implement runs | `docs` | Read+Write | [spec-kit-blueprint](https://github.com/chordpli/spec-kit-blueprint) |
46
48
  | Blueprint Index — Living Architecture Map | A living architecture map for spec-driven projects, kept honest by a deterministic, low-friction, machine-first CI gate (JSON, self-healable) that blocks only when the map contradicts the specs or code. Brownfield or greenfield. | `process` | Read+Write | [spec-kit-blueprint](https://github.com/ogil109/spec-kit-blueprint) |
47
49
  | Branch Convention | Configurable branch and folder naming conventions for /specify with presets and custom patterns | `process` | Read+Write | [spec-kit-branch-convention](https://github.com/Quratulain-bilal/spec-kit-branch-convention) |
@@ -79,6 +81,7 @@ The following community-contributed extensions are available in [`catalog.commun
79
81
  | Iterate | Iterate on spec documents with a two-phase define-and-apply workflow — refine specs mid-implementation and go straight back to building | `docs` | Read+Write | [spec-kit-iterate](https://github.com/imviancagrace/spec-kit-iterate) |
80
82
  | Jira Integration | Create Jira Epics, Stories, and Issues from spec-kit specifications and task breakdowns with configurable hierarchy and custom field support | `integration` | Read+Write | [spec-kit-jira](https://github.com/mbachorik/spec-kit-jira) |
81
83
  | Jira Integration (Sync Engine) | Idempotent, drift-aware, fail-closed reconcile engine mirroring spec-kit specs into Jira (Epic per repo, Story per spec, Subtask per phase) | `integration` | Read+Write | [spec-kit-jira-sync](https://github.com/ashbrener/spec-kit-jira-sync) |
84
+ | Jira Mirror | Spec Kit ↔ Jira bridge for team-managed and company-managed projects: configurable workflows & hierarchies (Scrum/SAFe), multi-project, idempotent and fail-closed. macOS/Linux/Windows. | `integration` | Read+Write | [spec-kit-jira-mirror](https://github.com/Fyloss/spec-kit-jira-mirror) |
82
85
  | Keel Discovery | Evidence-backed discovery upstream of /speckit.specify, plus round-trip drift auditing after implementation | `process` | Read+Write | [spec-kit-keel](https://github.com/keeldiscovery/spec-kit-keel) |
83
86
  | Learning Extension | Generate educational guides from implementations and enhance clarifications with mentoring context | `docs` | Read+Write | [spec-kit-learn](https://github.com/imviancagrace/spec-kit-learn) |
84
87
  | Linear Integration | Mirror spec-kit feature directories into Linear (filesystem → Linear, reconcile-based, unidirectional). | `integration` | Read+Write | [spec-kit-linear-sync](https://github.com/ashbrener/spec-kit-linear-sync) |
@@ -110,6 +113,7 @@ The following community-contributed extensions are available in [`catalog.commun
110
113
  | PatchWarden Evidence Pack | Map Spec Kit tasks into a guarded PatchWarden Goal and export bounded, traceable evidence for an accepted lineage. | `process` | Read+Write | [spec-kit-patchwarden](https://github.com/jiezeng2004-design/spec-kit-patchwarden) |
111
114
  | Plan Review Gate | Require spec.md and plan.md to be merged via MR/PR before allowing task generation | `process` | Read-only | [spec-kit-plan-review-gate](https://github.com/luno/spec-kit-plan-review-gate) |
112
115
  | PR Bridge | Auto-generate pull request descriptions, checklists, and summaries from spec artifacts | `process` | Read-only | [spec-kit-pr-bridge-](https://github.com/Quratulain-bilal/spec-kit-pr-bridge-) |
116
+ | Pre-Spec Cards | Card-based pre-spec thinking: paste an idea, get your card plus the paths you'd miss, then play each through — story, snags, trade-offs, difficulty vs payoff — before /speckit.specify | `process` | Read+Write | [pre-spec](https://github.com/bendlikeabamboo/pre-spec) |
113
117
  | Presetify | Create and validate presets and preset catalogs | `process` | Read+Write | [presetify](https://github.com/mnriem/spec-kit-extensions/tree/main/presetify) |
114
118
  | Product Forge | Full product-lifecycle orchestrator for Spec Kit: research → product-spec → plan → tasks → implement → verify → test → release-readiness, across express/lite/standard/v-model modes with human-in-the-loop gates. | `process` | Read+Write | [speckit-product-forge](https://github.com/VaiYav/speckit-product-forge) |
115
119
  | Product Spec Extension | Generates PRFAQ, Lean PRD, stakeholder summaries, and technical designs from engineering specs | `docs` | Read+Write | [spec-kit-product](https://github.com/d0whc3r/spec-kit-product) |
@@ -138,7 +142,7 @@ The following community-contributed extensions are available in [`catalog.commun
138
142
  | Spec Diagram | Auto-generate Mermaid diagrams of SDD workflow state, feature progress, and task dependencies | `visibility` | Read-only | [spec-kit-diagram-](https://github.com/Quratulain-bilal/spec-kit-diagram-) |
139
143
  | Spec Inventory | Read-only inventory of live requirement and task IDs, with focused per-task context packs instead of whole-file dumps | `visibility` | Read-only | [spec-kit-inventory-alignment](https://github.com/Yash-Chindam/spec-kit-inventory-alignment) |
140
144
  | Spec Kit Discovery Extension | Run technical discovery commands for feasibility, technology selection, scenario-specific technical decisions, legacy codebase assessment, implementation understanding, and proof-of-concept validation | `process` | Read+Write | [spec-kit-discovery](https://github.com/bigsmartben/spec-kit-discovery) |
141
- | Spec Kit Figma | Agent-agnostic SpecKit extension that grounds spec, plan & task generation in Figma design context REST + optional MCP, single/mono/multi-repo, macOS/Linux/Windows. | `integration` | Read+Write | [spec-kit-figma](https://github.com/Fyloss/spec-kit-figma) |
145
+ | Spec Kit Figma | Grounds SpecKit spec/plan/tasks in Figma design context via REST or MCP, on macOS/Linux/Windows. | `integration` | Read+Write | [spec-kit-figma](https://github.com/Fyloss/spec-kit-figma) |
142
146
  | Spec Kit Memory | Recalls prior specs and decisions from configurable memory tools (e.g. memsearch) before SDLC stages, so planning and specification start from what the project already knows | `docs` | Read+Write | [spec-kit-memory](https://github.com/zaytsevand/spec-kit-memory) |
143
147
  | Spec Kit Preview | Generate evidence-backed low, mid, or high fidelity previews from Spec Kit artifacts as Markdown or self-contained HTML | `docs` | Read+Write | [spec-kit-preview](https://github.com/bigsmartben/spec-kit-preview) |
144
148
  | Spec Kit Schedule | Optimal multi-agent task scheduling via CP-SAT — DAG precedence, hallucination-aware caps, file-conflict avoidance, stochastic durations, replanning, and interactive HTML output | `process` | Read+Write | [spec-kit-schedule](https://github.com/jfranc38/spec-kit-schedule) |
@@ -151,12 +155,11 @@ The following community-contributed extensions are available in [`catalog.commun
151
155
  | Spec Sync | Detect and resolve drift between specs and implementation. AI-assisted resolution with human approval | `docs` | Read+Write | [spec-kit-sync](https://github.com/bgervin/spec-kit-sync) |
152
156
  | Spec Trace | Build a requirement → test traceability matrix from spec.md and the test suite — surface untested requirements and orphan tests | `code` | Read+Write | [spec-kit-trace](https://github.com/Quratulain-bilal/spec-kit-trace) |
153
157
  | Spec Validate | Comprehension validation, review gating, and approval state for spec-kit artifacts — staged quizzes, peer review SLA, and a hard gate before /speckit.implement | `process` | Read+Write | [spec-kit-spec-validate](https://github.com/aeltayeb/spec-kit-spec-validate) |
154
- | Spec-Kit BDD | ATDD/BDD extension: convert specs to Gherkin scenarios, scaffold step definitions, and verify acceptance test coverage | `process` | Read+Write | [spec-kit-bdd](https://github.com/RSginer/spec-kit-bdd) |
155
158
  | Spec2Cloud | Spec-driven workflow tuned for shipping to Azure | `process` | Read+Write | [spec2cloud](https://github.com/Azure-Samples/Spec2Cloud) |
156
159
  | SpecAssay Check | Gate 2 refuses silent gaps and emits a trace-manifest (trace-manifest.json). | `visibility` | Read+Write | [specassay](https://github.com/rdryfoos/specassay) |
157
160
  | SpecJudge — right-size the model before you implement | Recommends the model that fits your tasks, citing the spec fragment behind every level. | `process` | Read-only | [SpecJudge](https://github.com/JoaquinRuiz/SpecJudge) |
158
161
  | SpecKit Companion | Live spec-driven progress — lifecycle capture, status, resume, living specs, and composable commands with hooks and recipes | `process` | Read+Write | [speckit-companion](https://github.com/alfredoperez/speckit-companion) |
159
- | SpecKit Grill Me | Exhaustively resolve specification ambiguities and decisions before planning | `process` | Read+Write | [speckit-grill-me](https://github.com/yoshi1220/speckit-grill-me) |
162
+ | SpecKit Grill Me | Exhaustively clarify specifications and optionally sync canonical domain knowledge | `process` | Read+Write | [speckit-grill-me](https://github.com/yoshi1220/speckit-grill-me) |
160
163
  | SpecTest | Auto-generate test scaffolds from spec criteria, map coverage, and find untested requirements | `code` | Read+Write | [spec-kit-spectest](https://github.com/Quratulain-bilal/spec-kit-spectest) |
161
164
  | Squad Bridge | Bootstrap and synchronize a Squad agent team from your Speckit spec and tasks. | `process` | Read+Write | [spec-kit-squad](https://github.com/jwill824/spec-kit-squad) |
162
165
  | Staff Review Extension | Staff-engineer-level code review that validates implementation against spec, checks security, performance, and test coverage | `code` | Read-only | [spec-kit-staff-review](https://github.com/arunt14/spec-kit-staff-review) |
@@ -164,6 +167,7 @@ The following community-contributed extensions are available in [`catalog.commun
164
167
  | Superpowers Bridge | Bridges selected Superpowers disciplines into Spec Kit as evidence-first trust gates for agent workflows. | `process` | Read+Write | [superpowers-bridge](https://github.com/RbBtSn0w/spec-kit-extensions/tree/main/superpowers-bridge) |
165
168
  | Superpowers Implementation Bridge | Thin orchestrator between Spec Kit (design) and Superpowers (implementation). Cross-agent. | `process` | Read+Write | [speckit-superpowers-bridge](https://github.com/lihan3238/speckit-superpowers-bridge) |
166
169
  | Superspec | Bridges spec-kit with obra/superpowers (brainstorming, TDD, subagent, code-review) into a unified, resumable workflow with graceful degradation and session progress tracking | `process` | Read+Write | [superspec](https://github.com/WangX0111/superspec) |
170
+ | Taco Review | Packages Spec Kit features for human review and syncs edits and comments back. | `integration` | Read+Write | [taco](https://github.com/Arcadia822/taco) |
167
171
  | Tasks to GitHub Project | Publish and synchronize Spec Kit tasks as cards on a GitHub Project (v2) kanban board, with priority and status sync between spec.md/tasks.md and the board. | `integration` | Read+Write | [spec-kit-tasks-to-project](https://github.com/mancioshell/spec-kit-tasks-to-project) |
168
172
  | TDD Extension | Drives spec-kit implementation with tests: a language-agnostic red-green-refactor loop with a per-feature test list, recorded red and green evidence, and mutation-checked test strength. | `process` | Read+Write | [spec-kit-tdd](https://github.com/d0whc3r/spec-kit-tdd) |
169
173
  | Team Assign | Assign tasks.md items to human engineers, split into subtasks, and generate a per-engineer workboard | `process` | Read+Write | [spec-kit-team-assign](https://github.com/tarunkumarbhati/spec-kit-team-assign) |
@@ -178,6 +182,7 @@ The following community-contributed extensions are available in [`catalog.commun
178
182
  | Verify Review Ship | Post-convergence operational verification, technical review, learning governance, and transactional delivery. | `process` | Read+Write | [spec-kit-verify-review-ship](https://github.com/cadugevaerd/spec-kit-verify-review-ship) |
179
183
  | Verify Tasks Extension | Detect phantom completions: tasks marked [X] in tasks.md with no real implementation | `code` | Read-only | [spec-kit-verify-tasks](https://github.com/datastone-inc/spec-kit-verify-tasks) |
180
184
  | Version Guard | Verify tech stack versions against live npm registries before planning and implementation | `process` | Read-only | [spec-kit-version-guard](https://github.com/KevinBrown5280/spec-kit-version-guard) |
185
+ | Vurnix Honest Gate | Deterministic three-state honest gate for AI-written code: compile + phantom-import + honest test count in one verdict, executed as code — not as agent self-review. PASS/BLOCK/UNPROVEN by exit code. | `process` | Read-only | [vurnix-spec-kit](https://github.com/shiersa/vurnix-spec-kit) |
181
186
  | What-if Analysis | Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them | `visibility` | Read-only | [spec-kit-whatif](https://github.com/DevAbdullah90/spec-kit-whatif) |
182
187
  | Wireframe Visual Feedback Loop | SVG wireframe generation, review, and sign-off for spec-driven development. Approved wireframes become spec constraints honored by /speckit.plan, /speckit.tasks, and /speckit.implement | `visibility` | Read+Write | [spec-kit-extension-wireframe](https://github.com/TortoiseWolfe/spec-kit-extension-wireframe) |
183
188
  | Work IQ | Integrate Microsoft 365 organizational knowledge into spec-driven development workflows | `integration` | Read-only | [spec-kit-workiq](https://github.com/sakitA/spec-kit-workiq) |
@@ -29,7 +29,7 @@ The following community-contributed presets customize how Spec Kit behaves — o
29
29
  | Model Driven Engineering | Focuses on streamlined commands, app repository support, cross-spec support, and capability-aware project memory for model-driven engineering workflows | 6 templates, 11 commands | MDE extension | [spec-kit-preset-mde](https://github.com/AI-MDE/spec-kit-preset-mde) |
30
30
  | Model Routing Governance | Maps provider-neutral Spec Kit roles to validated harness-local runner profiles without storing model availability, credentials, or machine-specific selections in Git. | 4 templates, 2 commands, 2 scripts | — | [spec-kit-preset-model-routing-governance](https://github.com/hindermath/spec-kit-preset-model-routing-governance) |
31
31
  | Multi-Repo Branching | Coordinates feature branch creation across multiple git repositories (independent repos and submodules) during plan and tasks phases | 2 commands | — | [spec-kit-preset-multi-repo-branching](https://github.com/sakitA/spec-kit-preset-multi-repo-branching) |
32
- | Parallel Autonomous Run Governance | Coordinates permission-bounded autonomous campaigns while preserving the project's learner and accessibility contract across workers and consolidation. | 9 templates, 5 commands, 2 scripts | autonomous-run-governance >=0.2.2; optional: intake-review-governance >=0.1.0 | [spec-kit-preset-parallel-autonomous-run-governance](https://github.com/hindermath/spec-kit-preset-parallel-autonomous-run-governance) |
32
+ | Parallel Autonomous Run Governance | Coordinates isolated autonomous campaigns and optionally gates worker scheduling on a current campaign intake review. | 10 templates, 5 commands, 2 scripts | autonomous-run-governance >=0.2.2; optional: intake-review-governance >=0.1.0 | [spec-kit-preset-parallel-autonomous-run-governance](https://github.com/hindermath/spec-kit-preset-parallel-autonomous-run-governance) |
33
33
  | Pirate Speak (Full) | Transforms all Spec Kit output into pirate speak — specs become "Voyage Manifests", plans become "Battle Plans", tasks become "Crew Assignments" | 6 templates, 9 commands | — | [spec-kit-presets](https://github.com/mnriem/spec-kit-presets) |
34
34
  | Screenwriting | Spec-Driven Development for screenwriting/scriptwriting/tutorials: feature films, television (pilot, episode, limited series), and stage plays. Adapts the Spec Kit workflow to screenplay craft — slug lines, action lines, act breaks, beat sheets, and industry-standard pitch documents. Supports three-act, Save the Cat, TV pilot, network episode, cable/streaming episode, and stage-play structural frameworks. Export to Fountain, FTX, PDF | 26 templates, 32 commands, 1 script | — | [speckit-preset-screenwriting](https://github.com/adaumann/speckit-preset-screenwriting) |
35
35
  | Security Governance | Adds memory-safe-language and secure-coding governance, exact-head security evidence, ASVS, supply-chain transparency, EU regulatory screening, and provider-neutral model routing. | 15 templates, 3 commands | — | [spec-kit-preset-security-governance](https://github.com/hindermath/spec-kit-preset-security-governance) |
@@ -38,6 +38,7 @@ The following community-contributed presets customize how Spec Kit behaves — o
38
38
  | SpecAssay | Appends durable-ID, Carries, and SpecAssay vocabulary onto Spec Kit spec, tasks, and constitution templates. | 3 templates | — | [specassay](https://github.com/rdryfoos/specassay) |
39
39
  | Table of Contents Navigation | Adds a navigable Table of Contents to generated spec.md, plan.md, and tasks.md documents | 3 templates, 3 commands | — | [spec-kit-preset-toc-navigation](https://github.com/Quratulain-bilal/spec-kit-preset-toc-navigation) |
40
40
  | Test-First Governance | Governs TDD with coverage-complete BDD/ATDD Gherkin scenarios, explicit suite ownership, professional test reports, traceability, and risk-based quality gates. | 10 templates, 8 commands | — | [spec-kit-preset-test-first-governance](https://github.com/ka-zo/spec-kit-preset-test-first-governance) |
41
+ | Verified Codebase Context | Generates evidence-qualified repository context with codebase-memory-mcp and applies it across planning, tasks, analysis, and implementation. | 1 template, 5 commands | — | [spec-kit-preset-codebase-memory-context](https://github.com/philo-x/spec-kit-preset-codebase-memory-context) |
41
42
  | VS Code Ask Questions | Enhances the clarify command to use `vscode/askQuestions` for batched interactive questioning. | 1 command | — | [spec-kit-presets](https://github.com/fdcastel/spec-kit-presets) |
42
43
  | Workflow Preset | Behavior-first specification, design artifacts, and agent-native handoff orchestration — adds requirement-phase behavior drafts, formal BDD/UIF/behavior contracts, optional design artifacts, and scoped implementation handoffs with Core Agent, Vertical Planner Agent, and Worker Agent modes | 22 templates, 8 commands | — | [spec-kit-workflow-preset](https://github.com/bigsmartben/spec-kit-workflow-preset) |
43
44
 
@@ -17,6 +17,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
17
17
  | [Command Code](https://commandcode.ai/docs) | `command-code` | Skills-based integration; installs skills into `.commandcode/skills/` and invokes them as `$speckit-<command>` |
18
18
  | [Cursor](https://cursor.sh/) | `cursor-agent` | |
19
19
  | [Devin for Terminal](https://cli.devin.ai/docs) | `devin` | Skills-based integration; installs skills into `.devin/skills/` and invokes them as `/speckit-<command>` |
20
+ | [Docker Agent](https://docs.docker.com/ai/docker-agent/) | `docker-agent` | Skills-based integration; installs skills into `.agents/skills/` (the same directory used by Codex and Zed). In the selected agent YAML, enable local skills with `skills: true` and provide filesystem read access. Detects either the standalone `docker-agent` binary or the Docker CLI plugin (`docker agent`). Configure workflow dispatch with `SPECKIT_INTEGRATION_DOCKER_AGENT_EXTRA_ARGS=./agent.yaml`; the Spec Kit prompt is appended after these arguments. Not multi-install safe by default because the skills directory is shared. |
20
21
  | [Factory Droid](https://docs.factory.ai/cli/getting-started/overview) | `droid` | Skills-based integration; installs skills into `.factory/skills/` and invokes them as `/speckit-<command>` |
21
22
  | [Firebender](https://firebender.com/) | `firebender` | IDE-based agent for Android Studio / IntelliJ |
22
23
  | [Forge](https://forgecode.dev/) | `forge` | |
@@ -274,8 +274,7 @@ When releasing a new version:
274
274
  A: The main catalog is for public extensions only. For private extensions:
275
275
 
276
276
  - Host your own catalog.json file
277
- - Users add your catalog: `specify extension add-catalog https://your-domain.com/catalog.json`
278
- - Not yet implemented - coming in Phase 4
277
+ - In a Spec Kit project, users add your catalog: `specify extension catalog add https://your-domain.com/catalog.json --name private-catalog`
279
278
 
280
279
  ### Q: How long does review take?
281
280