specify-cli 1.0.4__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.4 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/agent_request.yml +1 -1
  2. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/bug_report.yml +1 -0
  3. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/feature_request.yml +1 -0
  4. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/codeql.yml +2 -2
  5. {specify_cli-1.0.4 → specify_cli-1.0.5}/CHANGELOG.md +25 -0
  6. {specify_cli-1.0.4 → specify_cli-1.0.5}/PKG-INFO +1 -1
  7. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/community/extensions.md +5 -3
  8. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/reference/integrations.md +1 -0
  9. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/reference/workflows.md +46 -10
  10. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +16 -11
  11. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/agent-context/agent-context-defaults.json +1 -0
  12. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/catalog.community.json +115 -21
  13. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/bash/create-new-feature-branch.sh +14 -1
  14. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +4 -2
  15. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/python/create_new_feature_branch.py +9 -2
  16. {specify_cli-1.0.4 → specify_cli-1.0.5}/integrations/catalog.json +9 -0
  17. specify_cli-1.0.5/newsletters/2026-August.md +130 -0
  18. {specify_cli-1.0.4 → specify_cli-1.0.5}/pyproject.toml +1 -1
  19. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/bash/create-new-feature.sh +15 -2
  20. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/bash/setup-plan.sh +4 -4
  21. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/powershell/create-new-feature.ps1 +4 -2
  22. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/powershell/setup-plan.ps1 +2 -2
  23. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/python/setup_plan.py +2 -2
  24. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/_invocation_style.py +1 -1
  25. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/commands/init.py +7 -0
  26. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/extensions/__init__.py +1 -1
  27. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/__init__.py +2 -0
  28. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/base.py +5 -1
  29. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/cline/__init__.py +21 -5
  30. specify_cli-1.0.5/src/specify_cli/integrations/muse/__init__.py +63 -0
  31. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/presets/__init__.py +15 -2
  32. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/__init__.py +2 -0
  33. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/_commands.py +21 -2
  34. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/engine.py +8 -1
  35. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/do_while/__init__.py +8 -0
  36. specify_cli-1.0.5/src/specify_cli/workflows/steps/slot/__init__.py +67 -0
  37. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/while_loop/__init__.py +12 -0
  38. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/commands/plan.md +1 -1
  39. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/commands/tasks.md +1 -0
  40. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/git/test_git_extension_python_parity.py +133 -6
  41. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_base.py +14 -0
  42. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_cline.py +53 -0
  43. specify_cli-1.0.5/tests/integrations/test_integration_muse.py +80 -0
  44. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_registry.py +1 -1
  45. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/parity_helpers.py +31 -0
  46. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_agent_config_consistency.py +1 -0
  47. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_create_new_feature_python_parity.py +138 -1
  48. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_extension_skills.py +46 -0
  49. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_presets.py +12 -0
  50. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_setup_plan_python_parity.py +54 -0
  51. specify_cli-1.0.5/tests/test_tasks_template_constraints.py +29 -0
  52. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_workflows.py +121 -2
  53. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundler_references.py +2 -2
  54. specify_cli-1.0.5/tests/workflows/test_bundled_speckit_workflow.py +58 -0
  55. specify_cli-1.0.5/tests/workflows/test_slot_step.py +242 -0
  56. {specify_cli-1.0.4 → specify_cli-1.0.5}/workflows/ARCHITECTURE.md +6 -2
  57. {specify_cli-1.0.4 → specify_cli-1.0.5}/workflows/PUBLISHING.md +1 -1
  58. {specify_cli-1.0.4 → specify_cli-1.0.5}/workflows/README.md +27 -2
  59. {specify_cli-1.0.4 → specify_cli-1.0.5}/workflows/catalog.json +2 -2
  60. {specify_cli-1.0.4 → specify_cli-1.0.5}/workflows/speckit/workflow.yml +1 -5
  61. {specify_cli-1.0.4 → specify_cli-1.0.5}/.devcontainer/devcontainer.json +0 -0
  62. {specify_cli-1.0.4 → specify_cli-1.0.5}/.devcontainer/post-create.sh +0 -0
  63. {specify_cli-1.0.4 → specify_cli-1.0.5}/.editorconfig +0 -0
  64. {specify_cli-1.0.4 → specify_cli-1.0.5}/.gitattributes +0 -0
  65. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/CODEOWNERS +0 -0
  66. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/bundle_submission.yml +0 -0
  67. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  68. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
  69. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
  70. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  71. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/aw/actions-lock.json +0 -0
  72. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/dependabot.yml +0 -0
  73. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/scripts/check_security_requirements.py +0 -0
  74. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/security-audit-requirements.txt +0 -0
  75. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/skills/add-community-extension/SKILL.md +0 -0
  76. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/RELEASE-PROCESS.md +0 -0
  77. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/add-community-bundle.lock.yml +0 -0
  78. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/add-community-bundle.md +0 -0
  79. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/add-community-extension.lock.yml +0 -0
  80. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/add-community-extension.md +0 -0
  81. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/add-community-preset.lock.yml +0 -0
  82. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/add-community-preset.md +0 -0
  83. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/bug-assess.lock.yml +0 -0
  84. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/bug-assess.md +0 -0
  85. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/bug-fix.lock.yml +0 -0
  86. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/bug-fix.md +0 -0
  87. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/bug-test.lock.yml +0 -0
  88. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/bug-test.md +0 -0
  89. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/catalog-assign.yml +0 -0
  90. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/docs.yml +0 -0
  91. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/feature-assess.lock.yml +0 -0
  92. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/feature-assess.md +0 -0
  93. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/lint.yml +0 -0
  94. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/publish-pypi.yml +0 -0
  95. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/release-trigger.yml +0 -0
  96. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/release.yml +0 -0
  97. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/security.yml +0 -0
  98. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/stale.yml +0 -0
  99. {specify_cli-1.0.4 → specify_cli-1.0.5}/.github/workflows/test.yml +0 -0
  100. {specify_cli-1.0.4 → specify_cli-1.0.5}/.gitignore +0 -0
  101. {specify_cli-1.0.4 → specify_cli-1.0.5}/.markdownlint-cli2.jsonc +0 -0
  102. {specify_cli-1.0.4 → specify_cli-1.0.5}/.pre-commit-config.yaml +0 -0
  103. {specify_cli-1.0.4 → specify_cli-1.0.5}/.zenodo.json +0 -0
  104. {specify_cli-1.0.4 → specify_cli-1.0.5}/AGENTS.md +0 -0
  105. {specify_cli-1.0.4 → specify_cli-1.0.5}/CITATION.cff +0 -0
  106. {specify_cli-1.0.4 → specify_cli-1.0.5}/CODE_OF_CONDUCT.md +0 -0
  107. {specify_cli-1.0.4 → specify_cli-1.0.5}/CONTRIBUTING.md +0 -0
  108. {specify_cli-1.0.4 → specify_cli-1.0.5}/DEVELOPMENT.md +0 -0
  109. {specify_cli-1.0.4 → specify_cli-1.0.5}/LICENSE +0 -0
  110. {specify_cli-1.0.4 → specify_cli-1.0.5}/README.md +0 -0
  111. {specify_cli-1.0.4 → specify_cli-1.0.5}/README.zh-CN.md +0 -0
  112. {specify_cli-1.0.4 → specify_cli-1.0.5}/SECURITY.md +0 -0
  113. {specify_cli-1.0.4 → specify_cli-1.0.5}/SUPPORT.md +0 -0
  114. {specify_cli-1.0.4 → specify_cli-1.0.5}/bundles/catalog.community.json +0 -0
  115. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/.gitignore +0 -0
  116. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/README.md +0 -0
  117. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/community/bundles.md +0 -0
  118. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/community/friends.md +0 -0
  119. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/community/overview.md +0 -0
  120. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/community/presets.md +0 -0
  121. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/community/walkthroughs.md +0 -0
  122. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/concepts/complex-features.md +0 -0
  123. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/concepts/sdd.md +0 -0
  124. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/concepts/spec-of-specs.md +0 -0
  125. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/concepts/spec-persistence.md +0 -0
  126. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/docfx.json +0 -0
  127. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/guides/evolving-specs.md +0 -0
  128. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/guides/existing-projects.md +0 -0
  129. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/guides/monorepo.md +0 -0
  130. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/history.md +0 -0
  131. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/images/spec-kit-logo.webp +0 -0
  132. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/index.md +0 -0
  133. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/install/air-gapped.md +0 -0
  134. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/install/one-time.md +0 -0
  135. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/install/pipx.md +0 -0
  136. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/install/pypi.md +0 -0
  137. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/install/uv.md +0 -0
  138. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/installation.md +0 -0
  139. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/local-development.md +0 -0
  140. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/quickstart.md +0 -0
  141. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/reference/agentic-bugfix.md +0 -0
  142. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/reference/agentic-sdd.md +0 -0
  143. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/reference/authentication.md +0 -0
  144. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/reference/bundles.md +0 -0
  145. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/reference/core.md +0 -0
  146. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/reference/extensions.md +0 -0
  147. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/reference/overview.md +0 -0
  148. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/reference/presets.md +0 -0
  149. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/template/public/main.css +0 -0
  150. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/toc.yml +0 -0
  151. {specify_cli-1.0.4 → specify_cli-1.0.5}/docs/upgrade.md +0 -0
  152. {specify_cli-1.0.4 → specify_cli-1.0.5}/examples/bundles/business-analyst/README.md +0 -0
  153. {specify_cli-1.0.4 → specify_cli-1.0.5}/examples/bundles/business-analyst/bundle.yml +0 -0
  154. {specify_cli-1.0.4 → specify_cli-1.0.5}/examples/bundles/developer/README.md +0 -0
  155. {specify_cli-1.0.4 → specify_cli-1.0.5}/examples/bundles/developer/bundle.yml +0 -0
  156. {specify_cli-1.0.4 → specify_cli-1.0.5}/examples/bundles/product-manager/README.md +0 -0
  157. {specify_cli-1.0.4 → specify_cli-1.0.5}/examples/bundles/product-manager/bundle.yml +0 -0
  158. {specify_cli-1.0.4 → specify_cli-1.0.5}/examples/bundles/security-researcher/README.md +0 -0
  159. {specify_cli-1.0.4 → specify_cli-1.0.5}/examples/bundles/security-researcher/bundle.yml +0 -0
  160. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/EXTENSION-API-REFERENCE.md +0 -0
  161. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -0
  162. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/EXTENSION-USER-GUIDE.md +0 -0
  163. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/README.md +0 -0
  164. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
  165. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/agent-context/README.md +0 -0
  166. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/agent-context/agent-context-config.yml +0 -0
  167. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
  168. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/agent-context/extension.yml +0 -0
  169. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
  170. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
  171. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
  172. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/assess/README.md +0 -0
  173. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.decide.md +0 -0
  174. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.define.md +0 -0
  175. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.intake.md +0 -0
  176. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.research.md +0 -0
  177. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.shape.md +0 -0
  178. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/assess/extension.yml +0 -0
  179. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/bug/README.md +0 -0
  180. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/bug/commands/speckit.bug.assess.md +0 -0
  181. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/bug/commands/speckit.bug.fix.md +0 -0
  182. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/bug/commands/speckit.bug.test.md +0 -0
  183. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/bug/extension.yml +0 -0
  184. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/catalog.json +0 -0
  185. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/README.md +0 -0
  186. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.commit.md +0 -0
  187. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.feature.md +0 -0
  188. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.initialize.md +0 -0
  189. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.remote.md +0 -0
  190. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.validate.md +0 -0
  191. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/config-template.yml +0 -0
  192. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/extension.yml +0 -0
  193. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/git-config.yml +0 -0
  194. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/bash/auto-commit.sh +0 -0
  195. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/bash/git-common.sh +0 -0
  196. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
  197. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
  198. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
  199. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
  200. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/python/auto_commit.py +0 -0
  201. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/python/git_common.py +0 -0
  202. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/git/scripts/python/initialize_repo.py +0 -0
  203. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/selftest/commands/selftest.md +0 -0
  204. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/selftest/extension.yml +0 -0
  205. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/template/.gitignore +0 -0
  206. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/template/CHANGELOG.md +0 -0
  207. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/template/EXAMPLE-README.md +0 -0
  208. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/template/LICENSE +0 -0
  209. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/template/README.md +0 -0
  210. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/template/commands/example.md +0 -0
  211. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/template/config-template.yml +0 -0
  212. {specify_cli-1.0.4 → specify_cli-1.0.5}/extensions/template/extension.yml +0 -0
  213. {specify_cli-1.0.4 → specify_cli-1.0.5}/integrations/CONTRIBUTING.md +0 -0
  214. {specify_cli-1.0.4 → specify_cli-1.0.5}/integrations/README.md +0 -0
  215. {specify_cli-1.0.4 → specify_cli-1.0.5}/integrations/catalog.community.json +0 -0
  216. {specify_cli-1.0.4 → specify_cli-1.0.5}/media/bootstrap-claude-code.gif +0 -0
  217. {specify_cli-1.0.4 → specify_cli-1.0.5}/media/logo_large.webp +0 -0
  218. {specify_cli-1.0.4 → specify_cli-1.0.5}/media/logo_small.webp +0 -0
  219. {specify_cli-1.0.4 → specify_cli-1.0.5}/media/spec-kit-video-header.jpg +0 -0
  220. {specify_cli-1.0.4 → specify_cli-1.0.5}/media/specify_cli.gif +0 -0
  221. {specify_cli-1.0.4 → specify_cli-1.0.5}/newsletters/2026-April.md +0 -0
  222. {specify_cli-1.0.4 → specify_cli-1.0.5}/newsletters/2026-February.md +0 -0
  223. {specify_cli-1.0.4 → specify_cli-1.0.5}/newsletters/2026-July.md +0 -0
  224. {specify_cli-1.0.4 → specify_cli-1.0.5}/newsletters/2026-June.md +0 -0
  225. {specify_cli-1.0.4 → specify_cli-1.0.5}/newsletters/2026-March.md +0 -0
  226. {specify_cli-1.0.4 → specify_cli-1.0.5}/newsletters/2026-May.md +0 -0
  227. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/ARCHITECTURE.md +0 -0
  228. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/PUBLISHING.md +0 -0
  229. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/README.md +0 -0
  230. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/catalog.community.json +0 -0
  231. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/catalog.json +0 -0
  232. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/constitution-sync/README.md +0 -0
  233. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
  234. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/constitution-sync/preset.yml +0 -0
  235. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/lean/README.md +0 -0
  236. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/lean/commands/speckit.constitution.md +0 -0
  237. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/lean/commands/speckit.implement.md +0 -0
  238. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/lean/commands/speckit.plan.md +0 -0
  239. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/lean/commands/speckit.specify.md +0 -0
  240. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/lean/commands/speckit.tasks.md +0 -0
  241. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/lean/preset.yml +0 -0
  242. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/scaffold/README.md +0 -0
  243. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
  244. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/scaffold/commands/speckit.specify.md +0 -0
  245. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/scaffold/preset.yml +0 -0
  246. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/scaffold/templates/myext-template.md +0 -0
  247. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/scaffold/templates/spec-template.md +0 -0
  248. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/self-test/commands/speckit.specify.md +0 -0
  249. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/self-test/commands/speckit.wrap-test.md +0 -0
  250. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/self-test/preset.yml +0 -0
  251. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/self-test/templates/checklist-template.md +0 -0
  252. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/self-test/templates/constitution-template.md +0 -0
  253. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/self-test/templates/plan-template.md +0 -0
  254. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/self-test/templates/spec-template.md +0 -0
  255. {specify_cli-1.0.4 → specify_cli-1.0.5}/presets/self-test/templates/tasks-template.md +0 -0
  256. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/bash/check-prerequisites.sh +0 -0
  257. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/bash/common.sh +0 -0
  258. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/bash/resolve-template.sh +0 -0
  259. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/bash/setup-tasks.sh +0 -0
  260. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/powershell/check-prerequisites.ps1 +0 -0
  261. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/powershell/common.ps1 +0 -0
  262. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/powershell/resolve-template.ps1 +0 -0
  263. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/powershell/setup-tasks.ps1 +0 -0
  264. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/python/check_prerequisites.py +0 -0
  265. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/python/common.py +0 -0
  266. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/python/create_new_feature.py +0 -0
  267. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/python/resolve_template.py +0 -0
  268. {specify_cli-1.0.4 → specify_cli-1.0.5}/scripts/python/setup_tasks.py +0 -0
  269. {specify_cli-1.0.4 → specify_cli-1.0.5}/spec-driven.md +0 -0
  270. {specify_cli-1.0.4 → specify_cli-1.0.5}/spec-kit.code-workspace +0 -0
  271. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/__init__.py +0 -0
  272. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/_agent_config.py +0 -0
  273. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/_assets.py +0 -0
  274. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/_console.py +0 -0
  275. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/_download_security.py +0 -0
  276. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/_github_http.py +0 -0
  277. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/_init_options.py +0 -0
  278. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/_project.py +0 -0
  279. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/_toml_string.py +0 -0
  280. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/_utils.py +0 -0
  281. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/_version.py +0 -0
  282. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/agents.py +0 -0
  283. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/authentication/__init__.py +0 -0
  284. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/authentication/azure_devops.py +0 -0
  285. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/authentication/base.py +0 -0
  286. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/authentication/config.py +0 -0
  287. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/authentication/github.py +0 -0
  288. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/authentication/http.py +0 -0
  289. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/__init__.py +0 -0
  290. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
  291. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/commands_impl/catalog_config.py +0 -0
  292. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/__init__.py +0 -0
  293. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/project.py +0 -0
  294. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/versioning.py +0 -0
  295. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/yamlio.py +0 -0
  296. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/models/__init__.py +0 -0
  297. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/models/catalog.py +0 -0
  298. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/models/manifest.py +0 -0
  299. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/models/records.py +0 -0
  300. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/services/__init__.py +0 -0
  301. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/services/adapters.py +0 -0
  302. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/services/catalog_stack.py +0 -0
  303. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/services/conflict.py +0 -0
  304. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/services/installer.py +0 -0
  305. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/services/packager.py +0 -0
  306. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/services/primitives.py +0 -0
  307. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/services/references.py +0 -0
  308. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/services/resolver.py +0 -0
  309. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/bundler/services/validator.py +0 -0
  310. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/catalogs.py +0 -0
  311. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/commands/__init__.py +0 -0
  312. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/commands/bundle/__init__.py +0 -0
  313. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/commands/event.py +0 -0
  314. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/events.py +0 -0
  315. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/extensions/_commands.py +0 -0
  316. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integration_runtime.py +0 -0
  317. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integration_scaffold.py +0 -0
  318. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integration_state.py +0 -0
  319. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integration_status.py +0 -0
  320. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/_commands.py +0 -0
  321. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/_helpers.py +0 -0
  322. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/_install_commands.py +0 -0
  323. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/_migrate_commands.py +0 -0
  324. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/_query_commands.py +0 -0
  325. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
  326. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/agy/__init__.py +0 -0
  327. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/alquimia/__init__.py +0 -0
  328. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/amp/__init__.py +0 -0
  329. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/auggie/__init__.py +0 -0
  330. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/bob/__init__.py +0 -0
  331. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/catalog.py +0 -0
  332. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/claude/__init__.py +0 -0
  333. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
  334. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/codex/__init__.py +0 -0
  335. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/command_code/__init__.py +0 -0
  336. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/copilot/__init__.py +0 -0
  337. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
  338. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/devin/__init__.py +0 -0
  339. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/docker_agent/__init__.py +0 -0
  340. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/droid/__init__.py +0 -0
  341. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/dsh/__init__.py +0 -0
  342. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/firebender/__init__.py +0 -0
  343. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/forge/__init__.py +0 -0
  344. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/gemini/__init__.py +0 -0
  345. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/generic/__init__.py +0 -0
  346. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/goose/__init__.py +0 -0
  347. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/grok/__init__.py +0 -0
  348. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/hermes/__init__.py +0 -0
  349. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/junie/__init__.py +0 -0
  350. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
  351. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/kimi/__init__.py +0 -0
  352. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
  353. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/lingma/__init__.py +0 -0
  354. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/manifest.py +0 -0
  355. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/omp/__init__.py +0 -0
  356. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/opencode/__init__.py +0 -0
  357. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/pi/__init__.py +0 -0
  358. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
  359. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/qwen/__init__.py +0 -0
  360. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
  361. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/shai/__init__.py +0 -0
  362. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
  363. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/trae/__init__.py +0 -0
  364. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/vibe/__init__.py +0 -0
  365. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/zcode/__init__.py +0 -0
  366. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/integrations/zed/__init__.py +0 -0
  367. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/presets/_commands.py +0 -0
  368. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/shared_infra.py +0 -0
  369. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/base.py +0 -0
  370. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/catalog.py +0 -0
  371. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/expressions.py +0 -0
  372. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/__init__.py +0 -0
  373. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/_commands.py +0 -0
  374. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/composer.py +0 -0
  375. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/layer_sources.py +0 -0
  376. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/merge.py +0 -0
  377. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/schema.py +0 -0
  378. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/__init__.py +0 -0
  379. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
  380. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
  381. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
  382. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/gate/__init__.py +0 -0
  383. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/if_then/__init__.py +0 -0
  384. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
  385. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
  386. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/shell/__init__.py +0 -0
  387. {specify_cli-1.0.4 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/switch/__init__.py +0 -0
  388. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/checklist-template.md +0 -0
  389. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/commands/analyze.md +0 -0
  390. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/commands/checklist.md +0 -0
  391. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/commands/clarify.md +0 -0
  392. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/commands/constitution.md +0 -0
  393. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/commands/converge.md +0 -0
  394. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/commands/implement.md +0 -0
  395. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/commands/specify.md +0 -0
  396. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/commands/taskstoissues.md +0 -0
  397. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/constitution-template.md +0 -0
  398. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/plan-template.md +0 -0
  399. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/spec-template.md +0 -0
  400. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/tasks-template.md +0 -0
  401. {specify_cli-1.0.4 → specify_cli-1.0.5}/templates/vscode-settings.json +0 -0
  402. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/__init__.py +0 -0
  403. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/auth_helpers.py +0 -0
  404. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/bundler_helpers.py +0 -0
  405. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/conftest.py +0 -0
  406. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/contract/test_bundle_cli.py +0 -0
  407. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/contract/test_catalog_schema.py +0 -0
  408. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/contract/test_manifest_schema.py +0 -0
  409. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/contract/test_wheel_bundled_presets.py +0 -0
  410. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
  411. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/__init__.py +0 -0
  412. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/assess/__init__.py +0 -0
  413. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/assess/test_assess_extension.py +0 -0
  414. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/bug/__init__.py +0 -0
  415. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/bug/test_bug_extension.py +0 -0
  416. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/git/__init__.py +0 -0
  417. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/git/test_git_extension.py +0 -0
  418. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/test_agent_context_cli_free.py +0 -0
  419. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/test_extension_agent_context.py +0 -0
  420. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
  421. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/extensions/test_update_agent_context_python_parity.py +0 -0
  422. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/hooks/TESTING.md +0 -0
  423. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/hooks/plan.md +0 -0
  424. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/hooks/spec.md +0 -0
  425. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/hooks/tasks.md +0 -0
  426. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/http_helpers.py +0 -0
  427. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integration/test_bundler_catalog_stack.py +0 -0
  428. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integration/test_bundler_init_install.py +0 -0
  429. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integration/test_bundler_install_flow.py +0 -0
  430. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integration/test_bundler_local_install.py +0 -0
  431. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integration/test_bundler_offline.py +0 -0
  432. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integration/test_bundler_security_paths.py +0 -0
  433. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/__init__.py +0 -0
  434. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/conftest.py +0 -0
  435. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_cli.py +0 -0
  436. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_events.py +0 -0
  437. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_extra_args.py +0 -0
  438. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_home_isolation.py +0 -0
  439. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_agy.py +0 -0
  440. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_alquimia.py +0 -0
  441. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_amp.py +0 -0
  442. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_auggie.py +0 -0
  443. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_base_markdown.py +0 -0
  444. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_base_skills.py +0 -0
  445. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_base_toml.py +0 -0
  446. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_base_yaml.py +0 -0
  447. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_bob.py +0 -0
  448. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_catalog.py +0 -0
  449. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_claude.py +0 -0
  450. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_codebuddy.py +0 -0
  451. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_codex.py +0 -0
  452. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_command_code.py +0 -0
  453. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_copilot.py +0 -0
  454. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_cursor_agent.py +0 -0
  455. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_devin.py +0 -0
  456. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_docker_agent.py +0 -0
  457. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_droid.py +0 -0
  458. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_dsh.py +0 -0
  459. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_firebender.py +0 -0
  460. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_forge.py +0 -0
  461. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_gemini.py +0 -0
  462. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_generic.py +0 -0
  463. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_goose.py +0 -0
  464. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_grok.py +0 -0
  465. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_hermes.py +0 -0
  466. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_junie.py +0 -0
  467. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_kilocode.py +0 -0
  468. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_kimi.py +0 -0
  469. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_kiro_cli.py +0 -0
  470. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_lingma.py +0 -0
  471. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_omp.py +0 -0
  472. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_opencode.py +0 -0
  473. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_pi.py +0 -0
  474. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_qodercli.py +0 -0
  475. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_qwen.py +0 -0
  476. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_rovodev.py +0 -0
  477. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_scaffold.py +0 -0
  478. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_shai.py +0 -0
  479. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_state.py +0 -0
  480. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_subcommand.py +0 -0
  481. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_tabnine.py +0 -0
  482. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_trae.py +0 -0
  483. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_vibe.py +0 -0
  484. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_zcode.py +0 -0
  485. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_integration_zed.py +0 -0
  486. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_manifest.py +0 -0
  487. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
  488. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/self_upgrade_helpers.py +0 -0
  489. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_authentication.py +0 -0
  490. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_branch_numbering.py +0 -0
  491. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_check_prerequisites_paths_only.py +0 -0
  492. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_check_prerequisites_python_parity.py +0 -0
  493. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_check_tool.py +0 -0
  494. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_cli_version.py +0 -0
  495. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_command_template_py_scripts.py +0 -0
  496. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_commands_package.py +0 -0
  497. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_console_imports.py +0 -0
  498. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_download_security.py +0 -0
  499. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_event_command.py +0 -0
  500. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_extension_add_path_traversal.py +0 -0
  501. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_extension_content_staleness.py +0 -0
  502. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_extension_registration.py +0 -0
  503. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_extension_update_hardening.py +0 -0
  504. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_extensions.py +0 -0
  505. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_github_http.py +0 -0
  506. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_github_workflows.py +0 -0
  507. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_init_dir.py +0 -0
  508. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_init_dir_cli.py +0 -0
  509. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_init_output_markup.py +0 -0
  510. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_live_transient_windows.py +0 -0
  511. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_merge.py +0 -0
  512. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_post_process.py +0 -0
  513. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_ps1_encoding.py +0 -0
  514. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_registrar_path_traversal.py +0 -0
  515. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_resolve_template_python_parity.py +0 -0
  516. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_security_workflow.py +0 -0
  517. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_self_upgrade_detection.py +0 -0
  518. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_self_upgrade_execution.py +0 -0
  519. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_self_upgrade_guidance.py +0 -0
  520. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_self_upgrade_verification.py +0 -0
  521. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_setup_plan_feature_json.py +0 -0
  522. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_setup_plan_no_overwrite.py +0 -0
  523. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_setup_tasks.py +0 -0
  524. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_setup_tasks_python_parity.py +0 -0
  525. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_shared_infra_gitignore.py +0 -0
  526. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_shared_infra_integrity.py +0 -0
  527. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_skill_placeholder_py.py +0 -0
  528. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_specify_template_numbering.py +0 -0
  529. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_timestamp_branches.py +0 -0
  530. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_upgrade.py +0 -0
  531. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_utils.py +0 -0
  532. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_utils_assets_imports.py +0 -0
  533. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_version_imports.py +0 -0
  534. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/test_workflow_run_without_project.py +0 -0
  535. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundle_download_url.py +0 -0
  536. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundler_adapters.py +0 -0
  537. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundler_catalog_config.py +0 -0
  538. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundler_conflict.py +0 -0
  539. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundler_packager.py +0 -0
  540. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundler_primitives.py +0 -0
  541. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundler_records.py +0 -0
  542. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundler_resolver.py +0 -0
  543. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundler_validator.py +0 -0
  544. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundler_versioning.py +0 -0
  545. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_bundler_yamlio.py +0 -0
  546. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/unit/test_condition_expression_block.py +0 -0
  547. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/workflows/conftest.py +0 -0
  548. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/workflows/test_overlay_commands.py +0 -0
  549. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/workflows/test_overlay_composer.py +0 -0
  550. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/workflows/test_overlay_layer_sources.py +0 -0
  551. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/workflows/test_overlay_merge.py +0 -0
  552. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/workflows/test_overlay_schema.py +0 -0
  553. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/workflows/test_overlay_security.py +0 -0
  554. {specify_cli-1.0.4 → specify_cli-1.0.5}/tests/workflows/test_resolver_integration.py +0 -0
  555. {specify_cli-1.0.4 → specify_cli-1.0.5}/workflows/catalog.community.json +0 -0
  556. {specify_cli-1.0.4 → specify_cli-1.0.5}/workflows/step-catalog.community.json +0 -0
  557. {specify_cli-1.0.4 → 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, 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, 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
@@ -90,6 +90,7 @@ body:
90
90
  - Kiro CLI
91
91
  - Lingma
92
92
  - Mistral Vibe
93
+ - Muse Code
93
94
  - Oh My Pi
94
95
  - opencode
95
96
  - Pi Coding Agent
@@ -84,6 +84,7 @@ body:
84
84
  - Kiro CLI
85
85
  - Lingma
86
86
  - Mistral Vibe
87
+ - Muse Code
87
88
  - Oh My Pi
88
89
  - opencode
89
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 }}"
@@ -2,6 +2,31 @@
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
+
5
30
  ## [1.0.4] - 2026-09-02
