specify-cli 0.12.4__tar.gz → 0.12.6__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 (456) hide show
  1. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/docs.yml +1 -1
  2. {specify_cli-0.12.4 → specify_cli-0.12.6}/CHANGELOG.md +30 -0
  3. {specify_cli-0.12.4 → specify_cli-0.12.6}/PKG-INFO +1 -1
  4. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/community/extensions.md +1 -0
  5. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/reference/integrations.md +2 -2
  6. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/catalog.community.json +45 -6
  7. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/README.md +15 -1
  8. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/commands/speckit.git.feature.md +16 -2
  9. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/commands/speckit.git.validate.md +6 -6
  10. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/config-template.yml +10 -0
  11. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/extension.yml +4 -2
  12. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/git-config.yml +10 -0
  13. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/scripts/bash/create-new-feature-branch.sh +192 -32
  14. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/scripts/bash/git-common.sh +7 -5
  15. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +185 -33
  16. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/scripts/powershell/git-common.ps1 +7 -6
  17. {specify_cli-0.12.4 → specify_cli-0.12.6}/pyproject.toml +1 -1
  18. specify_cli-0.12.6/scripts/python/check_prerequisites.py +207 -0
  19. specify_cli-0.12.6/scripts/python/common.py +210 -0
  20. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/agents.py +47 -12
  21. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/commands_impl/catalog_config.py +23 -2
  22. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/services/adapters.py +5 -1
  23. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/services/catalog_stack.py +14 -6
  24. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/extensions/__init__.py +12 -3
  25. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/base.py +8 -2
  26. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/cursor_agent/__init__.py +9 -1
  27. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/hermes/__init__.py +5 -0
  28. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/expressions.py +91 -14
  29. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/gate/__init__.py +8 -1
  30. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/extensions/git/test_git_extension.py +416 -3
  31. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integration/test_bundler_catalog_stack.py +41 -0
  32. specify_cli-0.12.6/tests/integrations/conftest.py +38 -0
  33. specify_cli-0.12.6/tests/integrations/test_home_isolation.py +21 -0
  34. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_base_yaml.py +17 -0
  35. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_cursor_agent.py +49 -0
  36. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_hermes.py +35 -0
  37. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_registry.py +81 -54
  38. specify_cli-0.12.6/tests/test_check_prerequisites_python_parity.py +339 -0
  39. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_extension_skills.py +61 -0
  40. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_extensions.py +94 -0
  41. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_workflows.py +125 -0
  42. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/unit/test_bundler_adapters.py +27 -0
  43. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/unit/test_bundler_catalog_config.py +36 -0
  44. specify_cli-0.12.4/tests/integrations/conftest.py +0 -22
  45. {specify_cli-0.12.4 → specify_cli-0.12.6}/.devcontainer/devcontainer.json +0 -0
  46. {specify_cli-0.12.4 → specify_cli-0.12.6}/.devcontainer/post-create.sh +0 -0
  47. {specify_cli-0.12.4 → specify_cli-0.12.6}/.editorconfig +0 -0
  48. {specify_cli-0.12.4 → specify_cli-0.12.6}/.gitattributes +0 -0
  49. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/CODEOWNERS +0 -0
  50. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/ISSUE_TEMPLATE/agent_request.yml +0 -0
  51. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  52. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/ISSUE_TEMPLATE/bundle_submission.yml +0 -0
  53. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  54. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
  55. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  56. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
  57. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  58. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/aw/actions-lock.json +0 -0
  59. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/dependabot.yml +0 -0
  60. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/skills/add-community-extension/SKILL.md +0 -0
  61. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/RELEASE-PROCESS.md +0 -0
  62. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/add-community-extension.lock.yml +0 -0
  63. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/add-community-extension.md +0 -0
  64. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/add-community-preset.lock.yml +0 -0
  65. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/add-community-preset.md +0 -0
  66. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/bug-assess.lock.yml +0 -0
  67. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/bug-assess.md +0 -0
  68. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/bug-fix.lock.yml +0 -0
  69. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/bug-fix.md +0 -0
  70. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/bug-test.lock.yml +0 -0
  71. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/bug-test.md +0 -0
  72. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/catalog-assign.yml +0 -0
  73. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/codeql.yml +0 -0
  74. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/lint.yml +0 -0
  75. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/publish-pypi.yml +0 -0
  76. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/release-trigger.yml +0 -0
  77. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/release.yml +0 -0
  78. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/stale.yml +0 -0
  79. {specify_cli-0.12.4 → specify_cli-0.12.6}/.github/workflows/test.yml +0 -0
  80. {specify_cli-0.12.4 → specify_cli-0.12.6}/.gitignore +0 -0
  81. {specify_cli-0.12.4 → specify_cli-0.12.6}/.markdownlint-cli2.jsonc +0 -0
  82. {specify_cli-0.12.4 → specify_cli-0.12.6}/.zenodo.json +0 -0
  83. {specify_cli-0.12.4 → specify_cli-0.12.6}/AGENTS.md +0 -0
  84. {specify_cli-0.12.4 → specify_cli-0.12.6}/CITATION.cff +0 -0
  85. {specify_cli-0.12.4 → specify_cli-0.12.6}/CODE_OF_CONDUCT.md +0 -0
  86. {specify_cli-0.12.4 → specify_cli-0.12.6}/CONTRIBUTING.md +0 -0
  87. {specify_cli-0.12.4 → specify_cli-0.12.6}/DEVELOPMENT.md +0 -0
  88. {specify_cli-0.12.4 → specify_cli-0.12.6}/LICENSE +0 -0
  89. {specify_cli-0.12.4 → specify_cli-0.12.6}/README.md +0 -0
  90. {specify_cli-0.12.4 → specify_cli-0.12.6}/SECURITY.md +0 -0
  91. {specify_cli-0.12.4 → specify_cli-0.12.6}/SUPPORT.md +0 -0
  92. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/.gitignore +0 -0
  93. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/README.md +0 -0
  94. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/community/bundles.md +0 -0
  95. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/community/friends.md +0 -0
  96. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/community/overview.md +0 -0
  97. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/community/presets.md +0 -0
  98. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/community/walkthroughs.md +0 -0
  99. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/concepts/complex-features.md +0 -0
  100. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/concepts/sdd.md +0 -0
  101. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/concepts/spec-persistence.md +0 -0
  102. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/docfx.json +0 -0
  103. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/guides/evolving-specs.md +0 -0
  104. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/guides/monorepo.md +0 -0
  105. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/index.md +0 -0
  106. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/install/air-gapped.md +0 -0
  107. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/install/one-time.md +0 -0
  108. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/install/pipx.md +0 -0
  109. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/install/uv.md +0 -0
  110. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/installation.md +0 -0
  111. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/local-development.md +0 -0
  112. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/quickstart.md +0 -0
  113. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/reference/authentication.md +0 -0
  114. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/reference/bundles.md +0 -0
  115. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/reference/core.md +0 -0
  116. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/reference/extensions.md +0 -0
  117. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/reference/overview.md +0 -0
  118. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/reference/presets.md +0 -0
  119. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/reference/workflows.md +0 -0
  120. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/template/public/main.css +0 -0
  121. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/toc.yml +0 -0
  122. {specify_cli-0.12.4 → specify_cli-0.12.6}/docs/upgrade.md +0 -0
  123. {specify_cli-0.12.4 → specify_cli-0.12.6}/examples/bundles/business-analyst/README.md +0 -0
  124. {specify_cli-0.12.4 → specify_cli-0.12.6}/examples/bundles/business-analyst/bundle.yml +0 -0
  125. {specify_cli-0.12.4 → specify_cli-0.12.6}/examples/bundles/developer/README.md +0 -0
  126. {specify_cli-0.12.4 → specify_cli-0.12.6}/examples/bundles/developer/bundle.yml +0 -0
  127. {specify_cli-0.12.4 → specify_cli-0.12.6}/examples/bundles/product-manager/README.md +0 -0
  128. {specify_cli-0.12.4 → specify_cli-0.12.6}/examples/bundles/product-manager/bundle.yml +0 -0
  129. {specify_cli-0.12.4 → specify_cli-0.12.6}/examples/bundles/security-researcher/README.md +0 -0
  130. {specify_cli-0.12.4 → specify_cli-0.12.6}/examples/bundles/security-researcher/bundle.yml +0 -0
  131. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/EXTENSION-API-REFERENCE.md +0 -0
  132. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +0 -0
  133. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -0
  134. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/EXTENSION-USER-GUIDE.md +0 -0
  135. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/README.md +0 -0
  136. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
  137. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/agent-context/README.md +0 -0
  138. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/agent-context/agent-context-config.yml +0 -0
  139. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/agent-context/agent-context-defaults.json +0 -0
  140. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
  141. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/agent-context/extension.yml +0 -0
  142. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
  143. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
  144. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/bug/README.md +0 -0
  145. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/bug/commands/speckit.bug.assess.md +0 -0
  146. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/bug/commands/speckit.bug.fix.md +0 -0
  147. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/bug/commands/speckit.bug.test.md +0 -0
  148. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/bug/extension.yml +0 -0
  149. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/catalog.json +0 -0
  150. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/commands/speckit.git.commit.md +0 -0
  151. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/commands/speckit.git.initialize.md +0 -0
  152. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/commands/speckit.git.remote.md +0 -0
  153. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/scripts/bash/auto-commit.sh +0 -0
  154. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
  155. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
  156. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
  157. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/selftest/commands/selftest.md +0 -0
  158. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/selftest/extension.yml +0 -0
  159. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/template/.gitignore +0 -0
  160. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/template/CHANGELOG.md +0 -0
  161. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/template/EXAMPLE-README.md +0 -0
  162. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/template/LICENSE +0 -0
  163. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/template/README.md +0 -0
  164. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/template/commands/example.md +0 -0
  165. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/template/config-template.yml +0 -0
  166. {specify_cli-0.12.4 → specify_cli-0.12.6}/extensions/template/extension.yml +0 -0
  167. {specify_cli-0.12.4 → specify_cli-0.12.6}/integrations/CONTRIBUTING.md +0 -0
  168. {specify_cli-0.12.4 → specify_cli-0.12.6}/integrations/README.md +0 -0
  169. {specify_cli-0.12.4 → specify_cli-0.12.6}/integrations/catalog.community.json +0 -0
  170. {specify_cli-0.12.4 → specify_cli-0.12.6}/integrations/catalog.json +0 -0
  171. {specify_cli-0.12.4 → specify_cli-0.12.6}/media/bootstrap-claude-code.gif +0 -0
  172. {specify_cli-0.12.4 → specify_cli-0.12.6}/media/logo_large.webp +0 -0
  173. {specify_cli-0.12.4 → specify_cli-0.12.6}/media/logo_small.webp +0 -0
  174. {specify_cli-0.12.4 → specify_cli-0.12.6}/media/spec-kit-video-header.jpg +0 -0
  175. {specify_cli-0.12.4 → specify_cli-0.12.6}/media/specify_cli.gif +0 -0
  176. {specify_cli-0.12.4 → specify_cli-0.12.6}/newsletters/2026-April.md +0 -0
  177. {specify_cli-0.12.4 → specify_cli-0.12.6}/newsletters/2026-February.md +0 -0
  178. {specify_cli-0.12.4 → specify_cli-0.12.6}/newsletters/2026-June.md +0 -0
  179. {specify_cli-0.12.4 → specify_cli-0.12.6}/newsletters/2026-March.md +0 -0
  180. {specify_cli-0.12.4 → specify_cli-0.12.6}/newsletters/2026-May.md +0 -0
  181. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/ARCHITECTURE.md +0 -0
  182. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/PUBLISHING.md +0 -0
  183. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/README.md +0 -0
  184. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/catalog.community.json +0 -0
  185. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/catalog.json +0 -0
  186. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/lean/README.md +0 -0
  187. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/lean/commands/speckit.constitution.md +0 -0
  188. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/lean/commands/speckit.implement.md +0 -0
  189. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/lean/commands/speckit.plan.md +0 -0
  190. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/lean/commands/speckit.specify.md +0 -0
  191. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/lean/commands/speckit.tasks.md +0 -0
  192. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/lean/preset.yml +0 -0
  193. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/scaffold/README.md +0 -0
  194. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
  195. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/scaffold/commands/speckit.specify.md +0 -0
  196. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/scaffold/preset.yml +0 -0
  197. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/scaffold/templates/myext-template.md +0 -0
  198. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/scaffold/templates/spec-template.md +0 -0
  199. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/self-test/commands/speckit.specify.md +0 -0
  200. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/self-test/commands/speckit.wrap-test.md +0 -0
  201. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/self-test/preset.yml +0 -0
  202. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/self-test/templates/agent-file-template.md +0 -0
  203. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/self-test/templates/checklist-template.md +0 -0
  204. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/self-test/templates/constitution-template.md +0 -0
  205. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/self-test/templates/plan-template.md +0 -0
  206. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/self-test/templates/spec-template.md +0 -0
  207. {specify_cli-0.12.4 → specify_cli-0.12.6}/presets/self-test/templates/tasks-template.md +0 -0
  208. {specify_cli-0.12.4 → specify_cli-0.12.6}/scripts/bash/check-prerequisites.sh +0 -0
  209. {specify_cli-0.12.4 → specify_cli-0.12.6}/scripts/bash/common.sh +0 -0
  210. {specify_cli-0.12.4 → specify_cli-0.12.6}/scripts/bash/create-new-feature.sh +0 -0
  211. {specify_cli-0.12.4 → specify_cli-0.12.6}/scripts/bash/setup-plan.sh +0 -0
  212. {specify_cli-0.12.4 → specify_cli-0.12.6}/scripts/bash/setup-tasks.sh +0 -0
  213. {specify_cli-0.12.4 → specify_cli-0.12.6}/scripts/powershell/check-prerequisites.ps1 +0 -0
  214. {specify_cli-0.12.4 → specify_cli-0.12.6}/scripts/powershell/common.ps1 +0 -0
  215. {specify_cli-0.12.4 → specify_cli-0.12.6}/scripts/powershell/create-new-feature.ps1 +0 -0
  216. {specify_cli-0.12.4 → specify_cli-0.12.6}/scripts/powershell/setup-plan.ps1 +0 -0
  217. {specify_cli-0.12.4 → specify_cli-0.12.6}/scripts/powershell/setup-tasks.ps1 +0 -0
  218. {specify_cli-0.12.4 → specify_cli-0.12.6}/spec-driven.md +0 -0
  219. {specify_cli-0.12.4 → specify_cli-0.12.6}/spec-kit.code-workspace +0 -0
  220. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/__init__.py +0 -0
  221. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/_agent_config.py +0 -0
  222. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/_assets.py +0 -0
  223. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/_console.py +0 -0
  224. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/_github_http.py +0 -0
  225. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/_init_options.py +0 -0
  226. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/_invocation_style.py +0 -0
  227. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/_project.py +0 -0
  228. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/_utils.py +0 -0
  229. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/_version.py +0 -0
  230. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/authentication/__init__.py +0 -0
  231. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/authentication/azure_devops.py +0 -0
  232. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/authentication/base.py +0 -0
  233. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/authentication/config.py +0 -0
  234. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/authentication/github.py +0 -0
  235. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/authentication/http.py +0 -0
  236. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/__init__.py +0 -0
  237. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
  238. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/lib/__init__.py +0 -0
  239. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/lib/project.py +0 -0
  240. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/lib/versioning.py +0 -0
  241. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/lib/yamlio.py +0 -0
  242. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/models/__init__.py +0 -0
  243. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/models/catalog.py +0 -0
  244. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/models/manifest.py +0 -0
  245. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/models/records.py +0 -0
  246. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/services/__init__.py +0 -0
  247. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/services/conflict.py +0 -0
  248. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/services/installer.py +0 -0
  249. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/services/packager.py +0 -0
  250. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/services/primitives.py +0 -0
  251. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/services/references.py +0 -0
  252. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/services/resolver.py +0 -0
  253. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/bundler/services/validator.py +0 -0
  254. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/catalogs.py +0 -0
  255. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/commands/__init__.py +0 -0
  256. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/commands/bundle/__init__.py +0 -0
  257. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/commands/init.py +0 -0
  258. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/extensions/_commands.py +0 -0
  259. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integration_runtime.py +0 -0
  260. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integration_scaffold.py +0 -0
  261. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integration_state.py +0 -0
  262. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integration_status.py +0 -0
  263. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/__init__.py +0 -0
  264. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/_commands.py +0 -0
  265. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/_helpers.py +0 -0
  266. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/_install_commands.py +0 -0
  267. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/_migrate_commands.py +0 -0
  268. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/_query_commands.py +0 -0
  269. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
  270. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/agy/__init__.py +0 -0
  271. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/amp/__init__.py +0 -0
  272. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/auggie/__init__.py +0 -0
  273. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/bob/__init__.py +0 -0
  274. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/catalog.py +0 -0
  275. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/claude/__init__.py +0 -0
  276. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/cline/__init__.py +0 -0
  277. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
  278. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/codex/__init__.py +0 -0
  279. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/copilot/__init__.py +0 -0
  280. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/devin/__init__.py +0 -0
  281. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/firebender/__init__.py +0 -0
  282. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/forge/__init__.py +0 -0
  283. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/gemini/__init__.py +0 -0
  284. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/generic/__init__.py +0 -0
  285. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/goose/__init__.py +0 -0
  286. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/junie/__init__.py +0 -0
  287. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
  288. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/kimi/__init__.py +0 -0
  289. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
  290. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/lingma/__init__.py +0 -0
  291. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/manifest.py +0 -0
  292. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/omp/__init__.py +0 -0
  293. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/opencode/__init__.py +0 -0
  294. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/pi/__init__.py +0 -0
  295. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
  296. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/qwen/__init__.py +0 -0
  297. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
  298. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/shai/__init__.py +0 -0
  299. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
  300. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/trae/__init__.py +0 -0
  301. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/vibe/__init__.py +0 -0
  302. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/zcode/__init__.py +0 -0
  303. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/integrations/zed/__init__.py +0 -0
  304. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/presets/__init__.py +0 -0
  305. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/presets/_commands.py +0 -0
  306. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/shared_infra.py +0 -0
  307. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/__init__.py +0 -0
  308. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/_commands.py +0 -0
  309. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/base.py +0 -0
  310. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/catalog.py +0 -0
  311. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/engine.py +0 -0
  312. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/__init__.py +0 -0
  313. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
  314. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/do_while/__init__.py +0 -0
  315. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
  316. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
  317. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/if_then/__init__.py +0 -0
  318. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
  319. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
  320. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/shell/__init__.py +0 -0
  321. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/switch/__init__.py +0 -0
  322. {specify_cli-0.12.4 → specify_cli-0.12.6}/src/specify_cli/workflows/steps/while_loop/__init__.py +0 -0
  323. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/checklist-template.md +0 -0
  324. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/commands/analyze.md +0 -0
  325. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/commands/checklist.md +0 -0
  326. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/commands/clarify.md +0 -0
  327. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/commands/constitution.md +0 -0
  328. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/commands/converge.md +0 -0
  329. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/commands/implement.md +0 -0
  330. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/commands/plan.md +0 -0
  331. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/commands/specify.md +0 -0
  332. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/commands/tasks.md +0 -0
  333. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/commands/taskstoissues.md +0 -0
  334. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/constitution-template.md +0 -0
  335. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/plan-template.md +0 -0
  336. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/spec-template.md +0 -0
  337. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/tasks-template.md +0 -0
  338. {specify_cli-0.12.4 → specify_cli-0.12.6}/templates/vscode-settings.json +0 -0
  339. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/__init__.py +0 -0
  340. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/auth_helpers.py +0 -0
  341. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/bundler_helpers.py +0 -0
  342. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/conftest.py +0 -0
  343. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/contract/test_bundle_cli.py +0 -0
  344. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/contract/test_catalog_schema.py +0 -0
  345. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/contract/test_manifest_schema.py +0 -0
  346. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/extensions/__init__.py +0 -0
  347. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/extensions/bug/__init__.py +0 -0
  348. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/extensions/bug/test_bug_extension.py +0 -0
  349. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/extensions/git/__init__.py +0 -0
  350. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/extensions/test_agent_context_cli_free.py +0 -0
  351. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/extensions/test_extension_agent_context.py +0 -0
  352. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
  353. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/hooks/TESTING.md +0 -0
  354. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/hooks/plan.md +0 -0
  355. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/hooks/spec.md +0 -0
  356. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/hooks/tasks.md +0 -0
  357. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/http_helpers.py +0 -0
  358. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integration/test_bundler_init_install.py +0 -0
  359. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integration/test_bundler_install_flow.py +0 -0
  360. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integration/test_bundler_local_install.py +0 -0
  361. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integration/test_bundler_offline.py +0 -0
  362. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integration/test_bundler_security_paths.py +0 -0
  363. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/__init__.py +0 -0
  364. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_base.py +0 -0
  365. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_cli.py +0 -0
  366. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_extra_args.py +0 -0
  367. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_agy.py +0 -0
  368. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_amp.py +0 -0
  369. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_auggie.py +0 -0
  370. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_base_markdown.py +0 -0
  371. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_base_skills.py +0 -0
  372. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_base_toml.py +0 -0
  373. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_bob.py +0 -0
  374. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_catalog.py +0 -0
  375. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_claude.py +0 -0
  376. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_cline.py +0 -0
  377. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_codebuddy.py +0 -0
  378. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_codex.py +0 -0
  379. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_copilot.py +0 -0
  380. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_devin.py +0 -0
  381. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_firebender.py +0 -0
  382. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_forge.py +0 -0
  383. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_gemini.py +0 -0
  384. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_generic.py +0 -0
  385. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_goose.py +0 -0
  386. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_junie.py +0 -0
  387. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_kilocode.py +0 -0
  388. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_kimi.py +0 -0
  389. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_kiro_cli.py +0 -0
  390. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_lingma.py +0 -0
  391. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_omp.py +0 -0
  392. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_opencode.py +0 -0
  393. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_pi.py +0 -0
  394. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_qodercli.py +0 -0
  395. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_qwen.py +0 -0
  396. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_rovodev.py +0 -0
  397. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_scaffold.py +0 -0
  398. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_shai.py +0 -0
  399. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_state.py +0 -0
  400. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_subcommand.py +0 -0
  401. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_tabnine.py +0 -0
  402. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_trae.py +0 -0
  403. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_vibe.py +0 -0
  404. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_zcode.py +0 -0
  405. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_integration_zed.py +0 -0
  406. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/integrations/test_manifest.py +0 -0
  407. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/self_upgrade_helpers.py +0 -0
  408. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_agent_config_consistency.py +0 -0
  409. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_authentication.py +0 -0
  410. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_branch_numbering.py +0 -0
  411. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_check_prerequisites_paths_only.py +0 -0
  412. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_check_tool.py +0 -0
  413. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_cli_version.py +0 -0
  414. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_commands_package.py +0 -0
  415. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_console_imports.py +0 -0
  416. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_extension_registration.py +0 -0
  417. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_extension_update_hardening.py +0 -0
  418. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_github_http.py +0 -0
  419. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_github_workflows.py +0 -0
  420. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_init_dir.py +0 -0
  421. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_init_dir_cli.py +0 -0
  422. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_live_transient_windows.py +0 -0
  423. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_merge.py +0 -0
  424. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_presets.py +0 -0
  425. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_ps1_encoding.py +0 -0
  426. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_registrar_path_traversal.py +0 -0
  427. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_self_upgrade_detection.py +0 -0
  428. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_self_upgrade_execution.py +0 -0
  429. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_self_upgrade_guidance.py +0 -0
  430. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_self_upgrade_verification.py +0 -0
  431. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_setup_plan_feature_json.py +0 -0
  432. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_setup_plan_no_overwrite.py +0 -0
  433. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_setup_tasks.py +0 -0
  434. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_shared_infra_integrity.py +0 -0
  435. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_timestamp_branches.py +0 -0
  436. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_upgrade.py +0 -0
  437. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_utils.py +0 -0
  438. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_utils_assets_imports.py +0 -0
  439. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_version_imports.py +0 -0
  440. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/test_workflow_run_without_project.py +0 -0
  441. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/unit/test_bundler_conflict.py +0 -0
  442. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/unit/test_bundler_packager.py +0 -0
  443. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/unit/test_bundler_primitives.py +0 -0
  444. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/unit/test_bundler_records.py +0 -0
  445. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/unit/test_bundler_references.py +0 -0
  446. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/unit/test_bundler_resolver.py +0 -0
  447. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/unit/test_bundler_validator.py +0 -0
  448. {specify_cli-0.12.4 → specify_cli-0.12.6}/tests/unit/test_bundler_versioning.py +0 -0
  449. {specify_cli-0.12.4 → specify_cli-0.12.6}/workflows/ARCHITECTURE.md +0 -0
  450. {specify_cli-0.12.4 → specify_cli-0.12.6}/workflows/PUBLISHING.md +0 -0
  451. {specify_cli-0.12.4 → specify_cli-0.12.6}/workflows/README.md +0 -0
  452. {specify_cli-0.12.4 → specify_cli-0.12.6}/workflows/catalog.community.json +0 -0
  453. {specify_cli-0.12.4 → specify_cli-0.12.6}/workflows/catalog.json +0 -0
  454. {specify_cli-0.12.4 → specify_cli-0.12.6}/workflows/speckit/workflow.yml +0 -0
  455. {specify_cli-0.12.4 → specify_cli-0.12.6}/workflows/step-catalog.community.json +0 -0
  456. {specify_cli-0.12.4 → specify_cli-0.12.6}/workflows/step-catalog.json +0 -0
