specify-cli 1.0.3__tar.gz → 1.0.5__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 (557) hide show
  1. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/agent_request.yml +1 -1
  2. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/bug_report.yml +2 -0
  3. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/feature_request.yml +2 -0
  4. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/codeql.yml +2 -2
  5. {specify_cli-1.0.3 → specify_cli-1.0.5}/AGENTS.md +1 -1
  6. {specify_cli-1.0.3 → specify_cli-1.0.5}/CHANGELOG.md +50 -0
  7. {specify_cli-1.0.3 → specify_cli-1.0.5}/PKG-INFO +1 -1
  8. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/extensions.md +6 -4
  9. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/extensions.md +2 -0
  10. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/integrations.md +2 -0
  11. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/workflows.md +46 -10
  12. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +16 -11
  13. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/agent-context-defaults.json +1 -0
  14. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/catalog.community.json +123 -29
  15. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/bash/create-new-feature-branch.sh +14 -1
  16. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +4 -2
  17. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/python/create_new_feature_branch.py +9 -2
  18. {specify_cli-1.0.3 → specify_cli-1.0.5}/integrations/catalog.json +19 -1
  19. specify_cli-1.0.5/newsletters/2026-August.md +130 -0
  20. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/PUBLISHING.md +37 -0
  21. {specify_cli-1.0.3 → specify_cli-1.0.5}/pyproject.toml +1 -1
  22. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/common.sh +13 -5
  23. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/create-new-feature.sh +15 -2
  24. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/setup-plan.sh +4 -4
  25. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/create-new-feature.ps1 +12 -3
  26. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/setup-plan.ps1 +2 -2
  27. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/setup_plan.py +2 -2
  28. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_invocation_style.py +1 -1
  29. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/config.py +4 -1
  30. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/models/catalog.py +11 -0
  31. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/models/records.py +12 -6
  32. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/commands/init.py +14 -0
  33. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/extensions/__init__.py +1 -1
  34. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/extensions/_commands.py +109 -13
  35. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/__init__.py +4 -0
  36. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/base.py +5 -1
  37. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/cline/__init__.py +21 -5
  38. specify_cli-1.0.5/src/specify_cli/integrations/dsh/__init__.py +64 -0
  39. specify_cli-1.0.5/src/specify_cli/integrations/muse/__init__.py +63 -0
  40. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/rovodev/__init__.py +11 -0
  41. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/presets/__init__.py +295 -3
  42. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/presets/_commands.py +112 -0
  43. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/__init__.py +2 -0
  44. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/_commands.py +24 -5
  45. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/catalog.py +4 -2
  46. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/engine.py +8 -1
  47. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/expressions.py +34 -1
  48. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/_commands.py +18 -2
  49. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/schema.py +7 -1
  50. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/do_while/__init__.py +8 -0
  51. specify_cli-1.0.5/src/specify_cli/workflows/steps/slot/__init__.py +67 -0
  52. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/while_loop/__init__.py +12 -0
  53. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/plan.md +1 -1
  54. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/tasks.md +1 -0
  55. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/contract/test_catalog_schema.py +17 -0
  56. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/git/test_git_extension_python_parity.py +133 -6
  57. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_base.py +14 -0
  58. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_cline.py +53 -0
  59. specify_cli-1.0.5/tests/integrations/test_integration_dsh.py +314 -0
  60. specify_cli-1.0.5/tests/integrations/test_integration_muse.py +80 -0
  61. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_rovodev.py +39 -0
  62. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_registry.py +1 -1
  63. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/parity_helpers.py +42 -1
  64. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_agent_config_consistency.py +2 -0
  65. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_authentication.py +1 -1
  66. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_create_new_feature_python_parity.py +191 -1
  67. specify_cli-1.0.5/tests/test_extension_content_staleness.py +134 -0
  68. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_extension_skills.py +46 -0
  69. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_extensions.py +206 -0
  70. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_presets.py +603 -0
  71. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_resolve_template_python_parity.py +34 -0
  72. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_setup_plan_python_parity.py +54 -0
  73. specify_cli-1.0.5/tests/test_tasks_template_constraints.py +29 -0
  74. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_workflows.py +271 -2
  75. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_records.py +70 -0
  76. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_references.py +2 -2
  77. specify_cli-1.0.5/tests/workflows/test_bundled_speckit_workflow.py +58 -0
  78. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_commands.py +109 -0
  79. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_schema.py +51 -0
  80. specify_cli-1.0.5/tests/workflows/test_slot_step.py +242 -0
  81. {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/ARCHITECTURE.md +6 -2
  82. {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/PUBLISHING.md +1 -1
  83. {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/README.md +27 -2
  84. {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/catalog.json +2 -2
  85. {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/speckit/workflow.yml +1 -5
  86. {specify_cli-1.0.3 → specify_cli-1.0.5}/.devcontainer/devcontainer.json +0 -0
  87. {specify_cli-1.0.3 → specify_cli-1.0.5}/.devcontainer/post-create.sh +0 -0
  88. {specify_cli-1.0.3 → specify_cli-1.0.5}/.editorconfig +0 -0
  89. {specify_cli-1.0.3 → specify_cli-1.0.5}/.gitattributes +0 -0
  90. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/CODEOWNERS +0 -0
  91. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/bundle_submission.yml +0 -0
  92. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  93. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
  94. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
  95. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  96. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/aw/actions-lock.json +0 -0
  97. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/dependabot.yml +0 -0
  98. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/scripts/check_security_requirements.py +0 -0
  99. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/security-audit-requirements.txt +0 -0
  100. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/skills/add-community-extension/SKILL.md +0 -0
  101. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/RELEASE-PROCESS.md +0 -0
  102. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-bundle.lock.yml +0 -0
  103. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-bundle.md +0 -0
  104. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-extension.lock.yml +0 -0
  105. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-extension.md +0 -0
  106. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-preset.lock.yml +0 -0
  107. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-preset.md +0 -0
  108. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-assess.lock.yml +0 -0
  109. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-assess.md +0 -0
  110. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-fix.lock.yml +0 -0
  111. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-fix.md +0 -0
  112. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-test.lock.yml +0 -0
  113. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-test.md +0 -0
  114. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/catalog-assign.yml +0 -0
  115. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/docs.yml +0 -0
  116. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/feature-assess.lock.yml +0 -0
  117. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/feature-assess.md +0 -0
  118. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/lint.yml +0 -0
  119. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/publish-pypi.yml +0 -0
  120. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/release-trigger.yml +0 -0
  121. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/release.yml +0 -0
  122. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/security.yml +0 -0
  123. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/stale.yml +0 -0
  124. {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/test.yml +0 -0
  125. {specify_cli-1.0.3 → specify_cli-1.0.5}/.gitignore +0 -0
  126. {specify_cli-1.0.3 → specify_cli-1.0.5}/.markdownlint-cli2.jsonc +0 -0
  127. {specify_cli-1.0.3 → specify_cli-1.0.5}/.pre-commit-config.yaml +0 -0
  128. {specify_cli-1.0.3 → specify_cli-1.0.5}/.zenodo.json +0 -0
  129. {specify_cli-1.0.3 → specify_cli-1.0.5}/CITATION.cff +0 -0
  130. {specify_cli-1.0.3 → specify_cli-1.0.5}/CODE_OF_CONDUCT.md +0 -0
  131. {specify_cli-1.0.3 → specify_cli-1.0.5}/CONTRIBUTING.md +0 -0
  132. {specify_cli-1.0.3 → specify_cli-1.0.5}/DEVELOPMENT.md +0 -0
  133. {specify_cli-1.0.3 → specify_cli-1.0.5}/LICENSE +0 -0
  134. {specify_cli-1.0.3 → specify_cli-1.0.5}/README.md +0 -0
  135. {specify_cli-1.0.3 → specify_cli-1.0.5}/README.zh-CN.md +0 -0
  136. {specify_cli-1.0.3 → specify_cli-1.0.5}/SECURITY.md +0 -0
  137. {specify_cli-1.0.3 → specify_cli-1.0.5}/SUPPORT.md +0 -0
  138. {specify_cli-1.0.3 → specify_cli-1.0.5}/bundles/catalog.community.json +0 -0
  139. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/.gitignore +0 -0
  140. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/README.md +0 -0
  141. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/bundles.md +0 -0
  142. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/friends.md +0 -0
  143. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/overview.md +0 -0
  144. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/presets.md +0 -0
  145. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/walkthroughs.md +0 -0
  146. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/concepts/complex-features.md +0 -0
  147. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/concepts/sdd.md +0 -0
  148. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/concepts/spec-of-specs.md +0 -0
  149. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/concepts/spec-persistence.md +0 -0
  150. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/docfx.json +0 -0
  151. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/guides/evolving-specs.md +0 -0
  152. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/guides/existing-projects.md +0 -0
  153. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/guides/monorepo.md +0 -0
  154. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/history.md +0 -0
  155. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/images/spec-kit-logo.webp +0 -0
  156. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/index.md +0 -0
  157. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/install/air-gapped.md +0 -0
  158. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/install/one-time.md +0 -0
  159. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/install/pipx.md +0 -0
  160. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/install/pypi.md +0 -0
  161. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/install/uv.md +0 -0
  162. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/installation.md +0 -0
  163. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/local-development.md +0 -0
  164. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/quickstart.md +0 -0
  165. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/agentic-bugfix.md +0 -0
  166. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/agentic-sdd.md +0 -0
  167. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/authentication.md +0 -0
  168. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/bundles.md +0 -0
  169. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/core.md +0 -0
  170. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/overview.md +0 -0
  171. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/presets.md +0 -0
  172. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/template/public/main.css +0 -0
  173. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/toc.yml +0 -0
  174. {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/upgrade.md +0 -0
  175. {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/business-analyst/README.md +0 -0
  176. {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/business-analyst/bundle.yml +0 -0
  177. {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/developer/README.md +0 -0
  178. {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/developer/bundle.yml +0 -0
  179. {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/product-manager/README.md +0 -0
  180. {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/product-manager/bundle.yml +0 -0
  181. {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/security-researcher/README.md +0 -0
  182. {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/security-researcher/bundle.yml +0 -0
  183. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/EXTENSION-API-REFERENCE.md +0 -0
  184. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -0
  185. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/EXTENSION-USER-GUIDE.md +0 -0
  186. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/README.md +0 -0
  187. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
  188. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/README.md +0 -0
  189. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/agent-context-config.yml +0 -0
  190. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
  191. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/extension.yml +0 -0
  192. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
  193. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
  194. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
  195. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/README.md +0 -0
  196. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.decide.md +0 -0
  197. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.define.md +0 -0
  198. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.intake.md +0 -0
  199. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.research.md +0 -0
  200. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.shape.md +0 -0
  201. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/extension.yml +0 -0
  202. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/bug/README.md +0 -0
  203. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/bug/commands/speckit.bug.assess.md +0 -0
  204. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/bug/commands/speckit.bug.fix.md +0 -0
  205. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/bug/commands/speckit.bug.test.md +0 -0
  206. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/bug/extension.yml +0 -0
  207. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/catalog.json +0 -0
  208. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/README.md +0 -0
  209. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.commit.md +0 -0
  210. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.feature.md +0 -0
  211. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.initialize.md +0 -0
  212. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.remote.md +0 -0
  213. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.validate.md +0 -0
  214. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/config-template.yml +0 -0
  215. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/extension.yml +0 -0
  216. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/git-config.yml +0 -0
  217. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/bash/auto-commit.sh +0 -0
  218. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/bash/git-common.sh +0 -0
  219. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
  220. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
  221. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
  222. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
  223. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/python/auto_commit.py +0 -0
  224. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/python/git_common.py +0 -0
  225. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/python/initialize_repo.py +0 -0
  226. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/selftest/commands/selftest.md +0 -0
  227. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/selftest/extension.yml +0 -0
  228. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/.gitignore +0 -0
  229. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/CHANGELOG.md +0 -0
  230. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/EXAMPLE-README.md +0 -0
  231. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/LICENSE +0 -0
  232. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/README.md +0 -0
  233. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/commands/example.md +0 -0
  234. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/config-template.yml +0 -0
  235. {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/extension.yml +0 -0
  236. {specify_cli-1.0.3 → specify_cli-1.0.5}/integrations/CONTRIBUTING.md +0 -0
  237. {specify_cli-1.0.3 → specify_cli-1.0.5}/integrations/README.md +0 -0
  238. {specify_cli-1.0.3 → specify_cli-1.0.5}/integrations/catalog.community.json +0 -0
  239. {specify_cli-1.0.3 → specify_cli-1.0.5}/media/bootstrap-claude-code.gif +0 -0
  240. {specify_cli-1.0.3 → specify_cli-1.0.5}/media/logo_large.webp +0 -0
  241. {specify_cli-1.0.3 → specify_cli-1.0.5}/media/logo_small.webp +0 -0
  242. {specify_cli-1.0.3 → specify_cli-1.0.5}/media/spec-kit-video-header.jpg +0 -0
  243. {specify_cli-1.0.3 → specify_cli-1.0.5}/media/specify_cli.gif +0 -0
  244. {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-April.md +0 -0
  245. {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-February.md +0 -0
  246. {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-July.md +0 -0
  247. {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-June.md +0 -0
  248. {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-March.md +0 -0
  249. {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-May.md +0 -0
  250. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/ARCHITECTURE.md +0 -0
  251. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/README.md +0 -0
  252. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/catalog.community.json +0 -0
  253. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/catalog.json +0 -0
  254. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/constitution-sync/README.md +0 -0
  255. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
  256. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/constitution-sync/preset.yml +0 -0
  257. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/README.md +0 -0
  258. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/commands/speckit.constitution.md +0 -0
  259. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/commands/speckit.implement.md +0 -0
  260. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/commands/speckit.plan.md +0 -0
  261. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/commands/speckit.specify.md +0 -0
  262. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/commands/speckit.tasks.md +0 -0
  263. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/preset.yml +0 -0
  264. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/README.md +0 -0
  265. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
  266. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/commands/speckit.specify.md +0 -0
  267. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/preset.yml +0 -0
  268. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/templates/myext-template.md +0 -0
  269. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/templates/spec-template.md +0 -0
  270. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/commands/speckit.specify.md +0 -0
  271. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/commands/speckit.wrap-test.md +0 -0
  272. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/preset.yml +0 -0
  273. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/templates/checklist-template.md +0 -0
  274. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/templates/constitution-template.md +0 -0
  275. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/templates/plan-template.md +0 -0
  276. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/templates/spec-template.md +0 -0
  277. {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/templates/tasks-template.md +0 -0
  278. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/check-prerequisites.sh +0 -0
  279. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/resolve-template.sh +0 -0
  280. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/setup-tasks.sh +0 -0
  281. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/check-prerequisites.ps1 +0 -0
  282. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/common.ps1 +0 -0
  283. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/resolve-template.ps1 +0 -0
  284. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/setup-tasks.ps1 +0 -0
  285. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/check_prerequisites.py +0 -0
  286. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/common.py +0 -0
  287. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/create_new_feature.py +0 -0
  288. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/resolve_template.py +0 -0
  289. {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/setup_tasks.py +0 -0
  290. {specify_cli-1.0.3 → specify_cli-1.0.5}/spec-driven.md +0 -0
  291. {specify_cli-1.0.3 → specify_cli-1.0.5}/spec-kit.code-workspace +0 -0
  292. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/__init__.py +0 -0
  293. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_agent_config.py +0 -0
  294. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_assets.py +0 -0
  295. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_console.py +0 -0
  296. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_download_security.py +0 -0
  297. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_github_http.py +0 -0
  298. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_init_options.py +0 -0
  299. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_project.py +0 -0
  300. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_toml_string.py +0 -0
  301. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_utils.py +0 -0
  302. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_version.py +0 -0
  303. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/agents.py +0 -0
  304. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/__init__.py +0 -0
  305. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/azure_devops.py +0 -0
  306. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/base.py +0 -0
  307. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/github.py +0 -0
  308. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/http.py +0 -0
  309. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/__init__.py +0 -0
  310. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
  311. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/commands_impl/catalog_config.py +0 -0
  312. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/__init__.py +0 -0
  313. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/project.py +0 -0
  314. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/versioning.py +0 -0
  315. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/yamlio.py +0 -0
  316. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/models/__init__.py +0 -0
  317. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/models/manifest.py +0 -0
  318. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/__init__.py +0 -0
  319. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/adapters.py +0 -0
  320. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/catalog_stack.py +0 -0
  321. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/conflict.py +0 -0
  322. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/installer.py +0 -0
  323. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/packager.py +0 -0
  324. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/primitives.py +0 -0
  325. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/references.py +0 -0
  326. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/resolver.py +0 -0
  327. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/validator.py +0 -0
  328. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/catalogs.py +0 -0
  329. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/commands/__init__.py +0 -0
  330. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/commands/bundle/__init__.py +0 -0
  331. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/commands/event.py +0 -0
  332. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/events.py +0 -0
  333. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integration_runtime.py +0 -0
  334. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integration_scaffold.py +0 -0
  335. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integration_state.py +0 -0
  336. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integration_status.py +0 -0
  337. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_commands.py +0 -0
  338. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_helpers.py +0 -0
  339. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_install_commands.py +0 -0
  340. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_migrate_commands.py +0 -0
  341. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_query_commands.py +0 -0
  342. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
  343. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/agy/__init__.py +0 -0
  344. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/alquimia/__init__.py +0 -0
  345. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/amp/__init__.py +0 -0
  346. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/auggie/__init__.py +0 -0
  347. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/bob/__init__.py +0 -0
  348. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/catalog.py +0 -0
  349. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/claude/__init__.py +0 -0
  350. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
  351. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/codex/__init__.py +0 -0
  352. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/command_code/__init__.py +0 -0
  353. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/copilot/__init__.py +0 -0
  354. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
  355. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/devin/__init__.py +0 -0
  356. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/docker_agent/__init__.py +0 -0
  357. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/droid/__init__.py +0 -0
  358. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/firebender/__init__.py +0 -0
  359. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/forge/__init__.py +0 -0
  360. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/gemini/__init__.py +0 -0
  361. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/generic/__init__.py +0 -0
  362. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/goose/__init__.py +0 -0
  363. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/grok/__init__.py +0 -0
  364. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/hermes/__init__.py +0 -0
  365. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/junie/__init__.py +0 -0
  366. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
  367. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/kimi/__init__.py +0 -0
  368. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
  369. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/lingma/__init__.py +0 -0
  370. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/manifest.py +0 -0
  371. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/omp/__init__.py +0 -0
  372. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/opencode/__init__.py +0 -0
  373. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/pi/__init__.py +0 -0
  374. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
  375. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/qwen/__init__.py +0 -0
  376. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/shai/__init__.py +0 -0
  377. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
  378. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/trae/__init__.py +0 -0
  379. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/vibe/__init__.py +0 -0
  380. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/zcode/__init__.py +0 -0
  381. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/zed/__init__.py +0 -0
  382. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/shared_infra.py +0 -0
  383. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/base.py +0 -0
  384. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/__init__.py +0 -0
  385. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/composer.py +0 -0
  386. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/layer_sources.py +0 -0
  387. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/merge.py +0 -0
  388. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/__init__.py +0 -0
  389. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
  390. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
  391. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
  392. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/gate/__init__.py +0 -0
  393. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/if_then/__init__.py +0 -0
  394. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
  395. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
  396. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/shell/__init__.py +0 -0
  397. {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/switch/__init__.py +0 -0
  398. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/checklist-template.md +0 -0
  399. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/analyze.md +0 -0
  400. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/checklist.md +0 -0
  401. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/clarify.md +0 -0
  402. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/constitution.md +0 -0
  403. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/converge.md +0 -0
  404. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/implement.md +0 -0
  405. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/specify.md +0 -0
  406. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/taskstoissues.md +0 -0
  407. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/constitution-template.md +0 -0
  408. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/plan-template.md +0 -0
  409. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/spec-template.md +0 -0
  410. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/tasks-template.md +0 -0
  411. {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/vscode-settings.json +0 -0
  412. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/__init__.py +0 -0
  413. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/auth_helpers.py +0 -0
  414. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/bundler_helpers.py +0 -0
  415. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/conftest.py +0 -0
  416. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/contract/test_bundle_cli.py +0 -0
  417. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/contract/test_manifest_schema.py +0 -0
  418. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/contract/test_wheel_bundled_presets.py +0 -0
  419. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
  420. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/__init__.py +0 -0
  421. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/assess/__init__.py +0 -0
  422. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/assess/test_assess_extension.py +0 -0
  423. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/bug/__init__.py +0 -0
  424. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/bug/test_bug_extension.py +0 -0
  425. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/git/__init__.py +0 -0
  426. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/git/test_git_extension.py +0 -0
  427. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/test_agent_context_cli_free.py +0 -0
  428. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/test_extension_agent_context.py +0 -0
  429. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
  430. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/test_update_agent_context_python_parity.py +0 -0
  431. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/hooks/TESTING.md +0 -0
  432. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/hooks/plan.md +0 -0
  433. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/hooks/spec.md +0 -0
  434. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/hooks/tasks.md +0 -0
  435. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/http_helpers.py +0 -0
  436. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_catalog_stack.py +0 -0
  437. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_init_install.py +0 -0
  438. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_install_flow.py +0 -0
  439. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_local_install.py +0 -0
  440. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_offline.py +0 -0
  441. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_security_paths.py +0 -0
  442. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/__init__.py +0 -0
  443. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/conftest.py +0 -0
  444. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_cli.py +0 -0
  445. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_events.py +0 -0
  446. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_extra_args.py +0 -0
  447. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_home_isolation.py +0 -0
  448. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_agy.py +0 -0
  449. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_alquimia.py +0 -0
  450. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_amp.py +0 -0
  451. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_auggie.py +0 -0
  452. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_base_markdown.py +0 -0
  453. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_base_skills.py +0 -0
  454. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_base_toml.py +0 -0
  455. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_base_yaml.py +0 -0
  456. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_bob.py +0 -0
  457. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_catalog.py +0 -0
  458. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_claude.py +0 -0
  459. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_codebuddy.py +0 -0
  460. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_codex.py +0 -0
  461. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_command_code.py +0 -0
  462. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_copilot.py +0 -0
  463. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_cursor_agent.py +0 -0
  464. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_devin.py +0 -0
  465. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_docker_agent.py +0 -0
  466. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_droid.py +0 -0
  467. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_firebender.py +0 -0
  468. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_forge.py +0 -0
  469. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_gemini.py +0 -0
  470. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_generic.py +0 -0
  471. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_goose.py +0 -0
  472. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_grok.py +0 -0
  473. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_hermes.py +0 -0
  474. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_junie.py +0 -0
  475. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_kilocode.py +0 -0
  476. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_kimi.py +0 -0
  477. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_kiro_cli.py +0 -0
  478. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_lingma.py +0 -0
  479. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_omp.py +0 -0
  480. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_opencode.py +0 -0
  481. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_pi.py +0 -0
  482. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_qodercli.py +0 -0
  483. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_qwen.py +0 -0
  484. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_scaffold.py +0 -0
  485. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_shai.py +0 -0
  486. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_state.py +0 -0
  487. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_subcommand.py +0 -0
  488. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_tabnine.py +0 -0
  489. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_trae.py +0 -0
  490. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_vibe.py +0 -0
  491. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_zcode.py +0 -0
  492. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_zed.py +0 -0
  493. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_manifest.py +0 -0
  494. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
  495. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/self_upgrade_helpers.py +0 -0
  496. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_branch_numbering.py +0 -0
  497. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_check_prerequisites_paths_only.py +0 -0
  498. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_check_prerequisites_python_parity.py +0 -0
  499. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_check_tool.py +0 -0
  500. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_cli_version.py +0 -0
  501. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_command_template_py_scripts.py +0 -0
  502. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_commands_package.py +0 -0
  503. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_console_imports.py +0 -0
  504. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_download_security.py +0 -0
  505. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_event_command.py +0 -0
  506. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_extension_add_path_traversal.py +0 -0
  507. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_extension_registration.py +0 -0
  508. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_extension_update_hardening.py +0 -0
  509. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_github_http.py +0 -0
  510. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_github_workflows.py +0 -0
  511. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_init_dir.py +0 -0
  512. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_init_dir_cli.py +0 -0
  513. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_init_output_markup.py +0 -0
  514. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_live_transient_windows.py +0 -0
  515. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_merge.py +0 -0
  516. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_post_process.py +0 -0
  517. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_ps1_encoding.py +0 -0
  518. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_registrar_path_traversal.py +0 -0
  519. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_security_workflow.py +0 -0
  520. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_self_upgrade_detection.py +0 -0
  521. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_self_upgrade_execution.py +0 -0
  522. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_self_upgrade_guidance.py +0 -0
  523. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_self_upgrade_verification.py +0 -0
  524. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_setup_plan_feature_json.py +0 -0
  525. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_setup_plan_no_overwrite.py +0 -0
  526. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_setup_tasks.py +0 -0
  527. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_setup_tasks_python_parity.py +0 -0
  528. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_shared_infra_gitignore.py +0 -0
  529. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_shared_infra_integrity.py +0 -0
  530. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_skill_placeholder_py.py +0 -0
  531. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_specify_template_numbering.py +0 -0
  532. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_timestamp_branches.py +0 -0
  533. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_upgrade.py +0 -0
  534. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_utils.py +0 -0
  535. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_utils_assets_imports.py +0 -0
  536. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_version_imports.py +0 -0
  537. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_workflow_run_without_project.py +0 -0
  538. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundle_download_url.py +0 -0
  539. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_adapters.py +0 -0
  540. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_catalog_config.py +0 -0
  541. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_conflict.py +0 -0
  542. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_packager.py +0 -0
  543. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_primitives.py +0 -0
  544. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_resolver.py +0 -0
  545. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_validator.py +0 -0
  546. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_versioning.py +0 -0
  547. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_yamlio.py +0 -0
  548. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_condition_expression_block.py +0 -0
  549. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/conftest.py +0 -0
  550. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_composer.py +0 -0
  551. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_layer_sources.py +0 -0
  552. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_merge.py +0 -0
  553. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_security.py +0 -0
  554. {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_resolver_integration.py +0 -0
  555. {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/catalog.community.json +0 -0
  556. {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/step-catalog.community.json +0 -0
  557. {specify_cli-1.0.3 → specify_cli-1.0.5}/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, 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
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, DeepSeek Harness, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Muse Code, 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
@@ -75,6 +75,7 @@ body:
75
75
  - Devin for Terminal
76
76
  - Docker Agent
77
77
  - Factory Droid
78
+ - DeepSeek Harness
78
79
  - Firebender
79
80
  - Forge
80
81
  - Gemini CLI
@@ -89,6 +90,7 @@ body:
89
90
  - Kiro CLI
90
91
  - Lingma
91
92
  - Mistral Vibe
93
+ - Muse Code
92
94
  - Oh My Pi
93
95
  - opencode
94
96
  - Pi Coding Agent
@@ -69,6 +69,7 @@ body:
69
69
  - Devin for Terminal
70
70
  - Docker Agent
71
71
  - Factory Droid
72
+ - DeepSeek Harness
72
73
  - Firebender
73
74
  - Forge
74
75
  - Gemini CLI
@@ -83,6 +84,7 @@ body:
83
84
  - Kiro CLI
84
85
  - Lingma
85
86
  - Mistral Vibe
87
+ - Muse Code
86
88
  - Oh My Pi
87
89
  - opencode
88
90
  - Pi Coding Agent
@@ -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@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4
25
+ uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4
26
26
  with:
27
27
  languages: ${{ matrix.language }}
28
28
 
29
29
  - name: Perform CodeQL Analysis
30
- uses: github/codeql-action/analyze@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4
30
+ uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4
31
31
  with:
32
32
  category: "/language:${{ matrix.language }}"
@@ -506,7 +506,7 @@ Disclosure is **continuous**, not a one-time event. A single AI-disclosure parag
506
506
  ### Opening pull requests
507
507
 
508
508
  - Before opening a pull request, check whether the account that will file it already has three open pull requests in this repository.
509
- - If so, alert the user that additional submissions may receive lower review priority and ask for explicit permission to proceed. Do not assume consent.
509
+ - If so, alert the user that additional submissions may receive lower review priority and ask for explicit permission to proceed. Do not assume consent. If the user is unavailable to provide that permission, including during autonomous or non-interactive operation, do not open the pull request. Preserve the work on a branch and report that confirmation is required.
510
510
 
511
511
  ### Commits
512
512
 
@@ -2,6 +2,56 @@
2
2
 
3
3
  <!-- insert new changelog below this comment -->
4
4
 
5
+ ## [1.0.5] - 2026-09-08
6
+
7
+ ### Changed
8
+
9
+ - Update OKF Knowledge Bundle Generator to v0.5.0 (#4475)
10
+ - Update BrownKit extension to v1.2.0 (#4474)
11
+ - chore(deps): bump the codeql-action group with 2 updates (#4436)
12
+ - fix(tasks): require field constraints from data-model.md in generated tasks (#4430)
13
+ - fix(workflows): reject falsy non-mapping step.yml in step add (#4321)
14
+ - fix(cline): stop unrelated prose from suppressing the hook command note (#4150)
15
+ - Add the August 2026 newsletter (#4442)
16
+ - Update Linear Integration extension to v0.8.0 (#4428)
17
+ - fix(presets): reject falsy non-mapping catalog config shapes (#4320)
18
+ - docs(workflows): sync the reference copy with the shipped workflow (#4424)
19
+ - fix(scripts): name setup-plan's feature directory key FEATURE_DIR (#4397)
20
+ - fix(workflows): require a 'steps' body on while and do-while loops (#4149)
21
+ - Add Evaluator Contract extension to community catalog (#4420)
22
+ - fix: remove unused scope input from bundled speckit workflow (#4401)
23
+ - feat(integrations): add Muse Code (muse) agent integration (#4413)
24
+ - feat(workflows): add workflow slots (#4352)
25
+ - fix(scripts): make bash branch-name sanitizing match the Python and PowerShell twins (#4286)
26
+ - allow hyphen in command ref token names (#4356)
27
+ - [extension] Add Axi Extension to community catalog (#4412)
28
+ - chore: release 1.0.4, begin 1.0.5.dev0 development (#4411)
29
+
30
+ ## [1.0.4] - 2026-09-02
31
+
32
+ ### Changed
33
+
34
+ - fix(scripts): stop wrap composition looping on a token in core content (#4396)
35
+ - [extension] Update Charter extension to v0.6.1 (#4409)
36
+ - fix(workflows): keep non-ASCII text readable in written overlay files (#4148)
37
+ - fix(workflows): report overlay operation keys in declaration order (#4146)
38
+ - fix: skip corrupted state.json in list_runs() instead of aborting (#3904)
39
+ - fix(rovodev): guard non-string prompt names when merging prompts.yml (#4145)
40
+ - fix: narrow bare except Exception in preset command reconciliation (#3842)
41
+ - fix(workflows): refuse a filter mixed with a comparison operator instead of silently mis-binding it (#3894)
42
+ - fix: escape Rich markup in workflow error output (#3837)
43
+ - fix: add JSON error handling to auth config loader (#3836)
44
+ - fix: use missing_ok=True in extension ZIP cleanup (#3870)
45
+ - feat(presets): let a preset declare a required extension (#4250)
46
+ - fix(bundler): reject unsupported catalog payload versions (#4090)
47
+ - fix(extensions): install bundled extension updates from the local package (#4351)
48
+ - docs: clarify autonomous PR handling (#4392)
49
+ - fix(workflows): reject malformed step config on add (#4087)
50
+ - fix(powershell): stop create-new-feature crashing on a non-Latin description (#4138)
51
+ - fix(bundler): treat an explicit-null records field as missing, not "None" (#4136)
52
+ - Add DeepSeek Harness (DSH) integration (#4336)
53
+ - chore: release 1.0.3, begin 1.0.4.dev0 development (#4391)
54
+
5
55
  ## [1.0.3] - 2026-09-01
6
56
 
7
57
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: specify-cli
3
- Version: 1.0.3
3
+ Version: 1.0.5
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
@@ -41,6 +41,7 @@ The following community-contributed extensions are available in [`catalog.commun
41
41
  | Archive Extension | Archive merged features into main project memory, resolving gaps and conflicts. | `docs` | Read+Write | [spec-kit-archive](https://github.com/stn1slv/spec-kit-archive) |
42
42
  | ASCII Diagram Renderer | Renders hand-drawn ASCII/Unicode diagrams (state machine, architecture, flow, coverage map) of what spec/plan/tasks/analyze already say — plain text, no Mermaid renderer needed | `docs` | Read+Write | [spec-kit-ascii-diagram](https://github.com/MRZHUH/spec-kit-ascii-diagram) |
43
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) |
44
+ | Axi Extension | A Spec Kit extension that renders a feature's markdown in a local browser review surface for human annotation, then returns the queued notes to the agent to apply. | `docs` | Read+Write | [spec-kit-axi](https://github.com/d0whc3r/spec-kit-axi) |
44
45
  | 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) |
45
46
  | 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
47
  | 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) |
@@ -48,11 +49,11 @@ The following community-contributed extensions are available in [`catalog.commun
48
49
  | 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) |
49
50
  | 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) |
50
51
  | Brownfield Bootstrap | Bootstrap spec-kit for existing codebases — auto-discover architecture and adopt SDD incrementally | `process` | Read+Write | [spec-kit-brownfield](https://github.com/Quratulain-bilal/spec-kit-brownfield) |
51
- | BrownKit | Evidence-driven capability discovery, security and QA risk assessment for existing codebases | `process` | Read+Write | [BrownKit](https://github.com/MaksimShevtsov/BrownKit) |
52
+ | BrownKit — Brownfield Discovery for Spec-Kit | Evidence-driven capability discovery, security and QA risk assessment for existing codebases. | `process` | Read+Write | [BrownKit](https://github.com/MaksimShevtsov/BrownKit) |
52
53
  | 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) |
53
54
  | 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) |
54
55
  | 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) |
55
- | 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) |
56
+ | Charter | Compose project constitutions from shared fragment registries | `process` | Read+Write | [spec-kit-charter](https://github.com/Fyloss/spec-kit-charter) |
56
57
  | 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) |
57
58
  | 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) |
58
59
  | 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) |
@@ -66,6 +67,7 @@ The following community-contributed extensions are available in [`catalog.commun
66
67
  | Dotdog | Import GitHub Spec Kit artifacts into local knowledge graphs for validation, analysis, search, and MCP queries. | `docs` | Read+Write | [dotdog](https://github.com/specdog/dotdog) |
67
68
  | DUBSAR Memory | Local project memory for Spec Kit with explicit checkpoints, cross-session resume, and SHA-256 freshness for recorded specification, plan, and task references. | `visibility` | Read+Write | [dubsar-memory](https://github.com/kotnisofiane-bit/dubsar-memory) |
68
69
  | EARS Requirements Syntax | Author, lint, and convert requirements using EARS - the five industry-standard sentence patterns for unambiguous, testable requirements | `docs` | Read+Write | [spec-kit-ears](https://github.com/dhruv-15-03/spec-kit-ears) |
70
+ | Evaluator Contract | Provider-neutral evaluator contract for evidence, provenance, uncertainty, and recovery across Spec-Driven Development phases. | `process` | Read+Write | [spec-kit-evaluator](https://github.com/electrohire/spec-kit-evaluator) |
69
71
  | Extensify | Create and validate extensions and extension catalogs | `process` | Read+Write | [extensify](https://github.com/mnriem/spec-kit-extensions/tree/main/extensify) |
70
72
  | Figma Starter | Turns a Figma section's screens into per-screen spec.md files, an app-level user-stories.md, and a build-order.md, then hands off to /speckit.specify | `integration` | Read+Write | [spec-kit-figma-starter](https://github.com/wavemaker/spec-kit-figma-starter) |
71
73
  | Fix Findings | Automated analyze-fix-reanalyze loop that resolves spec findings until clean | `code` | Read+Write | [spec-kit-fix-findings](https://github.com/Quratulain-bilal/spec-kit-fix-findings) |
@@ -84,7 +86,7 @@ The following community-contributed extensions are available in [`catalog.commun
84
86
  | 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) |
85
87
  | 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) |
86
88
  | 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) |
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) |
89
+ | Linear Integration | Automatically mirror your spec-kit specs into Linear one issue per spec, a sub-issue per task phase, kept in sync as you work. | `integration` | Read+Write | [spec-kit-linear-sync](https://github.com/ashbrener/spec-kit-linear-sync) |
88
90
  | Linear Weave | Weave Spec Kit into Linear: pull requirements, mirror tasks.md into sub-issues, sync statuses | `integration` | Read+Write | [spec-kit-linear-weave](https://github.com/tonydwoodhouse/spec-kit-linear-weave) |
89
91
  | LLM Wiki | LLM-maintained compounding project wiki: source ingestion, cited answers, and consistency linting | `docs` | Read+Write | [spec-kit-wiki](https://github.com/formin/spec-kit-wiki) |
90
92
  | Loop Engineering | Engineer safe autonomous agent loops for spec-driven development: a maker/checker split, externalized loop state, and stay-the-engineer guardrails against comprehension debt and cognitive surrender | `process` | Read+Write | [spec-kit-loop](https://github.com/formin/spec-kit-loop) |
@@ -105,7 +107,7 @@ The following community-contributed extensions are available in [`catalog.commun
105
107
  | Multi-Repo Branch Sync | Creates the feature branch in affected sub-repositories and git submodules via plan/tasks hooks | `process` | Read+Write | [multi-repo-sync](https://github.com/fyloss/spec-kit-multi-repo-sync) |
106
108
  | Multi-Sites Spec Kit | Multi-site aware specify command with per-site spec folders, auto-increment, and Drupal support | `process` | Read+Write | [spec-kit-multi-sites](https://github.com/teeyo/spec-kit-multi-sites) |
107
109
  | .NET Framework to Modern .NET Migration | Orchestrate end-to-end .NET Framework to modern .NET migration across 7 phases, with SDD lifecycle integration | `process` | Read+Write | [spec-kit-fx-to-net](https://github.com/RogerBestMsft/spec-kit-FxToNet) |
108
- | OKF Knowledge Bundle Generator | Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository, mining git history for significance and rationale, and resolving open questions with the user | `docs` | Read+Write | [speckit_ofk](https://github.com/alexcpn/speckit_ofk) |
110
+ | OKF Knowledge Bundle Generator | Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository, mining git history for rationale and parking what it cannot verify as open questions | `docs` | Read+Write | [speckit_okf](https://github.com/alexcpn/speckit_okf) |
109
111
  | Onboard | Contextual onboarding and progressive growth for developers new to spec-kit projects. Explains specs, maps dependencies, validates understanding, and guides the next step | `process` | Read+Write | [spec-kit-onboard](https://github.com/dmux/spec-kit-onboard) |
110
112
  | Optimize | Audit and optimize AI governance for context efficiency — token budgets, rule health, interpretability, compression, coherence, and echo detection | `process` | Read+Write | [spec-kit-optimize](https://github.com/sakitA/spec-kit-optimize) |
111
113
  | Orchestration Task Context Management | Adds subagent work-unit orchestration to generated Spec Kit task files | `process` | Read+Write | [spec-kit-orchestration-task-context-management](https://github.com/benizzio/spec-kit-orchestration-task-context-management) |
@@ -75,6 +75,8 @@ specify extension update [<name>]
75
75
 
76
76
  Updates a specific extension, or all installed extensions if no name is given.
77
77
 
78
+ Bundled extensions (such as `agent-context` and `git`) have no download URL; their updates install from the copy shipped with the running spec-kit release. When the catalog advertises a newer version than your spec-kit release ships, the update is reported as requiring a spec-kit upgrade first.
79
+
78
80
  ## Enable / Disable an Extension
79
81
 
80
82
  ```bash
@@ -16,6 +16,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
16
16
  | [Codex CLI](https://github.com/openai/codex) | `codex` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `$speckit-<command>` |
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
+ | [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) | `dsh` | Skills-based integration; installs skills into `.dsh/skills` and invokes them as `/speckit-<command>` |
19
20
  | [Devin for Terminal](https://cli.devin.ai/docs) | `devin` | Skills-based integration; installs skills into `.devin/skills/` and invokes them as `/speckit-<command>` |
20
21
  | [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. |
21
22
  | [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>` |
@@ -33,6 +34,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
33
34
  | [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` |
34
35
  | [Lingma](https://lingma.aliyun.com/) | `lingma` | Skills-based integration; skills are installed automatically |
35
36
  | [Mistral Vibe](https://github.com/mistralai/mistral-vibe) | `vibe` | |
37
+ | [Muse Code](https://dev.meta.ai/docs/muse-code) | `muse` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `/speckit-<command>` |
36
38
  | [Oh My Pi](https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent) | `omp` | Installs slash commands into `.omp/commands` |
37
39
  | [opencode](https://opencode.ai/) | `opencode` | |
38
40
  | [Pi Coding Agent](https://pi.dev) | `pi` | Pi doesn't have MCP support out of the box, so `taskstoissues` won't work as intended. MCP support can be added via [extensions](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent#extensions) |
@@ -18,7 +18,7 @@ Runs a workflow from a catalog ID, URL, or local file path. Inputs declared by t
18
18
  Example:
19
19
 
20
20
  ```bash
21
- specify workflow run speckit -i spec="Build a kanban board with drag-and-drop task management" -i scope=full
21
+ specify workflow run speckit -i spec="Build a kanban board with drag-and-drop task management"
22
22
  ```
23
23
 
24
24
  With `--json`, a single machine-readable object is printed instead of formatted text (the default output is unchanged when the flag is omitted):
@@ -286,6 +286,40 @@ edits:
286
286
 
287
287
  Lower priority values have higher precedence. Change this overlay to `priority: 5` if it must win a conflict with the `add-lint` overlay above. It replaces the `review-plan` gate with a non-interactive command.
288
288
 
289
+ ### Workflow slots (upstream extension points)
290
+
291
+ Workflow authors can declare a named, no-op workflow slot with `type: slot`:
292
+
293
+ ```yaml
294
+ - id: post-implement
295
+ type: slot
296
+ name: "Post-implementation checks"
297
+ ```
298
+
299
+ The step `id` is the unique overlay anchor; `name` is a required non-blank,
300
+ human-readable label only. An unfilled slot completes as a `skipped` step with
301
+ `output: {slot: <name>}`, so subsequent steps continue normally.
302
+
303
+ Fill a slot with a schema-valid overlay `replace` edit anchored on the step
304
+ `id`, not its `name`:
305
+
306
+ ```yaml
307
+ id: fill-post-implement
308
+ extends: my-workflow
309
+ edits:
310
+ - replace: post-implement
311
+ step:
312
+ id: post-implement
313
+ type: shell
314
+ run: "echo Run project-specific checks"
315
+ ```
316
+
317
+ Reuse the slot's `id` when later expressions or `fan-in.wait_for` refer to it.
318
+ The replacement must also preserve every output key those later steps consume:
319
+ an unfilled workflow slot supplies only `steps.<id>.output.slot`. Slot steps are
320
+ not supported inside `fan-out.step` templates because runtime-multiplied
321
+ templates cannot be overlay anchors.
322
+
289
323
  ### Interaction with Bundles and Updates
290
324
 
291
325
  `specify workflow add <local-directory>` installs the complete local workflow
@@ -397,14 +431,19 @@ schema_version: "1.0"
397
431
  workflow:
398
432
  id: "speckit"
399
433
  name: "Full SDD Cycle"
400
- version: "1.0.0"
434
+ version: "1.0.1"
401
435
  author: "GitHub"
402
436
  description: "Runs specify → plan → tasks → implement with review gates"
403
437
 
404
438
  requires:
405
- speckit_version: ">=0.7.2"
439
+ speckit_version: ">=0.8.5"
406
440
  integrations:
407
- any: ["copilot", "claude", "gemini"]
441
+ any:
442
+ - "alquimia"
443
+ - "claude"
444
+ - "copilot"
445
+ - "gemini"
446
+ - "opencode"
408
447
 
409
448
  inputs:
410
449
  spec:
@@ -413,12 +452,8 @@ inputs:
413
452
  prompt: "Describe what you want to build"
414
453
  integration:
415
454
  type: string
416
- default: "copilot"
417
- prompt: "Integration to use (e.g. claude, copilot, gemini)"
418
- scope:
419
- type: string
420
- default: "full"
421
- enum: ["full", "backend-only", "frontend-only"]
455
+ default: "auto"
456
+ prompt: "Integration to use (e.g. claude, copilot, gemini; 'auto' uses the project's initialized integration)"
422
457
 
423
458
  steps:
424
459
  - id: specify
@@ -494,6 +529,7 @@ specify workflow run speckit -i spec="Build a kanban board with drag-and-drop ta
494
529
  | `prompt` | Send an arbitrary prompt to the AI coding agent |
495
530
  | `shell` | Execute a shell command and capture output |
496
531
  | `init` | Bootstrap a project (like `specify init`) |
532
+ | `slot` | Named workflow slot; skipped when unfilled |
497
533
  | `gate` | Pause for human approval before continuing |
498
534
  | `if` | Conditional branching (then/else) |
499
535
  | `switch` | Multi-branch dispatch on an expression |
@@ -296,15 +296,16 @@ A command body is a *template* that Spec Kit renders once per agent. Different a
296
296
 
297
297
  Instead use the agent-neutral token `__SPECKIT_COMMAND_<NAME>__`. Spec Kit resolves it to a `/speckit<separator>...` invocation using the active integration's `invoke_separator` (and integrations may post-process that further in skills output).
298
298
 
299
- Encode the command name in upper case, dropping the `speckit.` prefix and turning each dotted segment separator into an underscore:
299
+ Encode the command name in upper case, dropping the `speckit.` prefix and turning each dotted segment separator into an underscore. A hyphen inside a segment is kept as a hyphen:
300
300
 
301
301
  | Command file | Token |
302
302
  | --- | --- |
303
303
  | `speckit.plan.md` | `__SPECKIT_COMMAND_PLAN__` |
304
304
  | `speckit.bug.fix.md` | `__SPECKIT_COMMAND_BUG_FIX__` |
305
305
  | `speckit.git.commit.md` | `__SPECKIT_COMMAND_GIT_COMMIT__` |
306
+ | `speckit.agent-context.update.md` | `__SPECKIT_COMMAND_AGENT-CONTEXT_UPDATE__` |
306
307
 
307
- The resolver maps each underscore back to the active agent's separator, so use tokens to reference commands whose name segments are single words. (Command names are dotted segments like `git.commit`; the token scheme rebuilds those dots and does not carry hyphens within a segment.)
308
+ The resolver maps each underscore back to the active agent's separator. An underscore separates segments and a hyphen belongs to the segment it sits in, so `AGENT-CONTEXT_UPDATE` is the two segments `agent-context` and `update` rather than three.
308
309
 
309
310
  **Example** — a command body that points the user at the next step:
310
311
 
@@ -314,15 +315,19 @@ Once the assessment exists, the next step is `__SPECKIT_COMMAND_BUG_FIX__ slug=<
314
315
 
315
316
  This renders as `/speckit.bug.fix slug=<slug>` for a slash-based agent, `/speckit-bug-fix slug=<slug>` for a skills-based agent, and so on — the author writes it once and it stays portable. The first-party `bug` and `git` extensions use this token exclusively; see `extensions/bug/commands/` for working examples.
316
317
 
317
- > **Current limitation — skills mode.** Token resolution runs in the
318
- > command-rendering path (`CommandRegistrar`), so it applies when an extension
319
- > installs *command files*. It does **not** yet run when an extension is
320
- > registered as *skills* for a skills-based agent: `_register_extension_skills`
321
- > resolves placeholders and post-processes content but never calls
322
- > `resolve_command_refs`, so a `__SPECKIT_COMMAND_<NAME>__` token reaches
323
- > agents such as Codex, ZCode, and Kimi verbatim in that mode. Until that
324
- > rendering step lands, prefer the token for command-file extensions and avoid
325
- > relying on it inside skill bodies destined for skills-based agents.
318
+ > **Skills mode.** Token resolution runs in both paths, so the token is safe to
319
+ > use either way. Command files go through the command-rendering path
320
+ > (`CommandRegistrar`). Skill bodies go through `_resolve_command_ref_tokens` in
321
+ > `_register_extension_skills`, which resolves the same token shape against the
322
+ > active skill style, so `__SPECKIT_COMMAND_BUG_FIX__` renders as:
323
+ >
324
+ > | Agent | Rendered |
325
+ > | --- | --- |
326
+ > | Codex, ZCode, Command Code | `$speckit-bug-fix` |
327
+ > | Claude, Copilot, Cursor, Devin, Droid, Grok and the other slash agents | `/speckit-bug-fix` |
328
+ > | Kimi | `/skill:speckit-bug-fix` |
329
+ >
330
+ > Anything else falls through to the integration's own `build_command_invocation`.
326
331
 
327
332
  ### Script Path Rewriting
328
333
 
@@ -25,6 +25,7 @@
25
25
  "kimi": "AGENTS.md",
26
26
  "kiro-cli": "AGENTS.md",
27
27
  "lingma": ".lingma/rules/specify-rules.md",
28
+ "muse": "AGENTS.md",
28
29
  "omp": "AGENTS.md",
29
30
  "opencode": "AGENTS.md",
30
31
  "pi": "AGENTS.md",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema_version": "1.0",
3
- "updated_at": "2026-09-01T00:00:00Z",
3
+ "updated_at": "2026-09-08T00:00:00Z",
4
4
  "catalog_url": "https://raw.githubusercontent.com/github/spec-kit/main/extensions/catalog.community.json",
5
5
  "extensions": {
6
6
  "adrkit": {
@@ -614,6 +614,44 @@
614
614
  "created_at": "2026-08-13T00:00:00Z",
615
615
  "updated_at": "2026-08-19T00:00:00Z"
616
616
  },
617
+ "axi": {
618
+ "name": "Axi Extension",
619
+ "id": "axi",
620
+ "description": "A Spec Kit extension that renders a feature's markdown in a local browser review surface for human annotation, then returns the queued notes to the agent to apply.",
621
+ "author": "d0whc3r",
622
+ "version": "1.1.4",
623
+ "download_url": "https://github.com/d0whc3r/spec-kit-axi/releases/download/v1.1.4/axi-1.1.4.zip",
624
+ "repository": "https://github.com/d0whc3r/spec-kit-axi",
625
+ "homepage": "https://d0whc3r.github.io/spec-kit-axi/",
626
+ "documentation": "https://github.com/d0whc3r/spec-kit-axi/wiki",
627
+ "changelog": "https://github.com/d0whc3r/spec-kit-axi/blob/main/CHANGELOG.md",
628
+ "license": "MIT",
629
+ "category": "docs",
630
+ "effect": "read-write",
631
+ "requires": {
632
+ "speckit_version": ">=0.2.0",
633
+ "tools": [
634
+ {
635
+ "name": "node",
636
+ "required": true
637
+ }
638
+ ]
639
+ },
640
+ "provides": {
641
+ "commands": 1,
642
+ "hooks": 0
643
+ },
644
+ "tags": [
645
+ "axi",
646
+ "spec-kit",
647
+ "spec-kit-extension"
648
+ ],
649
+ "verified": false,
650
+ "downloads": 0,
651
+ "stars": 0,
652
+ "created_at": "2026-09-02T00:00:00Z",
653
+ "updated_at": "2026-09-02T00:00:00Z"
654
+ },
617
655
  "azure-devops": {
618
656
  "name": "Azure DevOps Integration",
619
657
  "id": "azure-devops",
@@ -868,20 +906,27 @@
868
906
  "id": "brownkit",
869
907
  "description": "Evidence-driven capability discovery, security and QA risk assessment for existing codebases.",
870
908
  "author": "Maksim Shautsou",
871
- "version": "1.0.1",
872
- "download_url": "https://github.com/MaksimShevtsov/BrownKit/archive/refs/tags/v1.0.1.zip",
909
+ "version": "1.2.0",
910
+ "download_url": "https://github.com/MaksimShevtsov/BrownKit/archive/refs/tags/v1.2.0.zip",
873
911
  "repository": "https://github.com/MaksimShevtsov/BrownKit",
874
- "homepage": "https://github.com/MaksimShevtsov/BrownKit",
875
- "documentation": "https://github.com/MaksimShevtsov/BrownKit/blob/main/README.md",
912
+ "homepage": "https://github.com/MaksimShevtsov/BrownKit/blob/main/README.md",
913
+ "documentation": "https://github.com/MaksimShevtsov/BrownKit/blob/main/docs/methodology.md",
876
914
  "changelog": "https://github.com/MaksimShevtsov/BrownKit/blob/main/CHANGELOG.md",
877
915
  "license": "MIT",
878
916
  "category": "process",
879
917
  "effect": "read-write",
880
918
  "requires": {
881
- "speckit_version": ">=0.1.0"
919
+ "speckit_version": ">=0.1.0",
920
+ "tools": [
921
+ {
922
+ "name": "python",
923
+ "version": ">=3.9",
924
+ "required": false
925
+ }
926
+ ]
882
927
  },
883
928
  "provides": {
884
- "commands": 10,
929
+ "commands": 11,
885
930
  "hooks": 5
886
931
  },
887
932
  "tags": [
@@ -895,7 +940,7 @@
895
940
  "downloads": 0,
896
941
  "stars": 0,
897
942
  "created_at": "2026-05-10T00:00:00Z",
898
- "updated_at": "2026-05-10T00:00:00Z"
943
+ "updated_at": "2026-09-08T00:00:00Z"
899
944
  },
900
945
  "bugfix": {
901
946
  "name": "Bugfix Workflow",
@@ -1039,13 +1084,13 @@
1039
1084
  "charter": {
1040
1085
  "name": "Charter",
1041
1086
  "id": "charter",
1042
- "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.",
1087
+ "description": "Compose project constitutions from shared fragment registries",
1043
1088
  "author": "Fyloss",
1044
- "version": "0.5.1",
1045
- "download_url": "https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.5.1.zip",
1089
+ "version": "0.6.1",
1090
+ "download_url": "https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.6.1.zip",
1046
1091
  "repository": "https://github.com/Fyloss/spec-kit-charter",
1047
1092
  "homepage": "https://github.com/Fyloss/spec-kit-charter",
1048
- "documentation": "https://github.com/Fyloss/spec-kit-charter/tree/master/docs",
1093
+ "documentation": "https://github.com/Fyloss/spec-kit-charter/blob/master/README.md",
1049
1094
  "changelog": "https://github.com/Fyloss/spec-kit-charter/blob/master/CHANGELOG.md",
1050
1095
  "license": "MIT",
1051
1096
  "category": "process",
@@ -1066,15 +1111,15 @@
1066
1111
  "tags": [
1067
1112
  "constitution",
1068
1113
  "governance",
1069
- "modular",
1070
- "fragments",
1071
- "registry"
1114
+ "multi-repo",
1115
+ "composition",
1116
+ "fragments"
1072
1117
  ],
1073
1118
  "verified": false,
1074
1119
  "downloads": 0,
1075
1120
  "stars": 0,
1076
1121
  "created_at": "2026-07-06T00:00:00Z",
1077
- "updated_at": "2026-08-04T00:00:00Z"
1122
+ "updated_at": "2026-09-02T00:00:00Z"
1078
1123
  },
1079
1124
  "ci-guard": {
1080
1125
  "name": "CI Guard",
@@ -1747,6 +1792,40 @@
1747
1792
  "created_at": "2026-07-08T00:00:00Z",
1748
1793
  "updated_at": "2026-07-08T00:00:00Z"
1749
1794
  },
1795
+ "evaluator": {
1796
+ "name": "Evaluator Contract",
1797
+ "id": "evaluator",
1798
+ "description": "Provider-neutral evaluator contract for evidence, provenance, uncertainty, and recovery across Spec-Driven Development phases.",
1799
+ "author": "ElectroHire",
1800
+ "version": "1.0.0",
1801
+ "download_url": "https://github.com/electrohire/spec-kit-evaluator/archive/refs/tags/v1.0.0.zip",
1802
+ "repository": "https://github.com/electrohire/spec-kit-evaluator",
1803
+ "homepage": "https://github.com/electrohire/spec-kit-evaluator",
1804
+ "documentation": "https://github.com/electrohire/spec-kit-evaluator/blob/main/README.md",
1805
+ "changelog": "https://github.com/electrohire/spec-kit-evaluator/blob/main/CHANGELOG.md",
1806
+ "license": "MIT",
1807
+ "category": "process",
1808
+ "effect": "read-write",
1809
+ "requires": {
1810
+ "speckit_version": ">=1.0.0"
1811
+ },
1812
+ "provides": {
1813
+ "commands": 4,
1814
+ "hooks": 4
1815
+ },
1816
+ "tags": [
1817
+ "evaluator",
1818
+ "evidence",
1819
+ "provenance",
1820
+ "quality",
1821
+ "governance"
1822
+ ],
1823
+ "verified": false,
1824
+ "downloads": 0,
1825
+ "stars": 0,
1826
+ "created_at": "2026-09-03T00:00:00Z",
1827
+ "updated_at": "2026-09-03T00:00:00Z"
1828
+ },
1750
1829
  "extensify": {
1751
1830
  "name": "Extensify",
1752
1831
  "id": "extensify",
@@ -2608,10 +2687,10 @@
2608
2687
  "linear": {
2609
2688
  "name": "Linear Integration",
2610
2689
  "id": "linear",
2611
- "description": "Mirror spec-kit feature directories into Linear (filesystem Linear, reconcile-based, unidirectional).",
2690
+ "description": "Automatically mirror your spec-kit specs into Linear one issue per spec, a sub-issue per task phase, kept in sync as you work.",
2612
2691
  "author": "Ash Brener",
2613
- "version": "0.7.0",
2614
- "download_url": "https://github.com/ashbrener/spec-kit-linear-sync/archive/refs/tags/v0.7.0.zip",
2692
+ "version": "0.8.0",
2693
+ "download_url": "https://github.com/ashbrener/spec-kit-linear-sync/archive/refs/tags/v0.8.0.zip",
2615
2694
  "repository": "https://github.com/ashbrener/spec-kit-linear-sync",
2616
2695
  "homepage": "https://github.com/ashbrener/spec-kit-linear-sync",
2617
2696
  "documentation": "https://github.com/ashbrener/spec-kit-linear-sync/blob/main/README.md",
@@ -2638,7 +2717,7 @@
2638
2717
  "downloads": 0,
2639
2718
  "stars": 0,
2640
2719
  "created_at": "2026-06-01T00:00:00Z",
2641
- "updated_at": "2026-06-22T00:00:00Z"
2720
+ "updated_at": "2026-09-03T00:00:00Z"
2642
2721
  },
2643
2722
  "linear-weave": {
2644
2723
  "name": "Linear Weave",
@@ -3340,19 +3419,34 @@
3340
3419
  "okf": {
3341
3420
  "name": "OKF Knowledge Bundle Generator",
3342
3421
  "id": "okf",
3343
- "description": "Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository, mining git history for significance and rationale, and resolving open questions with the user.",
3422
+ "description": "Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository, mining git history for rationale and parking what it cannot verify as open questions.",
3344
3423
  "author": "Alex Punnen",
3345
- "version": "0.3.0",
3346
- "download_url": "https://github.com/alexcpn/speckit_ofk/archive/refs/tags/v0.3.0.zip",
3347
- "repository": "https://github.com/alexcpn/speckit_ofk",
3348
- "homepage": "https://github.com/alexcpn/speckit_ofk",
3349
- "documentation": "https://github.com/alexcpn/speckit_ofk/blob/main/README.md",
3350
- "changelog": "https://github.com/alexcpn/speckit_ofk/blob/main/CHANGELOG.md",
3424
+ "version": "0.5.0",
3425
+ "download_url": "https://github.com/alexcpn/speckit_okf/archive/refs/tags/v0.5.0.zip",
3426
+ "repository": "https://github.com/alexcpn/speckit_okf",
3427
+ "homepage": "https://github.com/alexcpn/speckit_okf",
3428
+ "documentation": "https://github.com/alexcpn/speckit_okf/blob/main/README.md",
3429
+ "changelog": "https://github.com/alexcpn/speckit_okf/blob/main/CHANGELOG.md",
3351
3430
  "license": "MIT",
3352
3431
  "category": "docs",
3353
3432
  "effect": "read-write",
3354
3433
  "requires": {
3355
- "speckit_version": ">=0.12.0"
3434
+ "speckit_version": ">=0.12.0",
3435
+ "tools": [
3436
+ {
3437
+ "name": "bash",
3438
+ "required": true
3439
+ },
3440
+ {
3441
+ "name": "python3",
3442
+ "version": ">=3.9",
3443
+ "required": true
3444
+ },
3445
+ {
3446
+ "name": "git",
3447
+ "required": false
3448
+ }
3449
+ ]
3356
3450
  },
3357
3451
  "provides": {
3358
3452
  "commands": 4,
@@ -3369,7 +3463,7 @@
3369
3463
  "downloads": 0,
3370
3464
  "stars": 0,
3371
3465
  "created_at": "2026-07-17T00:00:00Z",
3372
- "updated_at": "2026-07-21T00:00:00Z"
3466
+ "updated_at": "2026-09-08T00:00:00Z"
3373
3467
  },
3374
3468
  "onboard": {
3375
3469
  "name": "Onboard",