6
31
 
7
32
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: specify-cli
3
- Version: 1.0.4
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,7 +49,7 @@ 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) |
@@ -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) |
@@ -34,6 +34,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
34
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` |
35
35
  | [Lingma](https://lingma.aliyun.com/) | `lingma` | Skills-based integration; skills are installed automatically |
36
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>` |
37
38
  | [Oh My Pi](https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent) | `omp` | Installs slash commands into `.omp/commands` |
38
39
  | [opencode](https://opencode.ai/) | `opencode` | |
39
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-02T00: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",
@@ -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",
@@ -206,9 +206,18 @@ check_existing_branches() {
206
206
  }
207
207
 
208
208
  # Function to clean and format a branch name
209
+ #
210
+ # Three details keep this byte-identical to the Python and PowerShell twins:
211
+ # * LC_ALL=C -- in a UTF-8 locale glibc resolves the a-z *range* through
212
+ # collation, so [^a-z0-9] keeps accented lowercase letters that
213
+ # re.sub(r"[^a-z0-9]", ...) and .NET's -replace both strip.
214
+ # * `--*` instead of the GNU-only `\+`, which POSIX/BSD sed reads as a literal
215
+ # '+', leaving repeated separators uncollapsed on macOS.
216
+ # * printf instead of echo, so a name of "-n"/"-e"/"-E" is text, not options.
209
217
  clean_branch_name() {
210
218
  local name="$1"
211
- echo "$name" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/-\+/-/g' | sed 's/^-//' | sed 's/-$//'
219
+ local -x LC_ALL=C
220
+ printf '%s\n' "$name" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//' | sed 's/-$//'
212
221
  }
213
222
 
214
223
  # ---------------------------------------------------------------------------
@@ -444,6 +453,10 @@ generate_branch_name() {
444
453
 
445
454
  local stop_words="^(i|a|an|the|to|for|of|in|on|at|by|with|from|is|are|was|were|be|been|being|have|has|had|do|does|did|will|would|should|could|can|may|might|must|shall|this|that|these|those|my|your|our|their|want|need|add|get|set)$"
446
455
 
456
+ # LC_ALL=C for the same collation reason documented on clean_branch_name,
457
+ # and so the `grep -qw` acronym probe below uses ASCII word boundaries like
458
+ # the Python twin's (?<![0-9A-Za-z_]) lookarounds.
459
+ local -x LC_ALL=C
447
460
  local clean_name=$(printf '%s' "$description" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/ /g')
448
461
 
449
462
  local meaningful_words=()
@@ -420,11 +420,13 @@ function Get-BranchName {
420
420
  if ($stopWords -contains $word) { continue }
421
421
  if ($word.Length -ge 3) {
422
422
  $meaningfulWords += $word
423
- } elseif ($Description -cmatch "\b$($word.ToUpper())\b") {
423
+ } elseif ($Description -cmatch "(?<![0-9A-Za-z_])$($word.ToUpper())(?![0-9A-Za-z_])") {
424
424
  # Case-sensitive (-cmatch) to mirror the bash twin's case-sensitive
425
425
  # whole-word acronym match: keep a short word only when its UPPERCASE
426
426
  # form appears in the original (an acronym). -match is case-insensitive
427
- # and would keep every short word.
427
+ # and would keep every short word. ASCII boundaries rather than \b,
428
+ # which is Unicode-aware in .NET and would miss an acronym sitting
429
+ # next to an accented letter that bash's LC_ALL=C grep still splits on.
428
430
  $meaningfulWords += $word
429
431
  }
430
432
  }
@@ -297,8 +297,15 @@ def generate_branch_name(description: str) -> str:
297
297
  if len(word) >= 3:
298
298
  meaningful_words.append(word)
299
299
  # Keep short words only when they appear uppercased in the original
300
- # description (acronyms like "API" or "DB").
301
- elif re.search(rf"\b{re.escape(word.upper())}\b", description):
300
+ # description (acronyms like "API" or "DB"). The boundaries are spelled
301
+ # out as ASCII rather than using \b: \b is Unicode-aware on str, so
302
+ # "\u00e9DB\u00e9 cache" would hide the acronym behind a non-ASCII word
303
+ # character, while the bash twin's `grep -qw` runs under LC_ALL=C and
304
+ # sees a boundary there.
305
+ elif re.search(
306
+ rf"(?<![0-9A-Za-z_]){re.escape(word.upper())}(?![0-9A-Za-z_])",
307
+ description,
308
+ ):
302
309
  meaningful_words.append(word)
303
310
 
304
311
  if meaningful_words:
@@ -362,6 +362,15 @@
362
362
  "author": "spec-kit-core",
363
363
  "repository": "https://github.com/github/spec-kit",
364
364
  "tags": ["ide", "skills"]
365
+ },
366
+ "muse": {
367
+ "id": "muse",
368
+ "name": "Muse Code",
369
+ "version": "1.0.0",
370
+ "description": "Meta Muse Code CLI skills-based integration",
371
+ "author": "spec-kit-core",
372
+ "repository": "https://github.com/github/spec-kit",
373
+ "tags": ["cli", "skills"]
365
374
  }
366
375
  }
367
376
  }