@@ -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@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0
38
+ uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0
39
39
  with:
40
40
  dotnet-version: '8.x'
41
41
 
@@ -2,6 +2,36 @@
2
2
 
3
3
  <!-- insert new changelog below this comment -->
4
4
 
5
+ ## [0.12.6] - 2026-07-07
6
+
7
+ ### Changed
8
+
9
+ - fix(bundler): validate catalog URLs in `catalog add` (HTTPS-only, require host) (#3367)
10
+ - Update Ralph Loop extension to v1.2.1 (#3365)
11
+ - fix extension-local script path rewriting (#3364)
12
+ - Add Charter extension to community catalog (#3363)
13
+ - feat(scripts): add Python check-prerequisites PoC (#3302)
14
+ - test: reduce registry manifest test repetition (#3146)
15
+ - fix(integrations): hermes honors SPECKIT_INTEGRATION_HERMES_EXTRA_ARGS (#3346)
16
+ - fix(extensions): coerce non-mapping YAML config roots to {} in ConfigManager (#3345)
17
+ - fix(yaml): pin goose recipe prompt block-scalar indentation (#3343)
18
+ - chore: release 0.12.5, begin 0.12.6.dev0 development (#3381)
19
+
20
+ ## [0.12.5] - 2026-07-06
21
+
22
+ ### Changed
23
+
24
+ - fix(workflows): match gate reject option case-insensitively (#3335)
25
+ - fix(bundler): reject host-less catalog URLs in adapters (use hostname, not netloc) (#3333)
26
+ - fix(bundler): resolve catalog search at highest-precedence source before filtering (#3331)
27
+ - fix(workflows): compare non-numeric strings lexicographically instead of returning False (#3323)
28
+ - fix(workflows): quote-aware interpolation so a literal }} in a filter arg doesn't break multi-expression templates (#3307)
29
+ - Support namespaced git feature branch templates (#3293)
30
+ - chore(deps): bump actions/setup-dotnet from 5.3.0 to 5.4.0 (#3315)
31
+ - fix(integrations): cursor-agent honors executable/extra-args env overrides (#3265)
32
+ - docs: drop stale kimi KIMI.md->AGENTS.md migration note (#3291)
33
+ - chore: release 0.12.4, begin 0.12.5.dev0 development (#3305)
34
+
5
35
  ## [0.12.4] - 2026-07-02
6
36
 
7
37
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: specify-cli
3
- Version: 0.12.4
3
+ Version: 0.12.6
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
@@ -42,6 +42,7 @@ The following community-contributed extensions are available in [`catalog.commun
42
42
  | Bugfix Workflow | Structured bugfix workflow — capture bugs, trace to spec artifacts, and patch specs surgically | `process` | Read+Write | [spec-kit-bugfix](https://github.com/Quratulain-bilal/spec-kit-bugfix) |
43
43
  | Canon | Adds canon-driven (baseline-driven) workflows: spec-first, code-first, spec-drift. Requires Canon Core preset installation. | `process` | Read+Write | [spec-kit-canon](https://github.com/maximiliamus/spec-kit-canon/tree/master/extension) |
44
44
  | Catalog CI | Automated validation for spec-kit community catalog entries — structure, URLs, diffs, and linting | `process` | Read-only | [spec-kit-catalog-ci](https://github.com/Quratulain-bilal/spec-kit-catalog-ci) |
45
+ | Charter | Compose modular project constitutions from shared fragment registries. Centralize governance rules, select per-project fragments, track upstream changes, and keep multi-project setups consistent. | `process` | Read+Write | [spec-kit-charter](https://github.com/Fyloss/spec-kit-charter) |
45
46
  | CI Guard | Spec compliance gates for CI/CD — verify specs exist, check drift, and block merges on gaps | `process` | Read-only | [spec-kit-ci-guard](https://github.com/Quratulain-bilal/spec-kit-ci-guard) |
46
47
  | Checkpoint Extension | Commit the changes made during the middle of the implementation, so you don't end up with just one very large commit at the end | `code` | Read+Write | [spec-kit-checkpoint](https://github.com/aaronrsun/spec-kit-checkpoint) |
47
48
  | Cleanup Extension | Post-implementation quality gate that reviews changes, fixes small issues (scout rule), creates tasks for medium issues, and generates analysis for large issues | `code` | Read+Write | [spec-kit-cleanup](https://github.com/dsrednicki/spec-kit-cleanup) |
@@ -24,7 +24,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
24
24
  | [IBM Bob](https://www.ibm.com/products/bob) | `bob` | IDE-based agent |
25
25
  | [Junie](https://junie.jetbrains.com/) | `junie` | |
26
26
  | [Kilo Code](https://github.com/Kilo-Org/kilocode) | `kilocode` | |
27
- | [Kimi Code](https://code.kimi.com/) | `kimi` | Skills-based integration; installs into `.kimi-code/skills/`. `--migrate-legacy` moves old `.kimi/skills/` installs to the new paths, and (when the `agent-context` extension is enabled) migrates `KIMI.md` context into `AGENTS.md` |
27
+ | [Kimi Code](https://code.kimi.com/) | `kimi` | Skills-based integration; installs into `.kimi-code/skills/`. `--migrate-legacy` moves old `.kimi/skills/` installs to the new paths |
28
28
  | [Kiro CLI](https://kiro.dev/docs/cli/) | `kiro-cli` | Kiro CLI does not substitute `$ARGUMENTS` in file-based prompts, so Spec Kit ships a prose fallback at render time (see [Manage prompts](https://kiro.dev/docs/cli/chat/manage-prompts/) and issue [#1926](https://github.com/github/spec-kit/issues/1926)). Alias: `--integration kiro` |
29
29
  | [Lingma](https://lingma.aliyun.com/) | `lingma` | Skills-based integration; skills are installed automatically |
30
30
  | [Mistral Vibe](https://github.com/mistralai/mistral-vibe) | `vibe` | |
@@ -218,7 +218,7 @@ Some integrations accept additional options via `--integration-options`:
218
218
  | Integration | Option | Description |
219
219
  | ----------- | ------------------- | -------------------------------------------------------------- |
220
220
  | `generic` | `--commands-dir` | Required. Directory for command files |
221
- | `kimi` | `--migrate-legacy` | Migrate legacy `.kimi/skills/` installs to `.kimi-code/skills/` (including dotted→hyphenated directory names); when the `agent-context` extension is enabled, also migrates `KIMI.md` to `AGENTS.md` |
221
+ | `kimi` | `--migrate-legacy` | Migrate legacy `.kimi/skills/` installs to `.kimi-code/skills/` (including dotted→hyphenated skill naming, e.g. `speckit.xxx` `speckit-xxx`) |
222
222
 
223
223
  Example:
224
224
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema_version": "1.0",
3
- "updated_at": "2026-07-01T00:00:00Z",
3
+ "updated_at": "2026-07-06T00:00:00Z",
4
4
  "catalog_url": "https://raw.githubusercontent.com/github/spec-kit/main/extensions/catalog.community.json",
5
5
  "extensions": {
6
6
  "aide": {
@@ -670,6 +670,40 @@
670
670
  "created_at": "2026-04-11T18:00:00Z",
671
671
  "updated_at": "2026-04-11T18:00:00Z"
672
672
  },
673
+ "charter": {
674
+ "name": "Charter",
675
+ "id": "charter",
676
+ "description": "Compose modular project constitutions from shared fragment registries. Centralize governance rules, select per-project fragments, track upstream changes, and keep multi-project setups consistent.",
677
+ "author": "Fyloss",
678
+ "version": "0.3.1",
679
+ "download_url": "https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.3.1.zip",
680
+ "repository": "https://github.com/Fyloss/spec-kit-charter",
681
+ "homepage": "https://github.com/Fyloss/spec-kit-charter",
682
+ "documentation": "https://github.com/Fyloss/spec-kit-charter/tree/master/docs",
683
+ "changelog": "https://github.com/Fyloss/spec-kit-charter/blob/master/CHANGELOG.md",
684
+ "license": "MIT",
685
+ "category": "process",
686
+ "effect": "read-write",
687
+ "requires": {
688
+ "speckit_version": ">=0.11.9"
689
+ },
690
+ "provides": {
691
+ "commands": 5,
692
+ "hooks": 1
693
+ },
694
+ "tags": [
695
+ "constitution",
696
+ "governance",
697
+ "modular",
698
+ "fragments",
699
+ "registry"
700
+ ],
701
+ "verified": false,
702
+ "downloads": 0,
703
+ "stars": 0,
704
+ "created_at": "2026-07-06T00:00:00Z",
705
+ "updated_at": "2026-07-06T00:00:00Z"
706
+ },
673
707
  "ci-guard": {
674
708
  "name": "CI Guard",
675
709
  "id": "ci-guard",
@@ -2679,8 +2713,8 @@
2679
2713
  "id": "ralph",
2680
2714
  "description": "Autonomous implementation loop using AI agent CLI",
2681
2715
  "author": "Rubiss",
2682
- "version": "1.1.1",
2683
- "download_url": "https://github.com/Rubiss-Projects/spec-kit-ralph/archive/refs/tags/v1.1.1.zip",
2716
+ "version": "1.2.1",
2717
+ "download_url": "https://github.com/Rubiss-Projects/spec-kit-ralph/archive/refs/tags/v1.2.1.zip",
2684
2718
  "repository": "https://github.com/Rubiss-Projects/spec-kit-ralph",
2685
2719
  "homepage": "https://github.com/Rubiss-Projects/spec-kit-ralph",
2686
2720
  "documentation": "https://github.com/Rubiss-Projects/spec-kit-ralph/blob/main/README.md",
@@ -2689,7 +2723,7 @@
2689
2723
  "category": "code",
2690
2724
  "effect": "read-write",
2691
2725
  "requires": {
2692
- "speckit_version": ">=0.1.0",
2726
+ "speckit_version": ">=0.8.5",
2693
2727
  "tools": [
2694
2728
  {
2695
2729
  "name": "copilot",
@@ -2699,6 +2733,10 @@
2699
2733
  "name": "codex",
2700
2734
  "required": false
2701
2735
  },
2736
+ {
2737
+ "name": "claude",
2738
+ "required": false
2739
+ },
2702
2740
  {
2703
2741
  "name": "git",
2704
2742
  "required": true
@@ -2714,13 +2752,14 @@
2714
2752
  "automation",
2715
2753
  "loop",
2716
2754
  "copilot",
2717
- "codex"
2755
+ "codex",
2756
+ "claude"
2718
2757
  ],
2719
2758
  "verified": false,
2720
2759
  "downloads": 0,
2721
2760
  "stars": 0,
2722
2761
  "created_at": "2026-03-09T00:00:00Z",
2723
- "updated_at": "2026-06-05T03:11:06Z"
2762
+ "updated_at": "2026-07-06T00:00:00Z"
2724
2763
  },
2725
2764
  "reconcile": {
2726
2765
  "name": "Reconcile Extension",
@@ -7,7 +7,7 @@ Git repository initialization, feature branch creation, numbering (sequential/ti
7
7
  This extension provides Git operations as an optional, self-contained module. It manages:
8
8
 
9
9
  - **Repository initialization** with configurable commit messages
10
- - **Feature branch creation** with sequential (`001-feature-name`) or timestamp (`20260319-143022-feature-name`) numbering
10
+ - **Feature branch creation** with sequential (`001-feature-name`) or timestamp (`20260319-143022-feature-name`) numbering and optional templates for branch namespaces
11
11
  - **Branch validation** to ensure branches follow naming conventions
12
12
  - **Git remote detection** for GitHub integration (e.g., issue creation)
13
13
  - **Auto-commit** after core commands (configurable per-command with custom messages)
@@ -53,6 +53,16 @@ Configuration is stored in `.specify/extensions/git/git-config.yml`:
53
53
  # Branch numbering strategy: "sequential" or "timestamp"
54
54
  branch_numbering: sequential
55
55
 
56
+ # Optional branch name template. Leave empty for the default "{number}-{slug}".
57
+ # Supported tokens: {author}, {app}, {number}, {slug}; {slug} must not appear
58
+ # before {number}, and the final path segment must start with {number}-.
59
+ # Example for monorepos: "{author}/{app}/{number}-{slug}"
60
+ branch_template: ""
61
+
62
+ # Optional shorthand namespace. Leave empty to use branch_template/default behavior.
63
+ # Example: "features/{app}" expands to "features/{app}/{number}-{slug}"
64
+ branch_prefix: ""
65
+
56
66
  # Custom commit message for git init
57
67
  init_commit_message: "[Spec Kit] Initial commit"
58
68
 
@@ -65,6 +75,10 @@ auto_commit:
65
75
  message: "[Spec Kit] Add specification"
66
76
  ```
67
77
 
78
+ `{author}` is derived from Git config and sanitized for branch names. `{app}` is derived from the Spec Kit init directory name. Custom templates must not put `{slug}` before `{number}`, and must put `{number}-` at the start of the final path segment so generated names remain valid feature branches. For a monorepo project at `apps/web/.specify/`, a template such as `{author}/{app}/{number}-{slug}` produces branches like `jdoe/web/008-guided-tour`.
79
+
80
+ For simple namespace-only customization, `branch_prefix` is also accepted as a shorthand and expands to `<branch_prefix>/{number}-{slug}`.
81
+
68
82
  ## Installation
69
83
 
70
84
  ```bash
@@ -19,7 +19,7 @@ You **MUST** consider the user input before proceeding (if not empty).
19
19
  If the user explicitly provided `GIT_BRANCH_NAME` (e.g., via environment variable, argument, or in their request), pass it through to the script by setting the `GIT_BRANCH_NAME` environment variable before invoking the script. When `GIT_BRANCH_NAME` is set:
20
20
  - The script uses the exact value as the branch name, bypassing all prefix/suffix generation
21
21
  - `--short-name`, `--number`, and `--timestamp` flags are ignored
22
- - `FEATURE_NUM` is extracted from the name if it starts with a numeric prefix, otherwise set to the full branch name
22
+ - `FEATURE_NUM` is extracted when the final path segment starts with a numeric or timestamp feature marker (for example `042-name`, `feat/042-name`, or `jdoe/app/042-name`), otherwise set to the full branch name
23
23
 
24
24
  ## Prerequisites
25
25
 
@@ -35,6 +35,19 @@ Determine the branch numbering strategy by checking configuration in this order:
35
35
  3. Check `.specify/init-options.json` for `branch_numbering` value (deprecated, backward compatibility — will be removed in a future release)
36
36
  4. Default to `sequential` if none of the above exist
37
37
 
38
+ ## Branch Name Template
39
+
40
+ Check `.specify/extensions/git/git-config.yml` for an optional `branch_template` value. If it is empty or missing, use the default branch shape `{number}-{slug}`. If it is set, `{slug}` must not appear before `{number}`, its final path segment must start with `{number}-`, and the script expands these tokens:
41
+
42
+ - `{author}`: sanitized Git config author (`user.name`, falling back to the email local part)
43
+ - `{app}`: sanitized Spec Kit init directory name
44
+ - `{number}`: sequential number or timestamp
45
+ - `{slug}`: generated short branch slug
46
+
47
+ For monorepos, a template such as `{author}/{app}/{number}-{slug}` creates names like `jdoe/web/008-guided-tour` while preserving per-project feature numbering.
48
+
49
+ The script also accepts `branch_prefix` as a shorthand for simple namespaces; it expands to `<branch_prefix>/{number}-{slug}`.
50
+
38
51
  ## Execution
39
52
 
40
53
  Generate a concise short name (2-4 words) for the branch:
@@ -54,6 +67,7 @@ Run the appropriate script based on your platform:
54
67
  - Always include the JSON flag (`--json` for Bash, `-Json` for PowerShell) so the output can be parsed reliably
55
68
  - You must only ever run this script once per feature
56
69
  - The JSON output will contain `BRANCH_NAME` and `FEATURE_NUM`
70
+ - Do not manually expand `branch_template`; the script reads the git extension config and applies it consistently
57
71
 
58
72
  ## Graceful Degradation
59
73
 
@@ -64,5 +78,5 @@ If Git is not installed or the current directory is not a Git repository:
64
78
  ## Output
65
79
 
66
80
  The script outputs JSON with:
67
- - `BRANCH_NAME`: The branch name (e.g., `003-user-auth` or `20260319-143022-user-auth`)
81
+ - `BRANCH_NAME`: The branch name (e.g., `003-user-auth`, `20260319-143022-user-auth`, or `jdoe/web/003-user-auth`)
68
82
  - `FEATURE_NUM`: The numeric or timestamp prefix used
@@ -22,24 +22,24 @@ Get the current branch name:
22
22
  git rev-parse --abbrev-ref HEAD
23
23
  ```
24
24
 
25
- The branch name must match one of these patterns:
25
+ The branch name's final path segment must start with one of these feature markers:
26
26
 
27
- 1. **Sequential**: `^[0-9]{3,}-` (e.g., `001-feature-name`, `042-fix-bug`, `1000-big-feature`)
28
- 2. **Timestamp**: `^[0-9]{8}-[0-9]{6}-` (e.g., `20260319-143022-feature-name`)
27
+ 1. **Sequential**: `[0-9]{3,}-` (e.g., `001-feature-name`, `042-fix-bug`, `1000-big-feature`, `jdoe/web/008-guided-tour`)
28
+ 2. **Timestamp**: `[0-9]{8}-[0-9]{6}-` (e.g., `20260319-143022-feature-name`, `jdoe/web/20260319-143022-feature-name`)
29
29
 
30
30
  ## Execution
31
31
 
32
32
  If on a feature branch (matches either pattern):
33
33
  - Output: `✓ On feature branch: <branch-name>`
34
34
  - Check if the corresponding spec directory exists under `specs/`:
35
- - For sequential branches, look for `specs/<prefix>-*` where prefix matches the numeric portion
36
- - For timestamp branches, look for `specs/<prefix>-*` where prefix matches the `YYYYMMDD-HHMMSS` portion
35
+ - For sequential branches, look for `specs/<prefix>-*` where prefix matches the numeric portion, regardless of branch namespace prefixes
36
+ - For timestamp branches, look for `specs/<prefix>-*` where prefix matches the `YYYYMMDD-HHMMSS` portion, regardless of branch namespace prefixes
37
37
  - If spec directory exists: `✓ Spec directory found: <path>`
38
38
  - If spec directory missing: `⚠ No spec directory found for prefix <prefix>`
39
39
 
40
40
  If NOT on a feature branch:
41
41
  - Output: `✗ Not on a feature branch. Current branch: <branch-name>`
42
- - Output: `Feature branches should be named like: 001-feature-name or 20260319-143022-feature-name`
42
+ - Output: `Feature branches should be named like: 001-feature-name, 20260319-143022-feature-name, or <namespace>/001-feature-name`
43
43
 
44
44
  ## Graceful Degradation
45
45
 
@@ -4,6 +4,16 @@
4
4
  # Branch numbering strategy: "sequential" (001, 002, ...) or "timestamp" (YYYYMMDD-HHMMSS)
5
5
  branch_numbering: sequential
6
6
 
7
+ # Optional branch name template. Leave empty for the default "{number}-{slug}".
8
+ # Supported tokens: {author}, {app}, {number}, {slug}
9
+ # {slug} must not appear before {number}; final path segment must start with {number}-.
10
+ # Example for monorepos: "{author}/{app}/{number}-{slug}"
11
+ branch_template: ""
12
+
13
+ # Optional shorthand namespace. Leave empty to use branch_template/default behavior.
14
+ # Example: "features/{app}" expands to "features/{app}/{number}-{slug}"
15
+ branch_prefix: ""
16
+
7
17
  # Commit message used by `git commit` during repository initialization
8
18
  init_commit_message: "[Spec Kit] Initial commit"
9
19
 
@@ -4,7 +4,7 @@ extension:
4
4
  id: git
5
5
  name: "Git Branching Workflow"
6
6
  version: "1.0.0"
7
- description: "Feature branch creation, numbering (sequential/timestamp), validation, and Git remote detection"
7
+ description: "Feature branch creation, numbering (sequential/timestamp), templating, validation, and Git remote detection"
8
8
  author: spec-kit-core
9
9
  repository: https://github.com/github/spec-kit
10
10
  license: MIT
@@ -19,7 +19,7 @@ provides:
19
19
  commands:
20
20
  - name: speckit.git.feature
21
21
  file: commands/speckit.git.feature.md
22
- description: "Create a feature branch with sequential or timestamp numbering"
22
+ description: "Create a feature branch with sequential or timestamp numbering and optional templates"
23
23
  - name: speckit.git.validate
24
24
  file: commands/speckit.git.validate.md
25
25
  description: "Validate current branch follows feature branch naming conventions"
@@ -137,4 +137,6 @@ tags:
137
137
  config:
138
138
  defaults:
139
139
  branch_numbering: sequential
140
+ branch_template: ""
141
+ branch_prefix: ""
140
142
  init_commit_message: "[Spec Kit] Initial commit"
@@ -4,6 +4,16 @@
4
4
  # Branch numbering strategy: "sequential" (001, 002, ...) or "timestamp" (YYYYMMDD-HHMMSS)
5
5
  branch_numbering: sequential
6
6
 
7
+ # Optional branch name template. Leave empty for the default "{number}-{slug}".
8
+ # Supported tokens: {author}, {app}, {number}, {slug}
9
+ # {slug} must not appear before {number}; final path segment must start with {number}-.
10
+ # Example for monorepos: "{author}/{app}/{number}-{slug}"
11
+ branch_template: ""
12
+
13
+ # Optional shorthand namespace. Leave empty to use branch_template/default behavior.
14
+ # Example: "features/{app}" expands to "features/{app}/{number}-{slug}"
15
+ branch_prefix: ""
16
+
7
17
  # Commit message used by `git commit` during repository initialization
8
18
  init_commit_message: "[Spec Kit] Initial commit"
9
19