specify-cli 1.0.12__tar.gz → 1.0.13__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 (848) hide show
  1. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/agent_request.yml +1 -1
  2. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/bug_report.yml +1 -0
  3. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/feature_request.yml +1 -0
  4. specify_cli-1.0.13/.github/workflows/stale.yml +63 -0
  5. {specify_cli-1.0.12 → specify_cli-1.0.13}/CHANGELOG.md +25 -0
  6. {specify_cli-1.0.12 → specify_cli-1.0.13}/PKG-INFO +1 -1
  7. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/README.md +1 -0
  8. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/extensions.md +4 -2
  9. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/friends.md +4 -0
  10. specify_cli-1.0.13/docs/guides/agentic-sdlc.md +285 -0
  11. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/monorepo.md +8 -2
  12. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/index.md +8 -1
  13. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/installation.md +6 -1
  14. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/agentic-sdd.md +3 -0
  15. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/bundles.md +2 -0
  16. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/core.md +2 -2
  17. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/integrations.md +2 -0
  18. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/presets.md +3 -1
  19. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/workflows.md +2 -0
  20. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/toc.yml +2 -0
  21. {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/business-analyst/bundle.yml +1 -1
  22. {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/developer/bundle.yml +1 -1
  23. {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/product-manager/bundle.yml +1 -1
  24. {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/security-researcher/bundle.yml +1 -1
  25. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/agent-context-defaults.json +1 -0
  26. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/extension.yml +1 -1
  27. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/catalog.community.json +88 -9
  28. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/catalog.json +16 -2
  29. specify_cli-1.0.13/extensions/github/README.md +104 -0
  30. specify_cli-1.0.13/extensions/github/commands/speckit.github.taskstoissues.md +106 -0
  31. specify_cli-1.0.13/extensions/github/extension.yml +36 -0
  32. specify_cli-1.0.13/extensions/github/scripts/bash/resolve-tasks.sh +264 -0
  33. specify_cli-1.0.13/extensions/github/scripts/powershell/resolve-tasks.ps1 +236 -0
  34. specify_cli-1.0.13/extensions/github/scripts/python/resolve_tasks.py +261 -0
  35. {specify_cli-1.0.12 → specify_cli-1.0.13}/integrations/catalog.json +10 -1
  36. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/catalog.community.json +6 -5
  37. {specify_cli-1.0.12 → specify_cli-1.0.13}/pyproject.toml +2 -1
  38. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/common.sh +23 -14
  39. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/common.ps1 +10 -0
  40. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/common.py +210 -49
  41. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_invocation_style.py +1 -1
  42. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/command_init.py +7 -0
  43. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/events/__init__.py +6 -1
  44. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/__init__.py +2 -0
  45. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/copilot/__init__.py +23 -8
  46. specify_cli-1.0.13/src/specify_cli/integrations/mcode/__init__.py +74 -0
  47. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/vibe/__init__.py +28 -0
  48. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/expressions.py +40 -4
  49. specify_cli-1.0.13/tests/extensions/github/test_github_extension.py +1422 -0
  50. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/test_update_agent_context_python_parity.py +27 -6
  51. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_extra_args.py +53 -0
  52. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_copilot.py +31 -0
  53. specify_cli-1.0.13/tests/integrations/test_integration_mcode.py +145 -0
  54. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_vibe.py +48 -0
  55. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_zed.py +2 -0
  56. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_registry.py +1 -1
  57. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/parity_helpers.py +107 -2
  58. specify_cli-1.0.13/tests/specify_cli/bundles/catalog/__init__.py +0 -0
  59. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/events/test_events.py +43 -0
  60. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_agent_config_consistency.py +25 -0
  61. specify_cli-1.0.13/tests/test_catalog_trust_docs.py +37 -0
  62. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_ps1_encoding.py +1 -0
  63. specify_cli-1.0.13/tests/test_resolve_template_python_parity.py +1510 -0
  64. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_workflows.py +48 -3
  65. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/unit/test_condition_expression_block.py +15 -20
  66. {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/PUBLISHING.md +7 -6
  67. specify_cli-1.0.12/.github/workflows/stale.yml +0 -43
  68. specify_cli-1.0.12/tests/test_resolve_template_python_parity.py +0 -787
  69. {specify_cli-1.0.12 → specify_cli-1.0.13}/.devcontainer/devcontainer.json +0 -0
  70. {specify_cli-1.0.12 → specify_cli-1.0.13}/.devcontainer/post-create.sh +0 -0
  71. {specify_cli-1.0.12 → specify_cli-1.0.13}/.editorconfig +0 -0
  72. {specify_cli-1.0.12 → specify_cli-1.0.13}/.gitattributes +0 -0
  73. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/CODEOWNERS +0 -0
  74. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/bundle_submission.yml +0 -0
  75. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  76. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
  77. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
  78. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  79. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/aw/actions-lock.json +0 -0
  80. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/dependabot.yml +0 -0
  81. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/scripts/check_extension_version_bump.py +0 -0
  82. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/scripts/check_security_requirements.py +0 -0
  83. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/security-audit-requirements.txt +0 -0
  84. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/skills/add-community-extension/SKILL.md +0 -0
  85. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/skills/code-review/SKILL.md +0 -0
  86. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/RELEASE-PROCESS.md +0 -0
  87. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-bundle.lock.yml +0 -0
  88. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-bundle.md +0 -0
  89. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-extension.lock.yml +0 -0
  90. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-extension.md +0 -0
  91. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-preset.lock.yml +0 -0
  92. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-preset.md +0 -0
  93. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-assess.lock.yml +0 -0
  94. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-assess.md +0 -0
  95. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-fix.lock.yml +0 -0
  96. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-fix.md +0 -0
  97. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-test.lock.yml +0 -0
  98. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-test.md +0 -0
  99. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/catalog-assign.yml +0 -0
  100. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/codeql.yml +0 -0
  101. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/docs.yml +0 -0
  102. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/extension-version-guard.yml +0 -0
  103. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/feature-assess.lock.yml +0 -0
  104. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/feature-assess.md +0 -0
  105. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/lint.yml +0 -0
  106. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/publish-pypi.yml +0 -0
  107. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/release-trigger.yml +0 -0
  108. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/release.yml +0 -0
  109. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/security.yml +0 -0
  110. {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/test.yml +0 -0
  111. {specify_cli-1.0.12 → specify_cli-1.0.13}/.gitignore +0 -0
  112. {specify_cli-1.0.12 → specify_cli-1.0.13}/.markdownlint-cli2.jsonc +0 -0
  113. {specify_cli-1.0.12 → specify_cli-1.0.13}/.pre-commit-config.yaml +0 -0
  114. {specify_cli-1.0.12 → specify_cli-1.0.13}/.zenodo.json +0 -0
  115. {specify_cli-1.0.12 → specify_cli-1.0.13}/AGENTS.md +0 -0
  116. {specify_cli-1.0.12 → specify_cli-1.0.13}/CITATION.cff +0 -0
  117. {specify_cli-1.0.12 → specify_cli-1.0.13}/CODE_OF_CONDUCT.md +0 -0
  118. {specify_cli-1.0.12 → specify_cli-1.0.13}/CONTRIBUTING.md +0 -0
  119. {specify_cli-1.0.12 → specify_cli-1.0.13}/DEVELOPMENT.md +0 -0
  120. {specify_cli-1.0.12 → specify_cli-1.0.13}/LICENSE +0 -0
  121. {specify_cli-1.0.12 → specify_cli-1.0.13}/README.ja.md +0 -0
  122. {specify_cli-1.0.12 → specify_cli-1.0.13}/README.md +0 -0
  123. {specify_cli-1.0.12 → specify_cli-1.0.13}/README.zh-CN.md +0 -0
  124. {specify_cli-1.0.12 → specify_cli-1.0.13}/SECURITY.md +0 -0
  125. {specify_cli-1.0.12 → specify_cli-1.0.13}/SUPPORT.md +0 -0
  126. {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/assess/README.md +0 -0
  127. {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/assess/bundle.yml +0 -0
  128. {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/bugfix/README.md +0 -0
  129. {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/bugfix/bundle.yml +0 -0
  130. {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/catalog.community.json +0 -0
  131. {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/catalog.json +0 -0
  132. {specify_cli-1.0.12 → specify_cli-1.0.13}/design/cli.md +0 -0
  133. {specify_cli-1.0.12 → specify_cli-1.0.13}/design/integration.md +0 -0
  134. {specify_cli-1.0.12 → specify_cli-1.0.13}/design/workflow-step.md +0 -0
  135. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/.gitignore +0 -0
  136. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/bundles.md +0 -0
  137. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/overview.md +0 -0
  138. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/presets.md +0 -0
  139. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/walkthroughs.md +0 -0
  140. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/concepts/complex-features.md +0 -0
  141. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/concepts/sdd.md +0 -0
  142. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/concepts/spec-of-specs.md +0 -0
  143. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/concepts/spec-persistence.md +0 -0
  144. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/docfx.json +0 -0
  145. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/assessment.md +0 -0
  146. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/bugfix.md +0 -0
  147. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/contract-driven-development.md +0 -0
  148. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/customization.md +0 -0
  149. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/evolving-specs.md +0 -0
  150. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/existing-projects.md +0 -0
  151. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/history.md +0 -0
  152. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/images/spec-kit-logo.webp +0 -0
  153. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/install/air-gapped.md +0 -0
  154. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/install/one-time.md +0 -0
  155. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/install/pipx.md +0 -0
  156. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/install/pypi.md +0 -0
  157. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/install/uv.md +0 -0
  158. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/local-development.md +0 -0
  159. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/quickstart.md +0 -0
  160. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/agentic-assessment.md +0 -0
  161. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/agentic-bugfix.md +0 -0
  162. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/artifacts.md +0 -0
  163. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/authentication.md +0 -0
  164. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/extensions.md +0 -0
  165. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/overview.md +0 -0
  166. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/template/public/main.css +0 -0
  167. {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/upgrade.md +0 -0
  168. {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/business-analyst/README.md +0 -0
  169. {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/developer/README.md +0 -0
  170. {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/product-manager/README.md +0 -0
  171. {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/security-researcher/README.md +0 -0
  172. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/EXTENSION-API-REFERENCE.md +0 -0
  173. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +0 -0
  174. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -0
  175. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/EXTENSION-USER-GUIDE.md +0 -0
  176. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/README.md +0 -0
  177. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
  178. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/README.md +0 -0
  179. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/agent-context-config.yml +0 -0
  180. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
  181. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
  182. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
  183. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
  184. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/README.md +0 -0
  185. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/commands/speckit.assess.decide.md +0 -0
  186. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/commands/speckit.assess.define.md +0 -0
  187. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/commands/speckit.assess.intake.md +0 -0
  188. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/commands/speckit.assess.research.md +0 -0
  189. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/commands/speckit.assess.shape.md +0 -0
  190. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/extension.yml +0 -0
  191. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/bug/README.md +0 -0
  192. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/bug/commands/speckit.bug.assess.md +0 -0
  193. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/bug/commands/speckit.bug.fix.md +0 -0
  194. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/bug/commands/speckit.bug.test.md +0 -0
  195. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/bug/extension.yml +0 -0
  196. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/README.md +0 -0
  197. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/commands/speckit.git.commit.md +0 -0
  198. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/commands/speckit.git.feature.md +0 -0
  199. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/commands/speckit.git.initialize.md +0 -0
  200. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/commands/speckit.git.remote.md +0 -0
  201. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/commands/speckit.git.validate.md +0 -0
  202. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/config-template.yml +0 -0
  203. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/extension.yml +0 -0
  204. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/git-config.yml +0 -0
  205. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/bash/auto-commit.sh +0 -0
  206. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/bash/create-new-feature-branch.sh +0 -0
  207. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/bash/git-common.sh +0 -0
  208. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
  209. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
  210. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +0 -0
  211. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
  212. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
  213. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/python/auto_commit.py +0 -0
  214. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/python/create_new_feature_branch.py +0 -0
  215. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/python/git_common.py +0 -0
  216. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/python/initialize_repo.py +0 -0
  217. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/selftest/commands/selftest.md +0 -0
  218. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/selftest/extension.yml +0 -0
  219. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/.gitignore +0 -0
  220. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/CHANGELOG.md +0 -0
  221. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/EXAMPLE-README.md +0 -0
  222. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/LICENSE +0 -0
  223. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/README.md +0 -0
  224. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/commands/example.md +0 -0
  225. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/config-template.yml +0 -0
  226. {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/extension.yml +0 -0
  227. {specify_cli-1.0.12 → specify_cli-1.0.13}/integrations/CONTRIBUTING.md +0 -0
  228. {specify_cli-1.0.12 → specify_cli-1.0.13}/integrations/README.md +0 -0
  229. {specify_cli-1.0.12 → specify_cli-1.0.13}/integrations/catalog.community.json +0 -0
  230. {specify_cli-1.0.12 → specify_cli-1.0.13}/media/bootstrap-claude-code.gif +0 -0
  231. {specify_cli-1.0.12 → specify_cli-1.0.13}/media/logo_large.webp +0 -0
  232. {specify_cli-1.0.12 → specify_cli-1.0.13}/media/logo_small.webp +0 -0
  233. {specify_cli-1.0.12 → specify_cli-1.0.13}/media/spec-kit-video-header.jpg +0 -0
  234. {specify_cli-1.0.12 → specify_cli-1.0.13}/media/specify_cli.gif +0 -0
  235. {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-April.md +0 -0
  236. {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-August.md +0 -0
  237. {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-February.md +0 -0
  238. {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-July.md +0 -0
  239. {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-June.md +0 -0
  240. {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-March.md +0 -0
  241. {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-May.md +0 -0
  242. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/ARCHITECTURE.md +0 -0
  243. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/PUBLISHING.md +0 -0
  244. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/README.md +0 -0
  245. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/catalog.json +0 -0
  246. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/constitution-sync/README.md +0 -0
  247. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
  248. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/constitution-sync/preset.yml +0 -0
  249. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/README.md +0 -0
  250. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/commands/speckit.constitution.md +0 -0
  251. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/commands/speckit.implement.md +0 -0
  252. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/commands/speckit.plan.md +0 -0
  253. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/commands/speckit.specify.md +0 -0
  254. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/commands/speckit.tasks.md +0 -0
  255. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/preset.yml +0 -0
  256. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/README.md +0 -0
  257. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
  258. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/commands/speckit.specify.md +0 -0
  259. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/preset.yml +0 -0
  260. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/templates/myext-template.md +0 -0
  261. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/templates/spec-template.md +0 -0
  262. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/commands/speckit.specify.md +0 -0
  263. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/commands/speckit.wrap-test.md +0 -0
  264. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/preset.yml +0 -0
  265. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/templates/checklist-template.md +0 -0
  266. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/templates/constitution-template.md +0 -0
  267. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/templates/plan-template.md +0 -0
  268. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/templates/spec-template.md +0 -0
  269. {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/templates/tasks-template.md +0 -0
  270. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/check-prerequisites.sh +0 -0
  271. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/create-new-feature.sh +0 -0
  272. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/resolve-template.sh +0 -0
  273. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/setup-plan.sh +0 -0
  274. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/setup-tasks.sh +0 -0
  275. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/check-prerequisites.ps1 +0 -0
  276. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/create-new-feature.ps1 +0 -0
  277. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/resolve-template.ps1 +0 -0
  278. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/setup-plan.ps1 +0 -0
  279. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/setup-tasks.ps1 +0 -0
  280. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/check_prerequisites.py +0 -0
  281. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/create_new_feature.py +0 -0
  282. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/resolve_template.py +0 -0
  283. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/setup_plan.py +0 -0
  284. {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/setup_tasks.py +0 -0
  285. {specify_cli-1.0.12 → specify_cli-1.0.13}/spec-driven.md +0 -0
  286. {specify_cli-1.0.12 → specify_cli-1.0.13}/spec-kit.code-workspace +0 -0
  287. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/__init__.py +0 -0
  288. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_agent_config.py +0 -0
  289. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_assets.py +0 -0
  290. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_console.py +0 -0
  291. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_download_security.py +0 -0
  292. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_init_options.py +0 -0
  293. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_installed_list_json.py +0 -0
  294. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_project.py +0 -0
  295. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_toml_string.py +0 -0
  296. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_utils.py +0 -0
  297. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_version.py +0 -0
  298. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/agents.py +0 -0
  299. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/__init__.py +0 -0
  300. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/_commands.py +0 -0
  301. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/_identifiers.py +0 -0
  302. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/catalog.py +0 -0
  303. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/command_info.py +0 -0
  304. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/command_list.py +0 -0
  305. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/command_lookup.py +0 -0
  306. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/models.py +0 -0
  307. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/resolution.py +0 -0
  308. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/__init__.py +0 -0
  309. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/azure_devops.py +0 -0
  310. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/base.py +0 -0
  311. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/bitbucket.py +0 -0
  312. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/config.py +0 -0
  313. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/github.py +0 -0
  314. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/github_http.py +0 -0
  315. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/http.py +0 -0
  316. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundler.py +0 -0
  317. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/__init__.py +0 -0
  318. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/_commands.py +0 -0
  319. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/adapters.py +0 -0
  320. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog/__init__.py +0 -0
  321. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog/command_add.py +0 -0
  322. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog/command_list.py +0 -0
  323. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog/command_remove.py +0 -0
  324. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog_config.py +0 -0
  325. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog_stack.py +0 -0
  326. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalogs.py +0 -0
  327. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_add.py +0 -0
  328. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_build.py +0 -0
  329. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_info.py +0 -0
  330. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_init.py +0 -0
  331. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_install.py +0 -0
  332. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_list.py +0 -0
  333. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_remove.py +0 -0
  334. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_search.py +0 -0
  335. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_update.py +0 -0
  336. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_validate.py +0 -0
  337. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/conflict.py +0 -0
  338. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/installer.py +0 -0
  339. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/manifest.py +0 -0
  340. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/packager.py +0 -0
  341. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/primitives.py +0 -0
  342. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/project.py +0 -0
  343. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/records.py +0 -0
  344. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/references.py +0 -0
  345. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/resolver.py +0 -0
  346. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/sources.py +0 -0
  347. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/validator.py +0 -0
  348. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/versioning.py +0 -0
  349. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/yamlio.py +0 -0
  350. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/catalogs.py +0 -0
  351. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/command_check.py +0 -0
  352. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/command_version.py +0 -0
  353. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/events/command_run.py +0 -0
  354. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/__init__.py +0 -0
  355. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/_command_update_artifacts.py +0 -0
  356. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/_command_update_discovery.py +0 -0
  357. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/_command_update_transaction.py +0 -0
  358. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/_commands.py +0 -0
  359. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/catalog/__init__.py +0 -0
  360. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/catalog/_helpers.py +0 -0
  361. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/catalog/command_add.py +0 -0
  362. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/catalog/command_list.py +0 -0
  363. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/catalog/command_remove.py +0 -0
  364. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_add.py +0 -0
  365. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_disable.py +0 -0
  366. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_enable.py +0 -0
  367. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_info.py +0 -0
  368. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_list.py +0 -0
  369. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_remove.py +0 -0
  370. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_search.py +0 -0
  371. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_set_priority.py +0 -0
  372. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_update.py +0 -0
  373. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integration_runtime.py +0 -0
  374. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integration_state.py +0 -0
  375. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integration_status.py +0 -0
  376. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/_command_scaffold_generation.py +0 -0
  377. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/_command_upgrade_layout.py +0 -0
  378. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/_commands.py +0 -0
  379. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/_helpers.py +0 -0
  380. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/agy/__init__.py +0 -0
  381. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/alquimia/__init__.py +0 -0
  382. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/amp/__init__.py +0 -0
  383. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/auggie/__init__.py +0 -0
  384. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/base.py +0 -0
  385. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/bob/__init__.py +0 -0
  386. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/catalog/__init__.py +0 -0
  387. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/catalog/command_add.py +0 -0
  388. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/catalog/command_list.py +0 -0
  389. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/catalog/command_remove.py +0 -0
  390. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/claude/__init__.py +0 -0
  391. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/cline/__init__.py +0 -0
  392. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
  393. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/codex/__init__.py +0 -0
  394. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_code/__init__.py +0 -0
  395. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_info.py +0 -0
  396. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_install.py +0 -0
  397. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_list.py +0 -0
  398. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_scaffold.py +0 -0
  399. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_search.py +0 -0
  400. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_status.py +0 -0
  401. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_switch.py +0 -0
  402. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_uninstall.py +0 -0
  403. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_upgrade.py +0 -0
  404. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_use.py +0 -0
  405. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
  406. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/devin/__init__.py +0 -0
  407. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/docker_agent/__init__.py +0 -0
  408. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/droid/__init__.py +0 -0
  409. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/dsh/__init__.py +0 -0
  410. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/firebender/__init__.py +0 -0
  411. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/forge/__init__.py +0 -0
  412. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/gemini/__init__.py +0 -0
  413. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/generic/__init__.py +0 -0
  414. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/goose/__init__.py +0 -0
  415. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/grok/__init__.py +0 -0
  416. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/hermes/__init__.py +0 -0
  417. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/junie/__init__.py +0 -0
  418. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
  419. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/kimi/__init__.py +0 -0
  420. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
  421. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/lingma/__init__.py +0 -0
  422. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/manifest.py +0 -0
  423. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/muse/__init__.py +0 -0
  424. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/omp/__init__.py +0 -0
  425. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/opencode/__init__.py +0 -0
  426. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/pi/__init__.py +0 -0
  427. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
  428. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/qwen/__init__.py +0 -0
  429. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
  430. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/shai/__init__.py +0 -0
  431. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
  432. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/trae/__init__.py +0 -0
  433. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/zcode/__init__.py +0 -0
  434. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/zed/__init__.py +0 -0
  435. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/__init__.py +0 -0
  436. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_catalog.py +0 -0
  437. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_commands.py +0 -0
  438. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_manager.py +0 -0
  439. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_manager_commands.py +0 -0
  440. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_manager_skills.py +0 -0
  441. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_manifest.py +0 -0
  442. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_registry.py +0 -0
  443. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_resolver.py +0 -0
  444. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/catalog/__init__.py +0 -0
  445. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/catalog/command_add.py +0 -0
  446. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/catalog/command_list.py +0 -0
  447. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/catalog/command_remove.py +0 -0
  448. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_add.py +0 -0
  449. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_disable.py +0 -0
  450. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_enable.py +0 -0
  451. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_info.py +0 -0
  452. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_list.py +0 -0
  453. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_remove.py +0 -0
  454. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_resolve.py +0 -0
  455. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_search.py +0 -0
  456. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_set_priority.py +0 -0
  457. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_update.py +0 -0
  458. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/selfs/__init__.py +0 -0
  459. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/selfs/command_check.py +0 -0
  460. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/selfs/command_upgrade.py +0 -0
  461. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/shared_infra.py +0 -0
  462. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/__init__.py +0 -0
  463. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/_command_resume_state.py +0 -0
  464. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/_command_run_ownership.py +0 -0
  465. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/_commands.py +0 -0
  466. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/base.py +0 -0
  467. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/catalog/__init__.py +0 -0
  468. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/catalog/_domain.py +0 -0
  469. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/catalog/command_add.py +0 -0
  470. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/catalog/command_list.py +0 -0
  471. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/catalog/command_remove.py +0 -0
  472. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_add.py +0 -0
  473. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_disable.py +0 -0
  474. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_enable.py +0 -0
  475. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_info.py +0 -0
  476. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_list.py +0 -0
  477. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_remove.py +0 -0
  478. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_resolve.py +0 -0
  479. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_resume.py +0 -0
  480. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_run.py +0 -0
  481. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_search.py +0 -0
  482. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_status.py +0 -0
  483. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_update.py +0 -0
  484. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/engine.py +0 -0
  485. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/__init__.py +0 -0
  486. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_add.py +0 -0
  487. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_disable.py +0 -0
  488. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_enable.py +0 -0
  489. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_list.py +0 -0
  490. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_remove.py +0 -0
  491. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_set_priority.py +0 -0
  492. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/composer.py +0 -0
  493. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/layer_sources.py +0 -0
  494. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/merge.py +0 -0
  495. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/operations.py +0 -0
  496. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/resolver.py +0 -0
  497. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/schema.py +0 -0
  498. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/__init__.py +0 -0
  499. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/_helpers.py +0 -0
  500. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/catalog/__init__.py +0 -0
  501. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/catalog/_domain.py +0 -0
  502. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/catalog/command_add.py +0 -0
  503. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/catalog/command_list.py +0 -0
  504. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/catalog/command_remove.py +0 -0
  505. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command/__init__.py +0 -0
  506. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command_add.py +0 -0
  507. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command_info.py +0 -0
  508. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command_list.py +0 -0
  509. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command_remove.py +0 -0
  510. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command_search.py +0 -0
  511. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/do_while/__init__.py +0 -0
  512. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/fan_in/__init__.py +0 -0
  513. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/fan_out/__init__.py +0 -0
  514. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/gate/__init__.py +0 -0
  515. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/if_then/__init__.py +0 -0
  516. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/init/__init__.py +0 -0
  517. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/prompt/__init__.py +0 -0
  518. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/shell/__init__.py +0 -0
  519. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/slot/__init__.py +0 -0
  520. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/switch/__init__.py +0 -0
  521. {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/while_loop/__init__.py +0 -0
  522. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/checklist-template.md +0 -0
  523. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/analyze.md +0 -0
  524. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/checklist.md +0 -0
  525. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/clarify.md +0 -0
  526. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/constitution.md +0 -0
  527. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/converge.md +0 -0
  528. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/implement.md +0 -0
  529. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/plan.md +0 -0
  530. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/specify.md +0 -0
  531. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/tasks.md +0 -0
  532. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/taskstoissues.md +0 -0
  533. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/constitution-template.md +0 -0
  534. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/plan-template.md +0 -0
  535. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/spec-template.md +0 -0
  536. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/tasks-template.md +0 -0
  537. {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/vscode-settings.json +0 -0
  538. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/__init__.py +0 -0
  539. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/conftest.py +0 -0
  540. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_bundled_extension_update_delivery.py +0 -0
  541. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_bundled_extension_versions.py +0 -0
  542. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_catalog_schema.py +0 -0
  543. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_extension_version_guard_script.py +0 -0
  544. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_firstparty_bundle_catalog_consistency.py +0 -0
  545. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_manifest_schema.py +0 -0
  546. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_wheel_bundled_presets.py +0 -0
  547. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_wheel_bundled_workflows.py +0 -0
  548. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
  549. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/__init__.py +0 -0
  550. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/assess/__init__.py +0 -0
  551. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/assess/test_assess_extension.py +0 -0
  552. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/bug/__init__.py +0 -0
  553. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/bug/test_bug_extension.py +0 -0
  554. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/git/__init__.py +0 -0
  555. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/git/test_git_extension.py +0 -0
  556. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/git/test_git_extension_python_parity.py +0 -0
  557. {specify_cli-1.0.12/tests/integrations → specify_cli-1.0.13/tests/extensions/github}/__init__.py +0 -0
  558. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/test_agent_context_cli_free.py +0 -0
  559. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/test_extension_agent_context.py +0 -0
  560. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
  561. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/hooks/TESTING.md +0 -0
  562. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/hooks/plan.md +0 -0
  563. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/hooks/spec.md +0 -0
  564. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/hooks/tasks.md +0 -0
  565. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/http_helpers.py +0 -0
  566. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integration/test_preset_update_workflow.py +0 -0
  567. {specify_cli-1.0.12/tests/specify_cli/bundles → specify_cli-1.0.13/tests/integrations}/__init__.py +0 -0
  568. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/conftest.py +0 -0
  569. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_base.py +0 -0
  570. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_cli.py +0 -0
  571. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_home_isolation.py +0 -0
  572. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_agy.py +0 -0
  573. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_alquimia.py +0 -0
  574. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_amp.py +0 -0
  575. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_auggie.py +0 -0
  576. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_base_markdown.py +0 -0
  577. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_base_skills.py +0 -0
  578. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_base_toml.py +0 -0
  579. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_base_yaml.py +0 -0
  580. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_bob.py +0 -0
  581. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_claude.py +0 -0
  582. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_cline.py +0 -0
  583. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_codebuddy.py +0 -0
  584. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_codex.py +0 -0
  585. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_command_code.py +0 -0
  586. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_cursor_agent.py +0 -0
  587. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_devin.py +0 -0
  588. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_docker_agent.py +0 -0
  589. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_droid.py +0 -0
  590. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_dsh.py +0 -0
  591. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_firebender.py +0 -0
  592. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_forge.py +0 -0
  593. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_gemini.py +0 -0
  594. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_generic.py +0 -0
  595. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_goose.py +0 -0
  596. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_grok.py +0 -0
  597. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_hermes.py +0 -0
  598. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_junie.py +0 -0
  599. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_kilocode.py +0 -0
  600. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_kimi.py +0 -0
  601. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_kiro_cli.py +0 -0
  602. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_lingma.py +0 -0
  603. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_muse.py +0 -0
  604. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_omp.py +0 -0
  605. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_opencode.py +0 -0
  606. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_pi.py +0 -0
  607. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_qodercli.py +0 -0
  608. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_qwen.py +0 -0
  609. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_rovodev.py +0 -0
  610. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_shai.py +0 -0
  611. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_state.py +0 -0
  612. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_tabnine.py +0 -0
  613. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_trae.py +0 -0
  614. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_zcode.py +0 -0
  615. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_manifest.py +0 -0
  616. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
  617. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/__init__.py +0 -0
  618. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/conftest.py +0 -0
  619. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/helpers.py +0 -0
  620. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_catalog.py +0 -0
  621. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_catalog_parity.py +0 -0
  622. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_command_info.py +0 -0
  623. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_command_list.py +0 -0
  624. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_command_lookup.py +0 -0
  625. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_registration.py +0 -0
  626. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/authentication/__init__.py +0 -0
  627. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/authentication/helpers.py +0 -0
  628. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/authentication/test_authentication.py +0 -0
  629. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/authentication/test_github_http.py +0 -0
  630. {specify_cli-1.0.12/tests/specify_cli/bundles/catalog → specify_cli-1.0.13/tests/specify_cli/bundles}/__init__.py +0 -0
  631. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/_command_helpers.py +0 -0
  632. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/catalog/test_command_add.py +0 -0
  633. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/catalog/test_command_list.py +0 -0
  634. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/catalog/test_command_remove.py +0 -0
  635. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/conftest.py +0 -0
  636. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/helpers.py +0 -0
  637. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_adapters.py +0 -0
  638. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_bundles.py +0 -0
  639. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_catalog_config.py +0 -0
  640. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_catalog_stack.py +0 -0
  641. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_add.py +0 -0
  642. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_build.py +0 -0
  643. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_info.py +0 -0
  644. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_init.py +0 -0
  645. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_install.py +0 -0
  646. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_list.py +0 -0
  647. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_remove.py +0 -0
  648. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_search.py +0 -0
  649. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_update.py +0 -0
  650. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_validate.py +0 -0
  651. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_commands.py +0 -0
  652. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_conflict.py +0 -0
  653. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_installer.py +0 -0
  654. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_offline.py +0 -0
  655. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_packager.py +0 -0
  656. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_primitives.py +0 -0
  657. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_records.py +0 -0
  658. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_references.py +0 -0
  659. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_resolver.py +0 -0
  660. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_security_paths.py +0 -0
  661. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_sources.py +0 -0
  662. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_validator.py +0 -0
  663. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_versioning.py +0 -0
  664. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_yamlio.py +0 -0
  665. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/events/__init__.py +0 -0
  666. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/events/test_command_run.py +0 -0
  667. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/__init__.py +0 -0
  668. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/_helpers.py +0 -0
  669. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/catalog/__init__.py +0 -0
  670. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/catalog/test_command_add.py +0 -0
  671. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/catalog/test_command_list.py +0 -0
  672. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/catalog/test_command_remove.py +0 -0
  673. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/conftest.py +0 -0
  674. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_add.py +0 -0
  675. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_add_path_traversal.py +0 -0
  676. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_disable.py +0 -0
  677. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_enable.py +0 -0
  678. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_info.py +0 -0
  679. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_list.py +0 -0
  680. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_remove.py +0 -0
  681. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_search.py +0 -0
  682. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_set_priority.py +0 -0
  683. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_update.py +0 -0
  684. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_update_artifacts.py +0 -0
  685. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_update_discovery.py +0 -0
  686. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_update_transaction.py +0 -0
  687. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/__init__.py +0 -0
  688. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/_catalog_helpers.py +0 -0
  689. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/_helpers.py +0 -0
  690. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/_scaffold_helpers.py +0 -0
  691. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/catalog/__init__.py +0 -0
  692. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/catalog/test_command_add.py +0 -0
  693. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/catalog/test_command_list.py +0 -0
  694. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/catalog/test_command_remove.py +0 -0
  695. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/conftest.py +0 -0
  696. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_catalog.py +0 -0
  697. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_info.py +0 -0
  698. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_install.py +0 -0
  699. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_list.py +0 -0
  700. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_scaffold.py +0 -0
  701. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_scaffold_generation.py +0 -0
  702. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_search.py +0 -0
  703. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_status.py +0 -0
  704. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_switch.py +0 -0
  705. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_uninstall.py +0 -0
  706. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_upgrade.py +0 -0
  707. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_upgrade_layout.py +0 -0
  708. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_use.py +0 -0
  709. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_lifecycle.py +0 -0
  710. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_registration.py +0 -0
  711. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/__init__.py +0 -0
  712. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/_fixtures.py +0 -0
  713. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/_helpers.py +0 -0
  714. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/catalog/__init__.py +0 -0
  715. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/catalog/test_command_add.py +0 -0
  716. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/catalog/test_command_list.py +0 -0
  717. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/catalog/test_command_remove.py +0 -0
  718. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/conftest.py +0 -0
  719. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_catalog.py +0 -0
  720. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_add.py +0 -0
  721. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_disable.py +0 -0
  722. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_enable.py +0 -0
  723. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_info.py +0 -0
  724. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_list.py +0 -0
  725. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_remove.py +0 -0
  726. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_resolve.py +0 -0
  727. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_search.py +0 -0
  728. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_set_priority.py +0 -0
  729. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_update.py +0 -0
  730. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_domain_exports.py +0 -0
  731. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_manager.py +0 -0
  732. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_manager_commands.py +0 -0
  733. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_manager_skills.py +0 -0
  734. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_manifest.py +0 -0
  735. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_registration.py +0 -0
  736. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_registry.py +0 -0
  737. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_resolver.py +0 -0
  738. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/self_upgrade_helpers.py +0 -0
  739. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/selfs/__init__.py +0 -0
  740. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/selfs/test_command_check.py +0 -0
  741. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/selfs/test_command_upgrade.py +0 -0
  742. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_agent_config.py +0 -0
  743. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_check_tool.py +0 -0
  744. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_command_check.py +0 -0
  745. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_command_init.py +0 -0
  746. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_command_version.py +0 -0
  747. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_root_version_callback.py +0 -0
  748. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_detection.py +0 -0
  749. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_execution.py +0 -0
  750. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_guidance.py +0 -0
  751. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_imports.py +0 -0
  752. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_release.py +0 -0
  753. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_verification.py +0 -0
  754. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/__init__.py +0 -0
  755. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/catalog/__init__.py +0 -0
  756. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/catalog/test_command_add.py +0 -0
  757. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/catalog/test_command_list.py +0 -0
  758. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/catalog/test_command_remove.py +0 -0
  759. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/conftest.py +0 -0
  760. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/helpers.py +0 -0
  761. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/__init__.py +0 -0
  762. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_add.py +0 -0
  763. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_disable.py +0 -0
  764. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_enable.py +0 -0
  765. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_list.py +0 -0
  766. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_remove.py +0 -0
  767. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_set_priority.py +0 -0
  768. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/__init__.py +0 -0
  769. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/catalog/__init__.py +0 -0
  770. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/catalog/test_command_add.py +0 -0
  771. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/catalog/test_command_list.py +0 -0
  772. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/catalog/test_command_remove.py +0 -0
  773. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/test_command_add.py +0 -0
  774. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/test_command_info.py +0 -0
  775. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/test_command_list.py +0 -0
  776. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/test_command_remove.py +0 -0
  777. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/test_command_search.py +0 -0
  778. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_add.py +0 -0
  779. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_disable.py +0 -0
  780. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_enable.py +0 -0
  781. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_info.py +0 -0
  782. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_list.py +0 -0
  783. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_remove.py +0 -0
  784. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_resolve.py +0 -0
  785. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_resume.py +0 -0
  786. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_resume_state.py +0 -0
  787. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_run.py +0 -0
  788. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_run_ownership.py +0 -0
  789. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_search.py +0 -0
  790. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_status.py +0 -0
  791. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_update.py +0 -0
  792. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_branch_numbering.py +0 -0
  793. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_bug_fix_workflow.py +0 -0
  794. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_check_prerequisites_paths_only.py +0 -0
  795. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_check_prerequisites_python_parity.py +0 -0
  796. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_clarify_stage_gate.py +0 -0
  797. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_command_template_hooks.py +0 -0
  798. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_command_template_py_scripts.py +0 -0
  799. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_console_imports.py +0 -0
  800. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_constitution_template_sync_report.py +0 -0
  801. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_converge_template_scaffold.py +0 -0
  802. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_create_new_feature_python_parity.py +0 -0
  803. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_download_security.py +0 -0
  804. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_extension_registration.py +0 -0
  805. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_extension_skills.py +0 -0
  806. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_extensions.py +0 -0
  807. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_github_workflows.py +0 -0
  808. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_init_dir.py +0 -0
  809. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_init_dir_cli.py +0 -0
  810. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_installed_list_json.py +0 -0
  811. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_live_transient_windows.py +0 -0
  812. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_merge.py +0 -0
  813. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_post_process.py +0 -0
  814. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_presets.py +0 -0
  815. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_registrar_path_traversal.py +0 -0
  816. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_security_workflow.py +0 -0
  817. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_setup_plan_feature_json.py +0 -0
  818. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_setup_plan_no_overwrite.py +0 -0
  819. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_setup_plan_python_parity.py +0 -0
  820. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_setup_tasks.py +0 -0
  821. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_setup_tasks_python_parity.py +0 -0
  822. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_shared_infra_gitignore.py +0 -0
  823. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_shared_infra_integrity.py +0 -0
  824. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_skill_placeholder_py.py +0 -0
  825. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_specify_no_persist.py +0 -0
  826. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_specify_template_numbering.py +0 -0
  827. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_tasks_template_constraints.py +0 -0
  828. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_timestamp_branches.py +0 -0
  829. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_utils.py +0 -0
  830. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_utils_assets_imports.py +0 -0
  831. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/conftest.py +0 -0
  832. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_bundled_bugfix_assess_workflows.py +0 -0
  833. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_bundled_speckit_workflow.py +0 -0
  834. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_overlay_composer.py +0 -0
  835. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_overlay_layer_sources.py +0 -0
  836. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_overlay_merge.py +0 -0
  837. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_overlay_schema.py +0 -0
  838. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_resolver_integration.py +0 -0
  839. {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_slot_step.py +0 -0
  840. {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/ARCHITECTURE.md +0 -0
  841. {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/README.md +0 -0
  842. {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/assess/workflow.yml +0 -0
  843. {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/bugfix/workflow.yml +0 -0
  844. {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/catalog.community.json +0 -0
  845. {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/catalog.json +0 -0
  846. {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/speckit/workflow.yml +0 -0
  847. {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/step-catalog.community.json +0 -0
  848. {specify_cli-1.0.12 → specify_cli-1.0.13}/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, Muse Code, 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, MiniMax Code, 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
@@ -89,6 +89,7 @@ body:
89
89
  - Kimi Code
90
90
  - Kiro CLI
91
91
  - Lingma
92
+ - MiniMax Code
92
93
  - Mistral Vibe
93
94
  - Muse Code
94
95
  - Oh My Pi
@@ -83,6 +83,7 @@ body:
83
83
  - Kimi Code
84
84
  - Kiro CLI
85
85
  - Lingma
86
+ - MiniMax Code
86
87
  - Mistral Vibe
87
88
  - Muse Code
88
89
  - Oh My Pi
@@ -0,0 +1,63 @@
1
+ name: 'Close stale issues and PRs'
2
+
3
+ on:
4
+ schedule:
5
+ - cron: '0 0 * * *' # Run daily at midnight UTC
6
+ workflow_dispatch: # Allow manual triggering
7
+
8
+ permissions:
9
+ actions: write
10
+ issues: write
11
+ pull-requests: write
12
+
13
+ jobs:
14
+ stale:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
18
+ with:
19
+ # Days of inactivity before an issue or PR becomes stale
20
+ days-before-stale: 60
21
+ # Days of inactivity before a stale issue or PR is closed (after being marked stale)
22
+ days-before-close: 30
23
+
24
+ # Stale issue settings
25
+ stale-issue-message: >-
26
+ This issue has been automatically marked as stale because it has had no activity for 60 days.
27
+ It will be closed in 30 days unless there is a substantive update. If the problem still applies,
28
+ please provide updated context such as whether it is still reproducible, the affected version or
29
+ environment, its current impact, and any new reproduction details. A comment that only states that
30
+ the issue is "still relevant" does not give maintainers enough information to reconsider it.
31
+ close-issue-message: >-
32
+ This issue has been automatically closed after 90 days without activity. To request reconsideration,
33
+ please provide updated reproduction details, the currently affected version or environment, and the
34
+ present impact. Ask a maintainer to reopen this issue if it is fundamentally the same problem. If the
35
+ scope or reproduction has materially changed, create a new issue, link this one, and explain what has
36
+ changed.
37
+ stale-issue-label: 'stale'
38
+
39
+ # Stale PR settings
40
+ stale-pr-message: >-
41
+ This pull request has been automatically marked as stale because it has had no activity for 60 days.
42
+ It will be closed in 30 days unless there is a substantive update. If you intend to continue, please
43
+ describe the current status, address or acknowledge outstanding feedback, and confirm whether the
44
+ branch can be updated and the change remains ready for review. A comment that only states that the
45
+ pull request is "still relevant" does not provide enough context for maintainers.
46
+ close-pr-message: >-
47
+ This pull request has been automatically closed after 90 days without activity. To request
48
+ reconsideration, please explain why the change is still needed, confirm that the implementation is
49
+ current and ready for review, and address any outstanding feedback or conflicts. Ask a maintainer to
50
+ reopen this pull request if the existing branch and approach remain valid. Otherwise, create a new pull
51
+ request, link this one, and explain what has changed.
52
+ stale-pr-label: 'stale'
53
+
54
+ # Exempt issues and PRs with these labels from being marked as stale
55
+ exempt-issue-labels: 'pinned,security'
56
+ exempt-pr-labels: 'pinned,security'
57
+
58
+ # Only issues or PRs with all of these labels are checked
59
+ # Leave empty to check all issues and PRs
60
+ any-of-labels: ''
61
+
62
+ # Operations per run (helps avoid rate limits)
63
+ operations-per-run: 250
@@ -2,6 +2,31 @@
2
2
 
3
3
  <!-- insert new changelog below this comment -->
4
4
 
5
+ ## [1.0.13] - 2026-09-29
6
+
7
+ ### Changed
8
+
9
+ - community: add Raaghu Spec Kit Azure DevOps extension to friends (#4782)
10
+ - feat(extensions): add bundled `github` extension for taskstoissues (#4488)
11
+ - fix(integrations): drop invalid --model/--output-format flags from Vibe dispatch (#4784)
12
+ - Update Superpowers Implementation Bridge extension to v1.3.0 (#4783)
13
+ - fix(workflows): evaluate parenthesised expressions (#4417)
14
+ - fix(workflows): resolve negative list indices in expressions (#4416)
15
+ - docs: explain how Spec Kit uses an agentic SDLC (#4774)
16
+ - fix(copilot): detect copilot.exe on Windows instead of assuming copilot.cmd (#4758)
17
+ - fix: keep non-ASCII text readable in merged JSON settings files (#4773)
18
+ - Added openspec extension (#4765)
19
+ - feat(integrations): add MiniMax Code (mcode) integration (#4644) (#4645)
20
+ - docs(community): add Specstride to Community Friends (#4762)
21
+ - docs: clarify feature directories may live outside the project root (#4739)
22
+ - fix(scripts): honor SPECKIT_PYTHON override for preset manifest parsing (#4445)
23
+ - chore: clarify stale issue and PR guidance (#4772)
24
+ - Update OWASP LLM Threat Model extension to v2.1.2 (#4771)
25
+ - docs: correct workflow publishing security-review claim, add catalog vetting notes (#4736)
26
+ - [preset] Update Intake Sequencing Governance preset to v0.2.6 (#4761)
27
+ - [extension] Add Test Validation extension to community catalog (#4760)
28
+ - chore: release 1.0.12, begin 1.0.13.dev0 development (#4759)
29
+
5
30
  ## [1.0.12] - 2026-09-25
6
31
 
7
32
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: specify-cli
3
- Version: 1.0.12
3
+ Version: 1.0.13
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
@@ -28,6 +28,7 @@ To build the documentation locally:
28
28
  - `toc.yml` - Table of contents configuration
29
29
  - `installation.md` - Installation guide
30
30
  - `quickstart.md` - Spec-Driven Development walkthrough
31
+ - `guides/agentic-sdlc.md` - How Spec Kit applies agentic and conventional SDLC practices to itself
31
32
  - `guides/bugfix.md` - Bug-fixing walkthrough
32
33
  - `guides/assessment.md` - Idea assessment walkthrough
33
34
  - `guides/customization.md` - Choosing and combining customization building blocks
@@ -113,10 +113,11 @@ The following community-contributed extensions are available in [`catalog.commun
113
113
  | .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) |
114
114
  | OKF Knowledge Bundle Generator | Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository. Mines git history for the rationale behind the code, parks what it cannot establish as open questions rather than guessing, and verifies that the bundle's claims are actually supported by the repository. | `docs` | Read+Write | [catalogify](https://github.com/alexcpn/catalogify) |
115
115
  | 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) |
116
+ | OpenSpec | Adds a spec-driven change-management workflow (propose → implement → verify → archive) to Spec Kit projects, keeping specs, designs, and code in sync | `process` | Read+Write | [spec-kit-openspec](https://github.com/aaronrsun/spec-kit-openspec) |
116
117
  | OpenUP Governed Lifecycle | Adds the OpenUP lifecycle to Spec Kit: phases, iterations, a seven-level WBS, an executable risk register, bi-directional traceability, and machine-checkable milestone gates. | `process` | Read+Write | [specup](https://github.com/anvigo12/specup) |
117
118
  | 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) |
118
119
  | 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) |
119
- | OWASP LLM Threat Model | OWASP Top 10 for LLM Applications 2025 threat analysis on agent artifacts | `code` | Read-only | [spec-kit-threatmodel](https://github.com/NaviaSamal/spec-kit-threatmodel) |
120
+ | OWASP LLM Threat Model | OWASP Top 10 for LLM Applications 2026 threat analysis on agent artifacts | `code` | Read-only | [spec-kit-threatmodel](https://github.com/NaviaSamal/spec-kit-threatmodel) |
120
121
  | PatchWarden Evidence Pack | Map Spec Kit tasks into a guarded PatchWarden Goal and export bounded, traceable evidence for an accepted lineage. | `process` | Read+Write | [spec-kit-patchwarden](https://github.com/jiezeng2004-design/spec-kit-patchwarden) |
121
122
  | Plan Review Gate | Require spec.md and plan.md to be merged via MR/PR before allowing task generation | `process` | Read-only | [spec-kit-plan-review-gate](https://github.com/luno/spec-kit-plan-review-gate) |
122
123
  | PR Bridge | Auto-generate pull request descriptions, checklists, and summaries from spec artifacts | `process` | Read-only | [spec-kit-pr-bridge-](https://github.com/Quratulain-bilal/spec-kit-pr-bridge-) |
@@ -175,13 +176,14 @@ The following community-contributed extensions are available in [`catalog.commun
175
176
  | Staff Review Extension | Staff-engineer-level code review that validates implementation against spec, checks security, performance, and test coverage | `code` | Read-only | [spec-kit-staff-review](https://github.com/arunt14/spec-kit-staff-review) |
176
177
  | Status Report | Project status, feature progress, and next-action recommendations for spec-driven workflows | `visibility` | Read+Write | [Open-Agent-Tools/spec-kit-status](https://github.com/Open-Agent-Tools/spec-kit-status) |
177
178
  | Superpowers Bridge | Bridges selected Superpowers disciplines into Spec Kit as evidence-first trust gates for agent workflows. | `process` | Read+Write | [superpowers-bridge](https://github.com/RbBtSn0w/spec-kit-extensions/tree/main/superpowers-bridge) |
178
- | Superpowers Implementation Bridge | Thin orchestrator between Spec Kit (design) and Superpowers (implementation). Cross-agent. | `process` | Read+Write | [speckit-superpowers-bridge](https://github.com/lihan3238/speckit-superpowers-bridge) |
179
+ | Superpowers Implementation Bridge | Thin orchestrator between Spec Kit design artifacts and Superpowers implementation discipline. Cross-agent; verified for Codex and Claude Code. | `process` | Read+Write | [speckit-superpowers-bridge](https://github.com/lihan3238/speckit-superpowers-bridge) |
179
180
  | Superspec | Bridges spec-kit with obra/superpowers (brainstorming, TDD, subagent, code-review) into a unified, resumable workflow with graceful degradation and session progress tracking | `process` | Read+Write | [superspec](https://github.com/WangX0111/superspec) |
180
181
  | Taco Review | Packages Spec Kit features for human review and syncs edits and comments back. | `integration` | Read+Write | [taco](https://github.com/Arcadia822/taco) |
181
182
  | Tasks to GitHub Project | Publish and synchronize Spec Kit tasks as cards on a GitHub Project (v2) kanban board, with priority and status sync between spec.md/tasks.md and the board. | `integration` | Read+Write | [spec-kit-tasks-to-project](https://github.com/mancioshell/spec-kit-tasks-to-project) |
182
183
  | TDD Extension | Drives spec-kit implementation with tests: a language-agnostic red-green-refactor loop with a per-feature test list, recorded red and green evidence, and mutation-checked test strength. | `process` | Read+Write | [spec-kit-tdd](https://github.com/d0whc3r/spec-kit-tdd) |
183
184
  | Team Assign | Assign tasks.md items to human engineers, split into subtasks, and generate a per-engineer workboard | `process` | Read+Write | [spec-kit-team-assign](https://github.com/tarunkumarbhati/spec-kit-team-assign) |
184
185
  | Test Coverage Drift Control | Generate incremental coverage drift reports and planned remediation tasks after implementation | `code` | Read+Write | [spec-kit-test-coverage-drift-control](https://github.com/benizzio/spec-kit-test-coverage-drift-control) |
186
+ | Test Validation | Validate acceptance scenarios and run CSV-driven E2E tests against a live app via Playwright | `process` | Read+Write | [speckit-test-validate](https://github.com/andstepanuk/speckit-test-validate) |
185
187
  | ThreatSpec | STRIDE and AI/ML threat modeling with threat-to-test traceability and security convergence | `process` | Read+Write | [spec-kit-threatspec](https://github.com/hupe1980/spec-kit-threatspec) |
186
188
  | Time Machine | Retroactively apply the full SDD workflow to existing codebases — analyse, spec, and ship feature-by-feature | `process` | Read+Write | [spec-kit-time-machine](https://github.com/teeyo/spec-kit-time-machine) |
187
189
  | TinySpec | Lightweight single-file workflow for small tasks — skip the heavy multi-step SDD process | `process` | Read+Write | [spec-kit-tinyspec](https://github.com/Quratulain-bilal/spec-kit-tinyspec) |
@@ -20,3 +20,7 @@ Community projects that extend, visualize, or build on Spec Kit:
20
20
  - **[spec-kit-copilot](https://github.com/github/spec-kit-copilot)** — *First-party GitHub project.* A GitHub Copilot **skills plugin** that exposes the Spec Kit `specify` CLI to the Copilot agent in both the Copilot CLI and the GitHub Copilot app. It provides a focused skill per `specify` command group — setup, init, check, extensions, presets, bundles, workflows, workflow steps, and self-upgrade — so you can navigate and drive the entire Spec Kit ecosystem through natural language, letting Copilot decide when and how to run the right `specify` commands on your behalf.
21
21
 
22
22
  - **[Spec Kit Workflow Cockpit](https://github.com/markuswondrak/spec-kit-workflow-cockpit)** — A terminal control panel for running Spec Kit workflows locally. It replaces the fragmented CLI flow with a single live view: see the whole workflow at a glance, follow progress node by node, read and edit feature documents at human review gates without leaving the terminal, and make gate decisions from clearly presented options with confirmation. It also provides a `cockpit-run-context` skill that connects your interactive coding session directly to the current workflow run.
23
+
24
+ - **[Specstride](https://github.com/mairp/specstride)** — A standalone implementation orchestrator that consumes a Spec Kit feature's `tasks.md` and uses its `spec.md`, `plan.md`, and contracts as read-only context. It runs a coding agent (Claude Code, Codex, or a local model) through the task phases one at a time. Each phase advances only when a separate LLM critic approves its evidence against the acceptance criteria and the code. Stuck phases get a diagnostician and a narrowed retry. An opt-in loop learns per-phase settings from run telemetry and reverts any change that makes things worse.
25
+
26
+ - **[Raaghu Spec Kit](https://marketplace.visualstudio.com/items?itemName=Waiin.raaghu-speckit)** — Raaghu Spec Kit brings specification-driven development into Azure DevOps. PMs, BAs, and QAs can generate, review, and manage structured specs, delivery plans, task breakdowns, and quality checklists — then create and refine Azure Boards work items — all from a guided AI workspace inside your project. Works with Azure DevOps Services and Azure DevOps Server (on-premises).
@@ -0,0 +1,285 @@
1
+ # How Spec Kit Develops Spec Kit: An Agentic SDLC
2
+
3
+ Spec Kit's own development combines agentic work with conventional software
4
+ delivery. Agents assess feature requests, help develop substantial changes,
5
+ and investigate reported bugs. The project also uses Spec Kit itself where
6
+ its processes fit, while deterministic tests and releases remain ordinary
7
+ GitHub Actions and maintainers make the decisions to proceed or merge.
8
+
9
+ Public workflows and a historical feature provide the evidence for this case
10
+ study. They show different paths through the project's SDLC, including where
11
+ the project uses Spec Kit itself.
12
+
13
+ ## The project's software development life cycle
14
+
15
+ The traditional stages locate the project's practices across its SDLC.
16
+
17
+ ```mermaid
18
+ flowchart LR
19
+ P["Planning"] --> Q["Requirements"] --> D["Design"] --> I["Development"]
20
+ I --> T["Testing"] --> R["Deployment"] --> M["Maintenance"]
21
+ ```
22
+
23
+ These stages are a map, not a required sequence. Work can begin wherever
24
+ its starting material and goal call for it: a feature request in planning,
25
+ an existing change in testing, or a bug report in maintenance. Stages can
26
+ overlap, repeat, or be skipped; one feature issue can feed an assessment,
27
+ record requirements, and carry design discussion. The arrows show one
28
+ familiar path, not mandatory transitions between SDLC stages.
29
+ Feedback from maintenance can inform the next planning cycle.
30
+
31
+ ## Who does the work
32
+
33
+ These modes illustrate how work gets done here; they are not an exhaustive
34
+ taxonomy or inventory of activities. A stage can combine them.
35
+
36
+ **Regular automation.** Scripts and bots follow predefined rules to run
37
+ checks, propose dependency updates, and publish releases. They do not
38
+ interpret feature requests or choose designs.
39
+
40
+ **Agent automation.** A coding agent interprets context and produces an
41
+ assessment, SDD artifacts, a proposed change, or a test report. It may run
42
+ through a contributor-invoked Spec Kit command, a contributor's own agent,
43
+ or a label-triggered repository workflow. Running an agent on GitHub
44
+ Actions does not make its reasoning a deterministic script.
45
+
46
+ A star (&#9733;) marks agentic work: before prose paragraphs and after
47
+ timeline items. A person (&#128100;) highlights human contributions in the
48
+ stage narratives, including work done with an agent's help.
49
+
50
+ **Human work.** People can frame issues, discuss approaches, write or revise
51
+ changes, and review evidence, with or without an agent's help. Maintainers
52
+ apply labels to start repository workflows and decide whether to proceed
53
+ or merge. Those handoffs are human decisions, not evidence that people
54
+ authored every assessment, specification, fix, or test report.
55
+
56
+ ## How the project works at each stage
57
+
58
+ ### 1. Planning: assess feature requests
59
+
60
+ A feature can enter planning through the
61
+ [feature request form](https://github.com/github/spec-kit/blob/main/.github/ISSUE_TEMPLATE/feature_request.yml).
62
+ It asks for the problem, proposed solution, alternatives, component, and use
63
+ cases. The resulting issue starts with `needs-triage`; filing it does not
64
+ automatically launch an agent.
65
+
66
+ &#9733; When a feature request is labeled for assessment, the
67
+ [feature-assess agentic workflow](https://github.com/github/spec-kit/blob/main/.github/workflows/feature-assess.md)
68
+ provisions the Specify CLI from the checkout, installs Spec Kit's bundled
69
+ [`assess` extension](assessment.md), and follows its intake, research, define,
70
+ shape, and decide stages. The agent posts its evidence and a `go`,
71
+ `needs-clarification`, or `kill` verdict to the issue. **This is an agentic
72
+ workflow using Spec Kit itself.**
73
+
74
+ &#128100; Contributors frame the request; maintainers decide whether to
75
+ initiate assessment and how to act on its verdict. A `go` finding informs
76
+ that planning decision; it does not automatically open a feature PR or
77
+ start SDD.
78
+
79
+ ### 2. Requirements: record the intent in issues or specs
80
+
81
+ &#128100; Contributors can record early requirements in the same feature issue
82
+ through its problem statement, use cases, and acceptance criteria, then
83
+ clarify or revise the intent during discussion. For a bounded change, that
84
+ may be enough; it does not have to become an SDD `spec.md`.
85
+
86
+ &#9733; For substantial changes, contributors can instead expand the requirements
87
+ with Spec Kit's core SDD commands against the project's constitution. Spec Kit
88
+ used this process on itself in the
89
+ [historical bundler work](https://github.com/github/spec-kit/commit/3fd1e54d4b237af6124bb967e2eae24c93685a89):
90
+ the commit contains a constitution and feature specification for the
91
+ `specify bundle` command. This is evidence of **SDD dogfooding for that
92
+ feature**; the bundler work is distinct from the current `feature-assess`
93
+ workflow. The
94
+ [contribution guide](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#does-spec-kit-use-spec-kit)
95
+ asks contributors to test relevant changes with SDD while allowing small fixes
96
+ to use the normal issue and PR process. Generated `specs/` artifacts are
97
+ normally gitignored; the linked commit preserves a historical snapshot.
98
+
99
+ ### 3. Design: choose an approach at the right scale
100
+
101
+ &#128100; The feature form's proposed solution and alternatives can seed a
102
+ design discussion; contributors and maintainers can refine the approach
103
+ during PR review. A separate SDD plan is not required for every issue.
104
+ Larger changes need prior discussion and agreement with maintainers, as the
105
+ [contribution guide](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#submitting-a-pull-request)
106
+ explains. When decisions should remain useful across changes, the repository
107
+ keeps [CLI](https://github.com/github/spec-kit/blob/main/design/cli.md),
108
+ [integration](https://github.com/github/spec-kit/blob/main/design/integration.md),
109
+ and [workflow-step](https://github.com/github/spec-kit/blob/main/design/workflow-step.md)
110
+ design documents.
111
+
112
+ &#9733; The [bundler SDD snapshot](https://github.com/github/spec-kit/commit/3fd1e54d4b237af6124bb967e2eae24c93685a89)
113
+ illustrates the deeper path: its plan, research, data model, contracts, and
114
+ tasks made the design actionable through `/speckit.plan` and
115
+ `/speckit.tasks`. This shows where Spec Kit itself was used without
116
+ presenting that level of detail as the default for every change.
117
+
118
+ ### 4. Development: make reviewable changes
119
+
120
+ The [bundler implementation](https://github.com/github/spec-kit/pull/3070)
121
+ added `specify bundle` after the recorded SDD work. This is a concrete
122
+ specification-led feature in the project. Other bounded changes use the
123
+ ordinary issue, PR, review, and test process.
124
+
125
+ &#128100; Contributors can implement and revise changes directly or with an
126
+ agent's help. Maintainers review the resulting PR and its evidence, even
127
+ when an agent produced the proposed change.
128
+
129
+ &#9733; Contributors can use their own agents, independently of the repository's
130
+ workflows. Because that work may not be visible in a diff, the
131
+ [contribution policy](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#ai-contributions-in-spec-kit)
132
+ requires disclosure of the tool, model, settings or mode, and extent of AI
133
+ assistance. Agent-authored commits and comments need their own attribution;
134
+ the known bug-fix and community-catalog workflows are exempt because their
135
+ agent identity is inherent. Disclosure provides provenance, not a lower
136
+ evidence or review bar.
137
+
138
+ ### 5. Testing: verify both intent and behavior
139
+
140
+ &#9733; The bundler work includes a
141
+ [convergence pass](https://github.com/github/spec-kit/commit/de1c8ce6765f07cd1c4728a251b95adbfa3a8d07)
142
+ that appended a missing task. This is one example of Spec Kit's SDD process
143
+ checking implementation against intent rather than treating the first pass
144
+ as complete. The
145
+ [bug-test workflow](https://github.com/github/spec-kit/blob/main/.github/workflows/bug-test.md)
146
+ uses an agent to select relevant tests, but the test commands themselves
147
+ still run deterministically.
148
+
149
+ Separately, conventional GitHub Actions run
150
+ [Python tests and Ruff](https://github.com/github/spec-kit/blob/main/.github/workflows/test.yml),
151
+ [Markdown linting for documentation and ShellCheck for shell scripts](https://github.com/github/spec-kit/blob/main/.github/workflows/lint.yml),
152
+ and [CodeQL](https://github.com/github/spec-kit/blob/main/.github/workflows/codeql.yml)
153
+ on PRs and pushes to `main`. Agentic convergence complements those
154
+ independent checks.
155
+
156
+ &#128100; Contributors supply tests and reproduction evidence for changes;
157
+ maintainers assess whether the patch and evidence address the stated need,
158
+ not just whether the checks passed.
159
+
160
+ ### 6. Deployment: publish without an agent
161
+
162
+ The Spec Kit repository uses regular GitHub Actions for delivery. The
163
+ [manually dispatched release trigger](https://github.com/github/spec-kit/blob/main/.github/workflows/release-trigger.yml)
164
+ sets the version, creates a tag, and opens a release PR. The tag triggers a
165
+ conventional
166
+ [GitHub Release](https://github.com/github/spec-kit/blob/main/.github/workflows/release.yml).
167
+ A separately dispatched workflow
168
+ [builds and publishes to PyPI](https://github.com/github/spec-kit/blob/main/.github/workflows/publish-pypi.yml);
169
+ a `docs/` change on `main` triggers
170
+ [DocFX deployment](https://github.com/github/spec-kit/blob/main/.github/workflows/docs.yml).
171
+ These conventional Actions handle deterministic delivery without an agent
172
+ or a Spec Kit command.
173
+
174
+ &#128100; Maintainers choose when to start a release and whether to specify
175
+ a version rather than use the automatic patch increment. They later dispatch
176
+ PyPI publishing for that tag and review the release PR.
177
+
178
+ ### 7. Maintenance: investigate, repair, and learn
179
+
180
+ &#128100; Reporters supply observed and expected behavior and reproduction
181
+ steps through the
182
+ [bug report form](https://github.com/github/spec-kit/blob/main/.github/ISSUE_TEMPLATE/bug_report.yml).
183
+ Maintainers triage the report, choose when to request each agentic step,
184
+ and review the proposed fix and test evidence before merging. Reports can
185
+ arise before or after release; a newly discovered need can feed the next
186
+ planning cycle instead of being folded into a repair.
187
+
188
+ &#9733; The repository uses separate
189
+ [bug-assess](https://github.com/github/spec-kit/blob/main/.github/workflows/bug-assess.md),
190
+ [bug-fix](https://github.com/github/spec-kit/blob/main/.github/workflows/bug-fix.md),
191
+ and [bug-test](https://github.com/github/spec-kit/blob/main/.github/workflows/bug-test.md)
192
+ agentic workflows on issues. They separate diagnosis, remediation, and
193
+ verification with human-controlled handoffs; the fix is proposed as a draft
194
+ PR for maintainer review. **Today these project
195
+ workflows do not consume Spec Kit's bundled
196
+ [`bug` extension](bugfix.md)**, even though it offers a corresponding
197
+ assess, fix, test process for users. Having the workflows use that extension
198
+ is a direction for future work, not a current capability or a promised
199
+ release.
200
+
201
+ Agentic and conventional workflows both run on GitHub Actions. What changes
202
+ is whether an agent interprets evidence or proposes a change.
203
+ [Dependabot](https://github.com/github/spec-kit/blob/main/.github/dependabot.yml)
204
+ also proposes weekly pip and GitHub Actions dependency-update PRs for
205
+ maintainer review; it is conventional automation, not an agentic workflow.
206
+
207
+ ## Extensibility and community practice
208
+
209
+ Extensibility cuts across this SDLC: the project builds and distributes
210
+ processes as well as using them. The team ships the
211
+ [`assess` bundle](https://github.com/github/spec-kit/tree/main/bundles/assess)
212
+ and [`bugfix` bundle](https://github.com/github/spec-kit/tree/main/bundles/bugfix),
213
+ each combining an extension with a resumable *Spec Kit workflow* and a human
214
+ review gate. It also ships the
215
+ [`lean` preset](https://github.com/github/spec-kit/tree/main/presets/lean)
216
+ to demonstrate an alternative way of shaping core SDD guidance. These are
217
+ Spec Kit's own [extensions, presets, workflows, and bundles](customization.md),
218
+ not the repository's GitHub Actions workflows.
219
+
220
+ &#9733; Beyond core feature delivery, agentic community-submission workflows for
221
+ [extensions](https://github.com/github/spec-kit/blob/main/.github/workflows/add-community-extension.md),
222
+ [presets](https://github.com/github/spec-kit/blob/main/.github/workflows/add-community-preset.md),
223
+ and [bundles](https://github.com/github/spec-kit/blob/main/.github/workflows/add-community-bundle.md)
224
+ validate submission metadata and propose catalog changes in draft PRs for
225
+ maintainer review.
226
+
227
+ Catalog discovery does not audit or endorse community code; users must
228
+ review third-party components before use.
229
+
230
+ ## How we went from SDLC to an agentic SDLC
231
+
232
+ Agentic practices were layered into an existing SDLC, not substituted for
233
+ conventional checks and releases. The commit history shows how that mix
234
+ emerged over time. These are selected milestones, not an exhaustive
235
+ changelog. The same star marks agentic milestones, including use of Spec
236
+ Kit's SDD process; conventional automation and policies are unmarked.
237
+
238
+ | Month | What changed |
239
+ | --- | --- |
240
+ | August 2025 | <ul><li><a href="https://github.com/github/spec-kit/commit/28fdfaa8">GitHub Release automation</a> was added.</li></ul> |
241
+ | September 2025 | <ul><li><a href="https://github.com/github/spec-kit/commit/4b98c20f">Documentation deployment</a> was added.</li><li><a href="https://github.com/github/spec-kit/commit/6f3e450c">Contribution guidelines</a> began requiring disclosure of AI assistance, including contributor-run agents.</li></ul> |
242
+ | October 2025 | <ul><li><a href="https://github.com/github/spec-kit/commit/33a07969">Markdown linting</a> was added to PR and <code>main</code> checks.</li></ul> |
243
+ | February 2026 | <ul><li><a href="https://github.com/github/spec-kit/pull/1622">Dependabot</a> began proposing weekly pip and GitHub Actions dependency-update PRs.</li><li>A <a href="https://github.com/github/spec-kit/commit/9402ebd0">CodeQL workflow</a> was added for code scanning.</li><li><a href="https://github.com/github/spec-kit/pull/1637">Pytest CI</a> began running tests on PRs and pushes to <code>main</code>.</li><li><a href="https://github.com/github/spec-kit/pull/1637">Ruff linting</a> was added to the Python CI workflow.</li></ul> |
244
+ | May 2026 | <ul><li><a href="https://github.com/github/spec-kit/pull/2655">Extension submissions</a> gained catalog validation and draft PRs. &#9733;</li><li><a href="https://github.com/github/spec-kit/pull/2655">Preset submissions</a> gained catalog validation and draft PRs. &#9733;</li></ul> |
245
+ | June 2026 | <ul><li>An <a href="https://github.com/github/spec-kit/pull/3023">agentic bug-assess workflow</a> was added. &#9733;</li><li>The <a href="https://github.com/github/spec-kit/commit/3fd1e54d4b237af6124bb967e2eae24c93685a89">bundler feature</a> used Spec Kit's SDD process to produce its specification, plan, and tasks. &#9733;</li><li><a href="https://github.com/github/spec-kit/pull/2915">PyPI publishing</a> gained a conventional workflow.</li><li><a href="https://github.com/github/spec-kit/pull/3126">ShellCheck</a> began checking shell scripts in CI.</li></ul> |
246
+ | July 2026 | <ul><li><a href="https://github.com/github/spec-kit/pull/3258">Bug-fix</a> extended the agentic issue workflow with a human handoff. &#9733;</li><li><a href="https://github.com/github/spec-kit/pull/3257">Bug-test</a> added a separate verification stage. &#9733;</li><li><a href="https://github.com/github/spec-kit/pull/3553">Bundle submissions</a> gained catalog automation. &#9733;</li></ul> |
247
+ | August 2026 | <ul><li>The <a href="https://github.com/github/spec-kit/pull/4186">feature-assess workflow</a> began using Spec Kit's <code>assess</code> extension on feature requests. &#9733;</li></ul> |
248
+ | September 2026 | <ul><li><a href="https://github.com/github/spec-kit/pull/4512">AI disclosure</a> began requiring agent, model, settings, and extent.</li><li><a href="https://github.com/github/spec-kit/pull/4752">Contribution guidance</a> added attribution for agent-authored commits and comments.</li></ul> |
249
+
250
+ This was not a handoff from conventional automation to agents. Tests, lint,
251
+ scanning, and publishing kept repeatable work in GitHub Actions, while
252
+ disclosure made contributor-run agents visible. The project added agentic
253
+ catalog and bug workflows for bounded tasks, used SDD on a substantial
254
+ feature, and later made feature assessment consume Spec Kit's `assess`
255
+ extension. These were separate additions, not steps every issue must follow.
256
+
257
+ Together they give the project choices. For features, `assess` can inform a
258
+ human decision about a request; substantial implementation work can use SDD
259
+ to specify and plan it, as the bundler did. There is no automatic handoff
260
+ between those processes. A small change can stay in an issue and PR, while
261
+ a bug can move through human-gated assessment, repair, and verification.
262
+ Code changes still face conventional checks and maintainer review; issue
263
+ verdicts and catalog proposals have their own human gates.
264
+
265
+ ## A production practice, not a prescribed recipe
266
+
267
+ For this public open-source project, a new issue is untrusted input, not
268
+ permission to run an agent. A maintainer activates each repository-owned
269
+ agentic workflow with its label and decides when work advances; contributors
270
+ can also bring their own agents, subject to disclosure and review. These are
271
+ deliberate boundaries for this project, not inherent limits of Spec Kit.
272
+
273
+ A closed project with a different trust model could automate more handoffs
274
+ between assessment, specification, implementation, and testing, while
275
+ keeping permissions, evidence, and review appropriate to the risk. Spec Kit's
276
+ production mix is not a prescribed recipe: teams can adopt agents in
277
+ different places, with or without Spec Kit's processes. That mix can change
278
+ with the project's needs and practices.
279
+
280
+ Here, agentic does not mean human-free: contributors still bring problems,
281
+ requirements, and changes; maintainers steer product direction, guide
282
+ delivery, and review evidence. Conventional automation handles repeatable
283
+ checks and publishing, while agents help with bounded work that requires
284
+ interpretation. This division aims to focus human time on judgment, though
285
+ the timeline shows adoption rather than measured time savings.
@@ -78,8 +78,14 @@ ERROR: SPECIFY_INIT_DIR is not a Spec Kit project (no .specify/ directory): /hom
78
78
  ```
79
79
 
80
80
  `SPECIFY_INIT_DIR` selects the **project**; `SPECIFY_FEATURE_DIRECTORY` selects
81
- the **feature** within it. They compose: set both to pick a project and a
82
- feature non-interactively. See the
81
+ the **feature**. A relative feature path is joined to that project root
82
+ without a containment check, so a value like `../shared-feature` still
83
+ resolves outside it; an absolute path is used as-is and may likewise point
84
+ outside the project root. Either way, the selected feature directory is not
85
+ required to live inside it — the project root identifies the Spec Kit project
86
+ and its command/configuration context, not a containment boundary for feature
87
+ documents. They compose: set both to pick a project and a feature
88
+ non-interactively. See the
83
89
  [`SPECIFY_INIT_DIR` reference](../reference/core.md#environment-variables) for
84
90
  the full contract and the two-axes model.
85
91
 
@@ -27,6 +27,9 @@ These are independent entry points, not mandatory phases. SDD ships in core.
27
27
  Bug fixing and assessment are bundled, opt-in extensions. Assessment can stand
28
28
  alone; a decision to proceed does not automatically start implementation.
29
29
 
30
+ See [how the Spec Kit project runs its agentic SDLC](guides/agentic-sdlc.md)
31
+ and where it uses Spec Kit itself.
32
+
30
33
  Adding Spec Kit to an established codebase? Start with the
31
34
  [existing-project guide](guides/existing-projects.md).
32
35
 
@@ -139,6 +142,10 @@ Community extensions like CI Guard and Architecture Guard add compliance gates a
139
142
  ## Explore the docs
140
143
 
141
144
  <div class="nav-cards">
145
+ <a href="guides/agentic-sdlc.md" class="nav-card">
146
+ <strong>Spec Kit's Agentic SDLC</strong>
147
+ <span>How this project assesses, builds, tests, ships, and repairs changes</span>
148
+ </a>
142
149
  <a href="quickstart.md" class="nav-card">
143
150
  <strong>Spec-Driven Development</strong>
144
151
  <span>Define, plan, implement, and converge on a feature</span>
@@ -198,4 +205,4 @@ Ready to start? [Choose your process](#choose-your-process).
198
205
 
199
206
  </div>
200
207
 
201
- <p class="text-end small text-body-secondary">Last updated: September 14, 2026</p>
208
+ <p class="text-end small text-body-secondary">Last updated: September 28, 2026</p>
@@ -147,7 +147,12 @@ After initialization, you should see the following commands available in your co
147
147
  - `/speckit.checklist` - Generate quality checklists
148
148
  - `/speckit.constitution` - Create or update project principles
149
149
  - `/speckit.converge` - Assess codebase against artifacts and append remaining tasks
150
- - `/speckit.taskstoissues` - Convert tasks to issues
150
+ - `/speckit.taskstoissues` - Convert tasks to issues (moving to the bundled `github` extension as
151
+ `/speckit.github.taskstoissues`; install it with `specify extension add github`)
152
+
153
+ The `generic` integration scaffolds core commands or skills, but does not
154
+ register extension add-ons; installing `github` there does not make its
155
+ replacement command invokable. See the [GitHub extension's installation notes](https://github.com/github/spec-kit/blob/main/extensions/github/README.md#installation).
151
156
 
152
157
  Scripts are installed into a variant subdirectory matching the chosen script type:
153
158
 
@@ -171,3 +171,6 @@ This command requires a GitHub `origin` remote and access to the GitHub MCP tool
171
171
  for listing and creating issues. It creates issues only in the repository
172
172
  identified by that remote and checks existing task IDs to avoid duplicates.
173
173
  It is not required to implement tasks or converge on a feature.
174
+
175
+ > [!NOTE]
176
+ > GitHub issue tracking is moving out of core into the bundled, opt-in [`github` extension](https://github.com/github/spec-kit/blob/main/extensions/github/README.md). `/speckit.taskstoissues` still works and is unchanged, but its replacement, `/speckit.github.taskstoissues`, is available via `specify extension add github` for integrations that register extension add-ons. The `generic` integration does not register them in either commands or skills mode; see the [installation and migration notes](https://github.com/github/spec-kit/blob/main/extensions/github/README.md#installation).
@@ -174,6 +174,8 @@ from; `discovery-only` sources appear in `search` and `info` but refuse
174
174
  installation. Inspect the active stack before installing a bundle from a
175
175
  non-default source.
176
176
 
177
+ > **Vet both the bundle source and its component catalogs.** A project can supply its own bundle catalog and `install-allowed` component catalogs (extension, preset, workflow, and step) under `.specify/`; that project configuration existing is not evidence anything in it was reviewed. Before installing a bundle from an unfamiliar project, run `specify bundle catalog list` — and the equivalent `extension`/`preset`/`workflow catalog list` and `specify workflow step catalog list` commands for the components it pulls in — and treat any source you didn't add yourself as unvetted until you've reviewed it.
178
+
177
179
  ### List the Catalog Stack
178
180
 
179
181
  ```bash
@@ -52,11 +52,11 @@ specify init my-project --integration copilot --preset compliance
52
52
  | ----------------- | ------------------------------------------------------------------------ |
53
53
  | `SPECKIT_INTEGRATION_DEFAULT` | Override the fallback integration used by `specify init` when `--integration` is omitted (interactive prompt default and non-interactive fallback). Set it to any registered integration key (e.g. `gemini`, `claude`). An unrecognized value is ignored with a warning and the built-in default (`copilot`) is used. An explicit `--integration <key>` always takes precedence. |
54
54
  | `SPECIFY_INIT_DIR` | Target a member project from outside its directory (e.g. a monorepo root) without `cd`, for non-interactive / CI use. Set it to the **project root** — the directory *containing* `.specify/` (relative paths resolve against the current directory). The path must exist and contain `.specify/`, otherwise the command errors and does **not** fall back to the current directory. Resolved once in the core root helper (`get_repo_root` in Bash, `Get-RepoRoot` in PowerShell), so it is honored by the core feature scripts (`/speckit.plan`, `/speckit.tasks`, …) and the Git extension's feature-branch creation, which inherit it. The `specify` CLI applies the **same** validation rules to every project-scoped subcommand (`specify integration …`, `specify extension …`, `specify workflow …`, `specify preset …`, and the rest that operate on a `.specify/` project), so those can target a member project too. When unset, Bash/PowerShell helpers keep their existing upward search; the `specify` CLI keeps its project-scoped resolver cwd-only unless a command explicitly defines broader detection (for example, bundle commands). |
55
- | `SPECIFY_FEATURE_DIRECTORY` | Override the active feature directory *within* the resolved project (takes precedence over `.specify/feature.json`). Relative paths resolve under the project root. Combine with `SPECIFY_INIT_DIR` to pick both the project and the feature non-interactively. |
55
+ | `SPECIFY_FEATURE_DIRECTORY` | Override the active feature directory (takes precedence over `.specify/feature.json`). A relative path is joined to the project root without a containment check, so a value like `../shared-feature` still resolves outside it; an absolute path is used as-is and may likewise point outside the project root. The project root still identifies the Spec Kit project and its command/configuration context, but the selected feature directory itself is not required to live under it. Combine with `SPECIFY_INIT_DIR` to pick both the project and the feature non-interactively. |
56
56
  | `SPECIFY_FEATURE` | Explicitly override the active feature **label** (e.g. `001-photo-albums`) — the identifier the core helpers report as the current feature/branch (`get_current_branch` in Bash, `Get-CurrentBranch` in PowerShell). Those helpers never inspect Git: when the variable is set they return it verbatim, and when it is unset they return an empty string. The basename fallback happens later — `get_feature_paths` / `Get-FeaturePathsEnv` substitute the resolved feature directory's basename so the reported label is still usable — so calling the named helpers directly does **not** give you that fallback. You set it yourself: the Bash and Python feature scripts only **print** a commented `export SPECIFY_FEATURE=…` / `$env:SPECIFY_FEATURE = …` hint for you to run, because a child process cannot change its parent's environment, and `/speckit.specify` persists `feature_directory` to `.specify/feature.json` instead of setting this variable. (The PowerShell feature scripts do assign `$env:SPECIFY_FEATURE`, but that only reaches you when the script runs inside your current PowerShell session.) It does **not** locate the feature directory: with only `SPECIFY_FEATURE` set, `get_feature_paths` fails with *"Feature directory not found. Set `SPECIFY_FEATURE_DIRECTORY` or run the specify command to create `.specify/feature.json`."* Use `SPECIFY_FEATURE_DIRECTORY` (above) or `.specify/feature.json` to select the directory. |
57
57
  | `SPECIFY_FEATURE_NO_PERSIST` | Set to `1` or `true` to stop every core script from writing `.specify/feature.json`, even when it would otherwise persist `SPECIFY_FEATURE_DIRECTORY` on read. Useful when multiple agents run concurrently against the same checkout, each with its own `SPECIFY_FEATURE_DIRECTORY`: without it, each invocation's persist step can overwrite another agent's pinned feature directory. |
58
58
 
59
- > **Two resolution axes.** `SPECIFY_INIT_DIR` selects the **project** (which directory contains `.specify/`); `SPECIFY_FEATURE_DIRECTORY` / `.specify/feature.json` select the **feature** within that project. They are independent — project first, then feature.
59
+ > **Two resolution axes.** `SPECIFY_INIT_DIR` selects the **project** (which directory contains `.specify/`); `SPECIFY_FEATURE_DIRECTORY` / `.specify/feature.json` select the **feature** — its default location is under `specs/` in that project, but an explicitly selected feature directory is not restricted to living inside it. They are independent — project first, then feature.
60
60
  >
61
61
  > **Version control.** `specify init` scaffolds a managed `.specify/.gitignore` that excludes machine-local state — `feature.json` (the current-feature pointer, rewritten on every feature switch) and per-machine extension `extensions/*/local-config.yml` overrides — while leaving everything else under `.specify/` (constitution, templates, scripts, extension config) shareable so teams stay aligned. Like the rest of `.specify/`'s shared scripts and templates, the file is tracked in the shared-infrastructure manifest: your edits are preserved on re-init and `specify init --here --force` restores the managed content. It is intentionally left in place by `specify integration uninstall`, which only removes the uninstalled agent's own files.
62
62
  >
@@ -33,6 +33,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
33
33
  | [Kimi Code](https://code.kimi.com/) | `kimi` | Skills-based integration; installs into `.kimi-code/skills/`. `--migrate-legacy` moves old `.kimi/skills/` installs to the new paths |
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
+ | [MiniMax Code](https://github.com/MiniMax-AI/minimax-code) | `mcode` | Skills-based integration; installs skills into `.minimax/skills` and invokes them as `/speckit-<command>`. Headless workflow dispatch uses `--permission full` so tool actions are not blocked by headless permission gating; set `SPECKIT_INTEGRATION_MCODE_EXTRA_ARGS="--permission smart"` to use MiniMax Code's stricter policy. |
36
37
  | [Mistral Vibe](https://github.com/mistralai/mistral-vibe) | `vibe` | |
37
38
  | [Muse Code](https://dev.meta.ai/docs/muse-code) | `muse` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `/speckit-<command>` |
38
39
  | [Oh My Pi](https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent) | `omp` | Installs slash commands into `.omp/commands` |
@@ -317,6 +318,7 @@ The currently declared multi-install safe integrations are:
317
318
  | `kilocode` | `.kilo/commands` |
318
319
  | `kiro-cli` | `.kiro/prompts` |
319
320
  | `lingma` | `.lingma/skills` |
321
+ | `mcode` | `.minimax/skills` |
320
322
  | `omp` | `.omp/commands` |
321
323
  | `opencode` | `.opencode/commands` |
322
324
  | `pi` | `.pi/prompts` |
@@ -138,6 +138,8 @@ Changes the resolution priority of an installed preset. Lower numbers take prece
138
138
 
139
139
  Preset catalogs control where `search` and `add` look for presets. Catalogs are checked in priority order (lower number = higher precedence).
140
140
 
141
+ > **A project's `.specify/preset-catalogs.yml` can point `add` and `search` at a catalog you didn't choose.** Before installing a preset in an unfamiliar project, run `specify preset catalog list` and inspect any catalog marked install-allowed — a project supplying that config, or marking a catalog install-allowed, is not evidence its presets were reviewed. Only mark a catalog `install_allowed` for one you authored or have vetted yourself; leave unfamiliar and community catalogs discovery-only.
142
+
141
143
  ### List Catalogs
142
144
 
143
145
  ```bash
@@ -156,7 +158,7 @@ specify preset catalog add <url>
156
158
  | -------------------------------------------- | -------------------------------------------------- |
157
159
  | `--name <name>` | Required. Unique name for the catalog |
158
160
  | `--priority <N>` | Priority (default: 10; lower = higher precedence) |
159
- | `--install-allowed / --no-install-allowed` | Whether presets can be installed from this catalog (default: discovery only) |
161
+ | `--install-allowed / --no-install-allowed` | Whether presets can be installed from this catalog (default: discovery only). Only enable for a catalog you own and vet; never enable it for an unvetted public catalog. |
160
162
  | `--description <text>` | Optional description |
161
163
 
162
164
  Adds a catalog to the project's `.specify/preset-catalogs.yml`.