specify-cli 1.1.1__tar.gz → 1.1.2__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 (900) hide show
  1. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/ISSUE_TEMPLATE/bundle_submission.yml +2 -2
  2. specify_cli-1.1.2/.github/ISSUE_TEMPLATE/workflow_step_submission.yml +254 -0
  3. {specify_cli-1.1.1 → specify_cli-1.1.2}/AGENTS.md +12 -4
  4. {specify_cli-1.1.1 → specify_cli-1.1.2}/CHANGELOG.md +25 -0
  5. {specify_cli-1.1.1 → specify_cli-1.1.2}/PKG-INFO +1 -1
  6. {specify_cli-1.1.1 → specify_cli-1.1.2}/design/cli.md +101 -39
  7. specify_cli-1.1.2/design/mcp.md +670 -0
  8. specify_cli-1.1.2/design/shared.md +424 -0
  9. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/community/extensions.md +2 -1
  10. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/community/overview.md +10 -2
  11. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/community/presets.md +1 -1
  12. specify_cli-1.1.2/docs/community/workflow-steps.md +129 -0
  13. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/bundles.md +40 -0
  14. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/extensions.md +22 -0
  15. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/presets.md +17 -0
  16. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/workflows.md +6 -1
  17. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/toc.yml +2 -0
  18. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/catalog.community.json +60 -9
  19. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/catalog.community.json +15 -12
  20. {specify_cli-1.1.1 → specify_cli-1.1.2}/pyproject.toml +1 -1
  21. specify_cli-1.1.2/src/specify_cli/_installed_info_json.py +119 -0
  22. specify_cli-1.1.2/src/specify_cli/_operation_version.py +116 -0
  23. specify_cli-1.1.2/src/specify_cli/artifacts/_mcp.py +92 -0
  24. specify_cli-1.1.2/src/specify_cli/artifacts/_operation_list.py +256 -0
  25. specify_cli-1.1.2/src/specify_cli/artifacts/command_list.py +60 -0
  26. specify_cli-1.1.2/src/specify_cli/artifacts/mcp_list.py +397 -0
  27. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/catalog_stack.py +15 -2
  28. specify_cli-1.1.2/src/specify_cli/bundles/catalog_versions.py +154 -0
  29. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/catalogs.py +36 -20
  30. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/command_add.py +6 -0
  31. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/command_info.py +34 -0
  32. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/command_install.py +19 -1
  33. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/project.py +41 -17
  34. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/sources.py +8 -20
  35. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/versioning.py +14 -1
  36. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/yamlio.py +11 -1
  37. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/command_version.py +55 -42
  38. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/command_info.py +19 -1
  39. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/mcp_server/server.py +15 -3
  40. specify_cli-1.1.2/src/specify_cli/mcp_version.py +164 -0
  41. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/command_info.py +19 -1
  42. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/catalog/_domain.py +32 -27
  43. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/operations.py +12 -1
  44. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/catalog/_domain.py +32 -27
  45. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/gate/__init__.py +30 -2
  46. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/contract/test_catalog_schema.py +100 -0
  47. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/artifacts/test_command_list.py +98 -9
  48. specify_cli-1.1.2/tests/specify_cli/artifacts/test_mcp_list.py +1120 -0
  49. specify_cli-1.1.2/tests/specify_cli/artifacts/test_operation_list.py +308 -0
  50. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_adapters.py +41 -0
  51. specify_cli-1.1.2/tests/specify_cli/bundles/test_catalog_stack.py +294 -0
  52. specify_cli-1.1.2/tests/specify_cli/bundles/test_catalog_versions.py +259 -0
  53. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_command_add.py +15 -0
  54. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_command_info.py +121 -0
  55. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_command_install.py +43 -0
  56. specify_cli-1.1.2/tests/specify_cli/bundles/test_command_install_version.py +388 -0
  57. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_security_paths.py +122 -0
  58. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_sources.py +18 -3
  59. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_versioning.py +47 -0
  60. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/mcp_server/test_server.py +12 -2
  61. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/mcp_server/test_stdio.py +30 -1
  62. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_command_version.py +42 -0
  63. specify_cli-1.1.2/tests/specify_cli/test_mcp_version.py +392 -0
  64. specify_cli-1.1.2/tests/specify_cli/test_operation_version.py +139 -0
  65. specify_cli-1.1.2/tests/specify_cli/workflows/catalog/test_command_remove.py +64 -0
  66. specify_cli-1.1.2/tests/specify_cli/workflows/step/catalog/test_command_remove.py +68 -0
  67. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_resolve.py +53 -0
  68. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_github_workflows.py +153 -4
  69. specify_cli-1.1.2/tests/test_installed_info_json.py +333 -0
  70. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_workflows.py +237 -0
  71. {specify_cli-1.1.1 → specify_cli-1.1.2}/workflows/README.md +3 -1
  72. specify_cli-1.1.1/src/specify_cli/artifacts/command_list.py +0 -42
  73. specify_cli-1.1.1/tests/specify_cli/bundles/test_catalog_stack.py +0 -141
  74. specify_cli-1.1.1/tests/specify_cli/workflows/catalog/test_command_remove.py +0 -19
  75. specify_cli-1.1.1/tests/specify_cli/workflows/step/catalog/test_command_remove.py +0 -23
  76. {specify_cli-1.1.1 → specify_cli-1.1.2}/.devcontainer/devcontainer.json +0 -0
  77. {specify_cli-1.1.1 → specify_cli-1.1.2}/.devcontainer/post-create.sh +0 -0
  78. {specify_cli-1.1.1 → specify_cli-1.1.2}/.editorconfig +0 -0
  79. {specify_cli-1.1.1 → specify_cli-1.1.2}/.gitattributes +0 -0
  80. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/CODEOWNERS +0 -0
  81. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/ISSUE_TEMPLATE/agent_request.yml +0 -0
  82. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  83. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  84. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
  85. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  86. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
  87. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  88. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/aw/actions-lock.json +0 -0
  89. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/dependabot.yml +0 -0
  90. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/scripts/check_extension_version_bump.py +0 -0
  91. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/scripts/check_security_requirements.py +0 -0
  92. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/scripts/validate_community_preset.py +0 -0
  93. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/security-audit-requirements.txt +0 -0
  94. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/skills/add-community-extension/SKILL.md +0 -0
  95. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/skills/code-review/SKILL.md +0 -0
  96. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/RELEASE-PROCESS.md +0 -0
  97. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/add-community-bundle.lock.yml +0 -0
  98. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/add-community-bundle.md +0 -0
  99. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/add-community-extension.lock.yml +0 -0
  100. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/add-community-extension.md +0 -0
  101. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/add-community-preset.lock.yml +0 -0
  102. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/add-community-preset.md +0 -0
  103. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/bug-assess.lock.yml +0 -0
  104. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/bug-assess.md +0 -0
  105. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/bug-fix.lock.yml +0 -0
  106. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/bug-fix.md +0 -0
  107. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/bug-test.lock.yml +0 -0
  108. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/bug-test.md +0 -0
  109. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/catalog-assign.yml +0 -0
  110. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/codeql.yml +0 -0
  111. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/docs.yml +0 -0
  112. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/extension-version-guard.yml +0 -0
  113. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/feature-assess.lock.yml +0 -0
  114. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/feature-assess.md +0 -0
  115. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/lint.yml +0 -0
  116. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/publish-pypi.yml +0 -0
  117. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/release-trigger.yml +0 -0
  118. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/release.yml +0 -0
  119. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/security.yml +0 -0
  120. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/stale.yml +0 -0
  121. {specify_cli-1.1.1 → specify_cli-1.1.2}/.github/workflows/test.yml +0 -0
  122. {specify_cli-1.1.1 → specify_cli-1.1.2}/.gitignore +0 -0
  123. {specify_cli-1.1.1 → specify_cli-1.1.2}/.markdownlint-cli2.jsonc +0 -0
  124. {specify_cli-1.1.1 → specify_cli-1.1.2}/.pre-commit-config.yaml +0 -0
  125. {specify_cli-1.1.1 → specify_cli-1.1.2}/.zenodo.json +0 -0
  126. {specify_cli-1.1.1 → specify_cli-1.1.2}/CITATION.cff +0 -0
  127. {specify_cli-1.1.1 → specify_cli-1.1.2}/CODE_OF_CONDUCT.md +0 -0
  128. {specify_cli-1.1.1 → specify_cli-1.1.2}/CONTRIBUTING.md +0 -0
  129. {specify_cli-1.1.1 → specify_cli-1.1.2}/DEVELOPMENT.md +0 -0
  130. {specify_cli-1.1.1 → specify_cli-1.1.2}/LICENSE +0 -0
  131. {specify_cli-1.1.1 → specify_cli-1.1.2}/README.ja.md +0 -0
  132. {specify_cli-1.1.1 → specify_cli-1.1.2}/README.md +0 -0
  133. {specify_cli-1.1.1 → specify_cli-1.1.2}/README.zh-CN.md +0 -0
  134. {specify_cli-1.1.1 → specify_cli-1.1.2}/SECURITY.md +0 -0
  135. {specify_cli-1.1.1 → specify_cli-1.1.2}/SUPPORT.md +0 -0
  136. {specify_cli-1.1.1 → specify_cli-1.1.2}/bundles/assess/README.md +0 -0
  137. {specify_cli-1.1.1 → specify_cli-1.1.2}/bundles/assess/bundle.yml +0 -0
  138. {specify_cli-1.1.1 → specify_cli-1.1.2}/bundles/bugfix/README.md +0 -0
  139. {specify_cli-1.1.1 → specify_cli-1.1.2}/bundles/bugfix/bundle.yml +0 -0
  140. {specify_cli-1.1.1 → specify_cli-1.1.2}/bundles/catalog.community.json +0 -0
  141. {specify_cli-1.1.1 → specify_cli-1.1.2}/bundles/catalog.json +0 -0
  142. {specify_cli-1.1.1 → specify_cli-1.1.2}/design/integration.md +0 -0
  143. {specify_cli-1.1.1 → specify_cli-1.1.2}/design/workflow-step.md +0 -0
  144. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/.gitignore +0 -0
  145. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/README.md +0 -0
  146. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/community/bundles.md +0 -0
  147. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/community/friends.md +0 -0
  148. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/community/walkthroughs.md +0 -0
  149. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/concepts/complex-features.md +0 -0
  150. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/concepts/sdd.md +0 -0
  151. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/concepts/spec-of-specs.md +0 -0
  152. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/concepts/spec-persistence.md +0 -0
  153. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/docfx.json +0 -0
  154. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/guides/agentic-sdlc.md +0 -0
  155. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/guides/assessment.md +0 -0
  156. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/guides/bugfix.md +0 -0
  157. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/guides/contract-driven-development.md +0 -0
  158. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/guides/customization.md +0 -0
  159. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/guides/evolving-specs.md +0 -0
  160. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/guides/existing-projects.md +0 -0
  161. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/guides/monorepo.md +0 -0
  162. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/history.md +0 -0
  163. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/images/spec-kit-logo.webp +0 -0
  164. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/index.md +0 -0
  165. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/install/air-gapped.md +0 -0
  166. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/install/one-time.md +0 -0
  167. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/install/pipx.md +0 -0
  168. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/install/pypi.md +0 -0
  169. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/install/uv.md +0 -0
  170. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/installation.md +0 -0
  171. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/local-development.md +0 -0
  172. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/quickstart.md +0 -0
  173. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/agentic-assessment.md +0 -0
  174. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/agentic-bugfix.md +0 -0
  175. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/agentic-sdd.md +0 -0
  176. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/artifacts.md +0 -0
  177. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/authentication.md +0 -0
  178. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/core.md +0 -0
  179. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/integrations.md +0 -0
  180. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/mcp.md +0 -0
  181. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/reference/overview.md +0 -0
  182. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/template/public/main.css +0 -0
  183. {specify_cli-1.1.1 → specify_cli-1.1.2}/docs/upgrade.md +0 -0
  184. {specify_cli-1.1.1 → specify_cli-1.1.2}/examples/bundles/business-analyst/README.md +0 -0
  185. {specify_cli-1.1.1 → specify_cli-1.1.2}/examples/bundles/business-analyst/bundle.yml +0 -0
  186. {specify_cli-1.1.1 → specify_cli-1.1.2}/examples/bundles/developer/README.md +0 -0
  187. {specify_cli-1.1.1 → specify_cli-1.1.2}/examples/bundles/developer/bundle.yml +0 -0
  188. {specify_cli-1.1.1 → specify_cli-1.1.2}/examples/bundles/product-manager/README.md +0 -0
  189. {specify_cli-1.1.1 → specify_cli-1.1.2}/examples/bundles/product-manager/bundle.yml +0 -0
  190. {specify_cli-1.1.1 → specify_cli-1.1.2}/examples/bundles/security-researcher/README.md +0 -0
  191. {specify_cli-1.1.1 → specify_cli-1.1.2}/examples/bundles/security-researcher/bundle.yml +0 -0
  192. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/EXTENSION-API-REFERENCE.md +0 -0
  193. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +0 -0
  194. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -0
  195. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/EXTENSION-USER-GUIDE.md +0 -0
  196. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/README.md +0 -0
  197. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
  198. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/agent-context/README.md +0 -0
  199. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/agent-context/agent-context-config.yml +0 -0
  200. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/agent-context/agent-context-defaults.json +0 -0
  201. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
  202. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/agent-context/extension.yml +0 -0
  203. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
  204. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
  205. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
  206. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/assess/README.md +0 -0
  207. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/assess/commands/speckit.assess.decide.md +0 -0
  208. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/assess/commands/speckit.assess.define.md +0 -0
  209. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/assess/commands/speckit.assess.intake.md +0 -0
  210. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/assess/commands/speckit.assess.research.md +0 -0
  211. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/assess/commands/speckit.assess.shape.md +0 -0
  212. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/assess/extension.yml +0 -0
  213. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/bug/README.md +0 -0
  214. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/bug/commands/speckit.bug.assess.md +0 -0
  215. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/bug/commands/speckit.bug.fix.md +0 -0
  216. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/bug/commands/speckit.bug.test.md +0 -0
  217. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/bug/extension.yml +0 -0
  218. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/catalog.json +0 -0
  219. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/README.md +0 -0
  220. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/commands/speckit.git.commit.md +0 -0
  221. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/commands/speckit.git.feature.md +0 -0
  222. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/commands/speckit.git.initialize.md +0 -0
  223. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/commands/speckit.git.remote.md +0 -0
  224. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/commands/speckit.git.validate.md +0 -0
  225. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/config-template.yml +0 -0
  226. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/extension.yml +0 -0
  227. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/git-config.yml +0 -0
  228. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/bash/auto-commit.sh +0 -0
  229. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/bash/create-new-feature-branch.sh +0 -0
  230. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/bash/git-common.sh +0 -0
  231. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
  232. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
  233. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +0 -0
  234. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
  235. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
  236. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/python/auto_commit.py +0 -0
  237. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/python/create_new_feature_branch.py +0 -0
  238. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/python/git_common.py +0 -0
  239. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/git/scripts/python/initialize_repo.py +0 -0
  240. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/github/README.md +0 -0
  241. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/github/commands/speckit.github.taskstoissues.md +0 -0
  242. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/github/extension.yml +0 -0
  243. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/github/scripts/bash/resolve-tasks.sh +0 -0
  244. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/github/scripts/powershell/resolve-tasks.ps1 +0 -0
  245. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/github/scripts/python/resolve_tasks.py +0 -0
  246. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/selftest/commands/selftest.md +0 -0
  247. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/selftest/extension.yml +0 -0
  248. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/template/.gitignore +0 -0
  249. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/template/CHANGELOG.md +0 -0
  250. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/template/EXAMPLE-README.md +0 -0
  251. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/template/LICENSE +0 -0
  252. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/template/README.md +0 -0
  253. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/template/commands/example.md +0 -0
  254. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/template/config-template.yml +0 -0
  255. {specify_cli-1.1.1 → specify_cli-1.1.2}/extensions/template/extension.yml +0 -0
  256. {specify_cli-1.1.1 → specify_cli-1.1.2}/integrations/CONTRIBUTING.md +0 -0
  257. {specify_cli-1.1.1 → specify_cli-1.1.2}/integrations/README.md +0 -0
  258. {specify_cli-1.1.1 → specify_cli-1.1.2}/integrations/catalog.community.json +0 -0
  259. {specify_cli-1.1.1 → specify_cli-1.1.2}/integrations/catalog.json +0 -0
  260. {specify_cli-1.1.1 → specify_cli-1.1.2}/media/bootstrap-claude-code.gif +0 -0
  261. {specify_cli-1.1.1 → specify_cli-1.1.2}/media/logo_large.webp +0 -0
  262. {specify_cli-1.1.1 → specify_cli-1.1.2}/media/logo_small.webp +0 -0
  263. {specify_cli-1.1.1 → specify_cli-1.1.2}/media/spec-kit-video-header.jpg +0 -0
  264. {specify_cli-1.1.1 → specify_cli-1.1.2}/media/specify_cli.gif +0 -0
  265. {specify_cli-1.1.1 → specify_cli-1.1.2}/newsletters/2026-April.md +0 -0
  266. {specify_cli-1.1.1 → specify_cli-1.1.2}/newsletters/2026-August.md +0 -0
  267. {specify_cli-1.1.1 → specify_cli-1.1.2}/newsletters/2026-February.md +0 -0
  268. {specify_cli-1.1.1 → specify_cli-1.1.2}/newsletters/2026-July.md +0 -0
  269. {specify_cli-1.1.1 → specify_cli-1.1.2}/newsletters/2026-June.md +0 -0
  270. {specify_cli-1.1.1 → specify_cli-1.1.2}/newsletters/2026-March.md +0 -0
  271. {specify_cli-1.1.1 → specify_cli-1.1.2}/newsletters/2026-May.md +0 -0
  272. {specify_cli-1.1.1 → specify_cli-1.1.2}/newsletters/2026-September.md +0 -0
  273. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/ARCHITECTURE.md +0 -0
  274. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/PUBLISHING.md +0 -0
  275. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/README.md +0 -0
  276. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/catalog.json +0 -0
  277. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/constitution-sync/README.md +0 -0
  278. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
  279. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/constitution-sync/preset.yml +0 -0
  280. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/lean/README.md +0 -0
  281. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/lean/commands/speckit.constitution.md +0 -0
  282. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/lean/commands/speckit.implement.md +0 -0
  283. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/lean/commands/speckit.plan.md +0 -0
  284. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/lean/commands/speckit.specify.md +0 -0
  285. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/lean/commands/speckit.tasks.md +0 -0
  286. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/lean/preset.yml +0 -0
  287. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/scaffold/README.md +0 -0
  288. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
  289. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/scaffold/commands/speckit.specify.md +0 -0
  290. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/scaffold/preset.yml +0 -0
  291. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/scaffold/templates/myext-template.md +0 -0
  292. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/scaffold/templates/spec-template.md +0 -0
  293. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/self-test/commands/speckit.specify.md +0 -0
  294. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/self-test/commands/speckit.wrap-test.md +0 -0
  295. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/self-test/preset.yml +0 -0
  296. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/self-test/templates/checklist-template.md +0 -0
  297. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/self-test/templates/constitution-template.md +0 -0
  298. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/self-test/templates/plan-template.md +0 -0
  299. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/self-test/templates/spec-template.md +0 -0
  300. {specify_cli-1.1.1 → specify_cli-1.1.2}/presets/self-test/templates/tasks-template.md +0 -0
  301. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/bash/check-prerequisites.sh +0 -0
  302. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/bash/common.sh +0 -0
  303. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/bash/create-new-feature.sh +0 -0
  304. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/bash/resolve-template.sh +0 -0
  305. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/bash/setup-plan.sh +0 -0
  306. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/bash/setup-tasks.sh +0 -0
  307. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/powershell/check-prerequisites.ps1 +0 -0
  308. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/powershell/common.ps1 +0 -0
  309. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/powershell/create-new-feature.ps1 +0 -0
  310. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/powershell/resolve-template.ps1 +0 -0
  311. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/powershell/setup-plan.ps1 +0 -0
  312. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/powershell/setup-tasks.ps1 +0 -0
  313. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/python/check_prerequisites.py +0 -0
  314. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/python/common.py +0 -0
  315. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/python/create_new_feature.py +0 -0
  316. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/python/resolve_template.py +0 -0
  317. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/python/setup_plan.py +0 -0
  318. {specify_cli-1.1.1 → specify_cli-1.1.2}/scripts/python/setup_tasks.py +0 -0
  319. {specify_cli-1.1.1 → specify_cli-1.1.2}/spec-driven.md +0 -0
  320. {specify_cli-1.1.1 → specify_cli-1.1.2}/spec-kit.code-workspace +0 -0
  321. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/__init__.py +0 -0
  322. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/_agent_config.py +0 -0
  323. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/_assets.py +0 -0
  324. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/_console.py +0 -0
  325. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/_download_security.py +0 -0
  326. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/_init_options.py +0 -0
  327. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/_installed_list_json.py +0 -0
  328. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/_invocation_style.py +0 -0
  329. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/_project.py +0 -0
  330. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/_toml_string.py +0 -0
  331. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/_utils.py +0 -0
  332. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/_version.py +0 -0
  333. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/agents.py +0 -0
  334. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/artifacts/__init__.py +0 -0
  335. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/artifacts/_commands.py +0 -0
  336. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/artifacts/_identifiers.py +0 -0
  337. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/artifacts/catalog.py +0 -0
  338. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/artifacts/command_info.py +0 -0
  339. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/artifacts/command_lookup.py +0 -0
  340. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/artifacts/models.py +0 -0
  341. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/artifacts/resolution.py +0 -0
  342. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/authentication/__init__.py +0 -0
  343. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/authentication/azure_devops.py +0 -0
  344. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/authentication/base.py +0 -0
  345. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/authentication/bitbucket.py +0 -0
  346. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/authentication/config.py +0 -0
  347. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/authentication/github.py +0 -0
  348. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/authentication/github_http.py +0 -0
  349. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/authentication/http.py +0 -0
  350. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundler.py +0 -0
  351. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/__init__.py +0 -0
  352. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/_commands.py +0 -0
  353. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/adapters.py +0 -0
  354. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/catalog/__init__.py +0 -0
  355. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/catalog/command_add.py +0 -0
  356. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/catalog/command_list.py +0 -0
  357. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/catalog/command_remove.py +0 -0
  358. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/catalog_config.py +0 -0
  359. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/command_build.py +0 -0
  360. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/command_init.py +0 -0
  361. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/command_list.py +0 -0
  362. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/command_remove.py +0 -0
  363. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/command_search.py +0 -0
  364. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/command_update.py +0 -0
  365. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/command_validate.py +0 -0
  366. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/conflict.py +0 -0
  367. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/installer.py +0 -0
  368. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/manifest.py +0 -0
  369. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/packager.py +0 -0
  370. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/primitives.py +0 -0
  371. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/records.py +0 -0
  372. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/references.py +0 -0
  373. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/resolver.py +0 -0
  374. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/bundles/validator.py +0 -0
  375. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/catalogs.py +0 -0
  376. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/command_check.py +0 -0
  377. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/command_init.py +0 -0
  378. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/command_mcp.py +0 -0
  379. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/events/__init__.py +0 -0
  380. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/events/command_run.py +0 -0
  381. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/__init__.py +0 -0
  382. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/_catalog_versions.py +0 -0
  383. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/_command_update_artifacts.py +0 -0
  384. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/_command_update_discovery.py +0 -0
  385. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/_command_update_transaction.py +0 -0
  386. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/_commands.py +0 -0
  387. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/catalog/__init__.py +0 -0
  388. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/catalog/_helpers.py +0 -0
  389. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/catalog/command_add.py +0 -0
  390. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/catalog/command_list.py +0 -0
  391. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/catalog/command_remove.py +0 -0
  392. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/command_add.py +0 -0
  393. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/command_disable.py +0 -0
  394. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/command_enable.py +0 -0
  395. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/command_list.py +0 -0
  396. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/command_remove.py +0 -0
  397. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/command_search.py +0 -0
  398. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/command_set_priority.py +0 -0
  399. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/extensions/command_update.py +0 -0
  400. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integration_runtime.py +0 -0
  401. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integration_state.py +0 -0
  402. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integration_status.py +0 -0
  403. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/__init__.py +0 -0
  404. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/_catalog_versions.py +0 -0
  405. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/_command_scaffold_generation.py +0 -0
  406. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/_command_upgrade_layout.py +0 -0
  407. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/_commands.py +0 -0
  408. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/_helpers.py +0 -0
  409. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/agy/__init__.py +0 -0
  410. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/alquimia/__init__.py +0 -0
  411. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/amp/__init__.py +0 -0
  412. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/auggie/__init__.py +0 -0
  413. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/base.py +0 -0
  414. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/bob/__init__.py +0 -0
  415. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/catalog/__init__.py +0 -0
  416. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/catalog/command_add.py +0 -0
  417. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/catalog/command_list.py +0 -0
  418. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/catalog/command_remove.py +0 -0
  419. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/claude/__init__.py +0 -0
  420. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/cline/__init__.py +0 -0
  421. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
  422. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/codex/__init__.py +0 -0
  423. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/command_code/__init__.py +0 -0
  424. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/command_info.py +0 -0
  425. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/command_install.py +0 -0
  426. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/command_list.py +0 -0
  427. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/command_scaffold.py +0 -0
  428. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/command_search.py +0 -0
  429. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/command_status.py +0 -0
  430. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/command_switch.py +0 -0
  431. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/command_uninstall.py +0 -0
  432. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/command_upgrade.py +0 -0
  433. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/command_use.py +0 -0
  434. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/copilot/__init__.py +0 -0
  435. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
  436. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/devin/__init__.py +0 -0
  437. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/docker_agent/__init__.py +0 -0
  438. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/droid/__init__.py +0 -0
  439. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/dsh/__init__.py +0 -0
  440. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/firebender/__init__.py +0 -0
  441. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/forge/__init__.py +0 -0
  442. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/gemini/__init__.py +0 -0
  443. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/generic/__init__.py +0 -0
  444. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/goose/__init__.py +0 -0
  445. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/grok/__init__.py +0 -0
  446. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/hermes/__init__.py +0 -0
  447. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/junie/__init__.py +0 -0
  448. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
  449. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/kimi/__init__.py +0 -0
  450. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
  451. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/lingma/__init__.py +0 -0
  452. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/manifest.py +0 -0
  453. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/mcode/__init__.py +0 -0
  454. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/muse/__init__.py +0 -0
  455. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/omp/__init__.py +0 -0
  456. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/opencode/__init__.py +0 -0
  457. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/pi/__init__.py +0 -0
  458. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
  459. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/qwen/__init__.py +0 -0
  460. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
  461. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/shai/__init__.py +0 -0
  462. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
  463. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/trae/__init__.py +0 -0
  464. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/vibe/__init__.py +0 -0
  465. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/zcode/__init__.py +0 -0
  466. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/integrations/zed/__init__.py +0 -0
  467. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/mcp_server/__init__.py +0 -0
  468. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/mcp_server/_worker.py +0 -0
  469. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/mcp_server/catalog.py +0 -0
  470. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/mcp_server/executor.py +0 -0
  471. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/__init__.py +0 -0
  472. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/_catalog.py +0 -0
  473. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/_catalog_versions.py +0 -0
  474. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/_commands.py +0 -0
  475. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/_manager.py +0 -0
  476. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/_manager_commands.py +0 -0
  477. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/_manager_skills.py +0 -0
  478. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/_manifest.py +0 -0
  479. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/_registry.py +0 -0
  480. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/_resolver.py +0 -0
  481. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/catalog/__init__.py +0 -0
  482. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/catalog/command_add.py +0 -0
  483. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/catalog/command_list.py +0 -0
  484. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/catalog/command_remove.py +0 -0
  485. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/command_add.py +0 -0
  486. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/command_disable.py +0 -0
  487. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/command_enable.py +0 -0
  488. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/command_list.py +0 -0
  489. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/command_remove.py +0 -0
  490. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/command_resolve.py +0 -0
  491. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/command_search.py +0 -0
  492. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/command_set_priority.py +0 -0
  493. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/presets/command_update.py +0 -0
  494. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/selfs/__init__.py +0 -0
  495. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/selfs/command_check.py +0 -0
  496. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/selfs/command_upgrade.py +0 -0
  497. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/shared_infra.py +0 -0
  498. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/__init__.py +0 -0
  499. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/_command_resume_state.py +0 -0
  500. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/_command_run_ownership.py +0 -0
  501. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/_commands.py +0 -0
  502. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/base.py +0 -0
  503. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/catalog/__init__.py +0 -0
  504. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/catalog/_versions.py +0 -0
  505. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/catalog/command_add.py +0 -0
  506. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/catalog/command_list.py +0 -0
  507. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/catalog/command_remove.py +0 -0
  508. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_add.py +0 -0
  509. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_disable.py +0 -0
  510. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_enable.py +0 -0
  511. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_info.py +0 -0
  512. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_list.py +0 -0
  513. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_remove.py +0 -0
  514. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_resolve.py +0 -0
  515. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_resume.py +0 -0
  516. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_run.py +0 -0
  517. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_search.py +0 -0
  518. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_status.py +0 -0
  519. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/command_update.py +0 -0
  520. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/engine.py +0 -0
  521. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/expressions.py +0 -0
  522. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/__init__.py +0 -0
  523. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/command_add.py +0 -0
  524. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/command_disable.py +0 -0
  525. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/command_enable.py +0 -0
  526. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/command_list.py +0 -0
  527. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/command_remove.py +0 -0
  528. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/command_set_priority.py +0 -0
  529. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/composer.py +0 -0
  530. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/layer_sources.py +0 -0
  531. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/merge.py +0 -0
  532. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/resolver.py +0 -0
  533. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/overlay/schema.py +0 -0
  534. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/__init__.py +0 -0
  535. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/_helpers.py +0 -0
  536. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/catalog/__init__.py +0 -0
  537. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/catalog/_versions.py +0 -0
  538. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/catalog/command_add.py +0 -0
  539. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/catalog/command_list.py +0 -0
  540. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/catalog/command_remove.py +0 -0
  541. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/command/__init__.py +0 -0
  542. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/command_add.py +0 -0
  543. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/command_info.py +0 -0
  544. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/command_list.py +0 -0
  545. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/command_remove.py +0 -0
  546. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/command_search.py +0 -0
  547. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/do_while/__init__.py +0 -0
  548. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/fan_in/__init__.py +0 -0
  549. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/fan_out/__init__.py +0 -0
  550. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/if_then/__init__.py +0 -0
  551. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/init/__init__.py +0 -0
  552. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/installer.py +0 -0
  553. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/prompt/__init__.py +0 -0
  554. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/shell/__init__.py +0 -0
  555. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/slot/__init__.py +0 -0
  556. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/switch/__init__.py +0 -0
  557. {specify_cli-1.1.1 → specify_cli-1.1.2}/src/specify_cli/workflows/step/while_loop/__init__.py +0 -0
  558. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/checklist-template.md +0 -0
  559. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/commands/analyze.md +0 -0
  560. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/commands/checklist.md +0 -0
  561. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/commands/clarify.md +0 -0
  562. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/commands/constitution.md +0 -0
  563. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/commands/converge.md +0 -0
  564. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/commands/implement.md +0 -0
  565. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/commands/plan.md +0 -0
  566. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/commands/specify.md +0 -0
  567. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/commands/tasks.md +0 -0
  568. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/commands/taskstoissues.md +0 -0
  569. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/constitution-template.md +0 -0
  570. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/plan-template.md +0 -0
  571. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/spec-template.md +0 -0
  572. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/tasks-template.md +0 -0
  573. {specify_cli-1.1.1 → specify_cli-1.1.2}/templates/vscode-settings.json +0 -0
  574. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/__init__.py +0 -0
  575. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/conftest.py +0 -0
  576. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/contract/test_bundled_extension_update_delivery.py +0 -0
  577. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/contract/test_bundled_extension_versions.py +0 -0
  578. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/contract/test_extension_version_guard_script.py +0 -0
  579. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/contract/test_firstparty_bundle_catalog_consistency.py +0 -0
  580. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/contract/test_manifest_schema.py +0 -0
  581. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/contract/test_wheel_bundled_presets.py +0 -0
  582. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/contract/test_wheel_bundled_workflows.py +0 -0
  583. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
  584. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/__init__.py +0 -0
  585. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/assess/__init__.py +0 -0
  586. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/assess/test_assess_extension.py +0 -0
  587. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/bug/__init__.py +0 -0
  588. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/bug/test_bug_extension.py +0 -0
  589. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/git/__init__.py +0 -0
  590. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/git/test_git_extension.py +0 -0
  591. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/git/test_git_extension_python_parity.py +0 -0
  592. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/github/__init__.py +0 -0
  593. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/github/test_github_extension.py +0 -0
  594. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/test_agent_context_cli_free.py +0 -0
  595. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/test_extension_agent_context.py +0 -0
  596. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
  597. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/extensions/test_update_agent_context_python_parity.py +0 -0
  598. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/hooks/TESTING.md +0 -0
  599. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/hooks/plan.md +0 -0
  600. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/hooks/spec.md +0 -0
  601. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/hooks/tasks.md +0 -0
  602. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/http_helpers.py +0 -0
  603. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integration/test_preset_update_workflow.py +0 -0
  604. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/__init__.py +0 -0
  605. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/conftest.py +0 -0
  606. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_base.py +0 -0
  607. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_cli.py +0 -0
  608. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_extra_args.py +0 -0
  609. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_home_isolation.py +0 -0
  610. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_agy.py +0 -0
  611. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_alquimia.py +0 -0
  612. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_amp.py +0 -0
  613. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_auggie.py +0 -0
  614. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_base_markdown.py +0 -0
  615. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_base_skills.py +0 -0
  616. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_base_toml.py +0 -0
  617. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_base_yaml.py +0 -0
  618. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_bob.py +0 -0
  619. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_claude.py +0 -0
  620. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_cline.py +0 -0
  621. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_codebuddy.py +0 -0
  622. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_codex.py +0 -0
  623. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_command_code.py +0 -0
  624. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_copilot.py +0 -0
  625. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_cursor_agent.py +0 -0
  626. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_devin.py +0 -0
  627. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_docker_agent.py +0 -0
  628. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_droid.py +0 -0
  629. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_dsh.py +0 -0
  630. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_firebender.py +0 -0
  631. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_forge.py +0 -0
  632. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_gemini.py +0 -0
  633. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_generic.py +0 -0
  634. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_goose.py +0 -0
  635. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_grok.py +0 -0
  636. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_hermes.py +0 -0
  637. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_junie.py +0 -0
  638. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_kilocode.py +0 -0
  639. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_kimi.py +0 -0
  640. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_kiro_cli.py +0 -0
  641. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_lingma.py +0 -0
  642. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_mcode.py +0 -0
  643. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_muse.py +0 -0
  644. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_omp.py +0 -0
  645. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_opencode.py +0 -0
  646. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_pi.py +0 -0
  647. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_qodercli.py +0 -0
  648. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_qwen.py +0 -0
  649. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_rovodev.py +0 -0
  650. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_shai.py +0 -0
  651. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_state.py +0 -0
  652. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_tabnine.py +0 -0
  653. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_trae.py +0 -0
  654. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_vibe.py +0 -0
  655. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_zcode.py +0 -0
  656. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_integration_zed.py +0 -0
  657. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_manifest.py +0 -0
  658. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_registry.py +0 -0
  659. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
  660. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/lock_helpers.py +0 -0
  661. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/parity_helpers.py +0 -0
  662. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/__init__.py +0 -0
  663. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/artifacts/conftest.py +0 -0
  664. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/artifacts/helpers.py +0 -0
  665. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/artifacts/test_catalog.py +0 -0
  666. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/artifacts/test_catalog_parity.py +0 -0
  667. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/artifacts/test_command_info.py +0 -0
  668. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/artifacts/test_command_lookup.py +0 -0
  669. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/artifacts/test_registration.py +0 -0
  670. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/authentication/__init__.py +0 -0
  671. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/authentication/helpers.py +0 -0
  672. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/authentication/test_authentication.py +0 -0
  673. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/authentication/test_github_http.py +0 -0
  674. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/__init__.py +0 -0
  675. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/_command_helpers.py +0 -0
  676. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/catalog/__init__.py +0 -0
  677. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/catalog/test_command_add.py +0 -0
  678. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/catalog/test_command_list.py +0 -0
  679. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/catalog/test_command_remove.py +0 -0
  680. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/conftest.py +0 -0
  681. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/helpers.py +0 -0
  682. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_bundles.py +0 -0
  683. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_catalog_config.py +0 -0
  684. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_command_build.py +0 -0
  685. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_command_init.py +0 -0
  686. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_command_list.py +0 -0
  687. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_command_remove.py +0 -0
  688. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_command_search.py +0 -0
  689. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_command_update.py +0 -0
  690. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_command_validate.py +0 -0
  691. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_commands.py +0 -0
  692. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_conflict.py +0 -0
  693. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_installer.py +0 -0
  694. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_offline.py +0 -0
  695. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_packager.py +0 -0
  696. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_primitives.py +0 -0
  697. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_records.py +0 -0
  698. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_references.py +0 -0
  699. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_resolver.py +0 -0
  700. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_validator.py +0 -0
  701. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/bundles/test_yamlio.py +0 -0
  702. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/events/__init__.py +0 -0
  703. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/events/test_command_run.py +0 -0
  704. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/events/test_events.py +0 -0
  705. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/__init__.py +0 -0
  706. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/_helpers.py +0 -0
  707. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/catalog/__init__.py +0 -0
  708. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/catalog/test_command_add.py +0 -0
  709. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/catalog/test_command_list.py +0 -0
  710. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/catalog/test_command_remove.py +0 -0
  711. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/conftest.py +0 -0
  712. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_catalog_versions.py +0 -0
  713. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_add.py +0 -0
  714. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_add_path_traversal.py +0 -0
  715. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_disable.py +0 -0
  716. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_enable.py +0 -0
  717. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_info.py +0 -0
  718. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_list.py +0 -0
  719. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_remove.py +0 -0
  720. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_search.py +0 -0
  721. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_set_priority.py +0 -0
  722. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_update.py +0 -0
  723. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_update_artifacts.py +0 -0
  724. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_update_discovery.py +0 -0
  725. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/extensions/test_command_update_transaction.py +0 -0
  726. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/__init__.py +0 -0
  727. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/_catalog_helpers.py +0 -0
  728. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/_helpers.py +0 -0
  729. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/_scaffold_helpers.py +0 -0
  730. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/catalog/__init__.py +0 -0
  731. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/catalog/test_command_add.py +0 -0
  732. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/catalog/test_command_list.py +0 -0
  733. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/catalog/test_command_remove.py +0 -0
  734. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/conftest.py +0 -0
  735. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_catalog.py +0 -0
  736. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_catalog_versions.py +0 -0
  737. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_info.py +0 -0
  738. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_install.py +0 -0
  739. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_list.py +0 -0
  740. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_scaffold.py +0 -0
  741. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_scaffold_generation.py +0 -0
  742. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_search.py +0 -0
  743. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_status.py +0 -0
  744. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_switch.py +0 -0
  745. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_uninstall.py +0 -0
  746. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_upgrade.py +0 -0
  747. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_upgrade_layout.py +0 -0
  748. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_command_use.py +0 -0
  749. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_lifecycle.py +0 -0
  750. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/integrations/test_registration.py +0 -0
  751. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/mcp_server/__init__.py +0 -0
  752. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/mcp_server/test_catalog.py +0 -0
  753. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/mcp_server/test_executor.py +0 -0
  754. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/__init__.py +0 -0
  755. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/_fixtures.py +0 -0
  756. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/_helpers.py +0 -0
  757. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/catalog/__init__.py +0 -0
  758. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/catalog/test_command_add.py +0 -0
  759. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/catalog/test_command_list.py +0 -0
  760. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/catalog/test_command_remove.py +0 -0
  761. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/conftest.py +0 -0
  762. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_catalog.py +0 -0
  763. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_catalog_versions.py +0 -0
  764. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_command_add.py +0 -0
  765. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_command_disable.py +0 -0
  766. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_command_enable.py +0 -0
  767. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_command_info.py +0 -0
  768. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_command_list.py +0 -0
  769. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_command_remove.py +0 -0
  770. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_command_resolve.py +0 -0
  771. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_command_search.py +0 -0
  772. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_command_set_priority.py +0 -0
  773. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_command_update.py +0 -0
  774. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_domain_exports.py +0 -0
  775. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_manager.py +0 -0
  776. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_manager_commands.py +0 -0
  777. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_manager_skills.py +0 -0
  778. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_manifest.py +0 -0
  779. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_registration.py +0 -0
  780. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_registry.py +0 -0
  781. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/presets/test_resolver.py +0 -0
  782. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/self_upgrade_helpers.py +0 -0
  783. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/selfs/__init__.py +0 -0
  784. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/selfs/test_command_check.py +0 -0
  785. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/selfs/test_command_upgrade.py +0 -0
  786. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_agent_config.py +0 -0
  787. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_check_tool.py +0 -0
  788. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_command_check.py +0 -0
  789. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_command_init.py +0 -0
  790. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_command_mcp.py +0 -0
  791. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_root_version_callback.py +0 -0
  792. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_version_detection.py +0 -0
  793. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_version_execution.py +0 -0
  794. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_version_guidance.py +0 -0
  795. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_version_imports.py +0 -0
  796. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_version_release.py +0 -0
  797. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/test_version_verification.py +0 -0
  798. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/__init__.py +0 -0
  799. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/catalog/__init__.py +0 -0
  800. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/catalog/test_command_add.py +0 -0
  801. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/catalog/test_command_list.py +0 -0
  802. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/conftest.py +0 -0
  803. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/helpers.py +0 -0
  804. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/overlay/__init__.py +0 -0
  805. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/overlay/test_command_add.py +0 -0
  806. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/overlay/test_command_disable.py +0 -0
  807. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/overlay/test_command_enable.py +0 -0
  808. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/overlay/test_command_list.py +0 -0
  809. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/overlay/test_command_remove.py +0 -0
  810. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/overlay/test_command_set_priority.py +0 -0
  811. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/__init__.py +0 -0
  812. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/catalog/__init__.py +0 -0
  813. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/catalog/test_command_add.py +0 -0
  814. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/catalog/test_command_list.py +0 -0
  815. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/catalog/test_registry.py +0 -0
  816. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/test_catalog_versions.py +0 -0
  817. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/test_command_add.py +0 -0
  818. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/test_command_info.py +0 -0
  819. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/test_command_list.py +0 -0
  820. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/test_command_remove.py +0 -0
  821. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/test_command_search.py +0 -0
  822. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/step/test_installer.py +0 -0
  823. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_catalog_versions.py +0 -0
  824. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_add.py +0 -0
  825. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_disable.py +0 -0
  826. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_enable.py +0 -0
  827. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_info.py +0 -0
  828. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_list.py +0 -0
  829. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_remove.py +0 -0
  830. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_resume.py +0 -0
  831. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_resume_state.py +0 -0
  832. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_run.py +0 -0
  833. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_run_ownership.py +0 -0
  834. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_search.py +0 -0
  835. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_status.py +0 -0
  836. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_command_update.py +0 -0
  837. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/specify_cli/workflows/test_custom_steps.py +0 -0
  838. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_agent_config_consistency.py +0 -0
  839. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_branch_numbering.py +0 -0
  840. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_bug_fix_workflow.py +0 -0
  841. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_catalog_trust_docs.py +0 -0
  842. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_check_prerequisites_paths_only.py +0 -0
  843. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_check_prerequisites_python_parity.py +0 -0
  844. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_clarify_stage_gate.py +0 -0
  845. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_command_template_hooks.py +0 -0
  846. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_command_template_py_scripts.py +0 -0
  847. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_community_preset_validation.py +0 -0
  848. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_console_imports.py +0 -0
  849. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_constitution_template_sync_report.py +0 -0
  850. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_converge_template_scaffold.py +0 -0
  851. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_create_new_feature_python_parity.py +0 -0
  852. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_download_security.py +0 -0
  853. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_extension_registration.py +0 -0
  854. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_extension_skills.py +0 -0
  855. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_extensions.py +0 -0
  856. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_init_dir.py +0 -0
  857. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_init_dir_cli.py +0 -0
  858. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_installed_list_json.py +0 -0
  859. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_live_transient_windows.py +0 -0
  860. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_merge.py +0 -0
  861. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_post_process.py +0 -0
  862. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_presets.py +0 -0
  863. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_ps1_encoding.py +0 -0
  864. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_registrar_path_traversal.py +0 -0
  865. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_resolve_template_python_parity.py +0 -0
  866. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_security_workflow.py +0 -0
  867. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_setup_plan_feature_json.py +0 -0
  868. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_setup_plan_no_overwrite.py +0 -0
  869. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_setup_plan_python_parity.py +0 -0
  870. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_setup_tasks.py +0 -0
  871. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_setup_tasks_python_parity.py +0 -0
  872. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_shared_infra_gitignore.py +0 -0
  873. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_shared_infra_integrity.py +0 -0
  874. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_shared_infra_lock.py +0 -0
  875. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_skill_placeholder_py.py +0 -0
  876. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_specify_no_persist.py +0 -0
  877. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_specify_template_numbering.py +0 -0
  878. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_tasks_template_constraints.py +0 -0
  879. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_timestamp_branches.py +0 -0
  880. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_utils.py +0 -0
  881. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/test_utils_assets_imports.py +0 -0
  882. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/unit/test_condition_expression_block.py +0 -0
  883. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/workflows/conftest.py +0 -0
  884. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/workflows/test_bundled_bugfix_assess_workflows.py +0 -0
  885. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/workflows/test_bundled_speckit_workflow.py +0 -0
  886. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/workflows/test_overlay_composer.py +0 -0
  887. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/workflows/test_overlay_layer_sources.py +0 -0
  888. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/workflows/test_overlay_merge.py +0 -0
  889. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/workflows/test_overlay_schema.py +0 -0
  890. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/workflows/test_resolver_integration.py +0 -0
  891. {specify_cli-1.1.1 → specify_cli-1.1.2}/tests/workflows/test_slot_step.py +0 -0
  892. {specify_cli-1.1.1 → specify_cli-1.1.2}/workflows/ARCHITECTURE.md +0 -0
  893. {specify_cli-1.1.1 → specify_cli-1.1.2}/workflows/PUBLISHING.md +0 -0
  894. {specify_cli-1.1.1 → specify_cli-1.1.2}/workflows/assess/workflow.yml +0 -0
  895. {specify_cli-1.1.1 → specify_cli-1.1.2}/workflows/bugfix/workflow.yml +0 -0
  896. {specify_cli-1.1.1 → specify_cli-1.1.2}/workflows/catalog.community.json +0 -0
  897. {specify_cli-1.1.1 → specify_cli-1.1.2}/workflows/catalog.json +0 -0
  898. {specify_cli-1.1.1 → specify_cli-1.1.2}/workflows/speckit/workflow.yml +0 -0
  899. {specify_cli-1.1.1 → specify_cli-1.1.2}/workflows/step-catalog.community.json +0 -0
  900. {specify_cli-1.1.1 → specify_cli-1.1.2}/workflows/step-catalog.json +0 -0
@@ -1,7 +1,7 @@
1
1
  name: Bundle Submission
2
2
  description: Submit your bundle metadata for community catalog validation
3
3
  title: "[Bundle]: Add "
4
- labels: ["enhancement", "needs-triage"]
4
+ labels: ["triage-must-have"]
5
5
  body:
6
6
  - type: markdown
7
7
  attributes:
@@ -16,7 +16,7 @@ body:
16
16
  - If you host a bundle catalog, test catalog installation with `specify bundle catalog add <catalog-url> --id <catalog-id> --policy install-allowed` and `specify bundle install <bundle-id>`
17
17
  - If your bundle depends on components from non-default catalogs, document those catalog URLs and test installation from a clean project
18
18
 
19
- **After submitting:** a maintainer applies the `bundle-submission` label during issue triage, which starts the automated catalog validation. You don't need to apply any label or ask for one.
19
+ **After submitting:** GitHub automatically applies the `triage-must-have` intake verdict. A maintainer separately applies the `bundle-submission` label during issue triage, which starts the automated catalog validation. You don't need to apply any label or ask for one.
20
20
 
21
21
  - type: input
22
22
  id: bundle-id
@@ -0,0 +1,254 @@
1
+ name: Workflow Step Type Submission
2
+ description: Submit a custom workflow step package for community catalog intake
3
+ title: "[Workflow Step]: Add "
4
+ labels: ["triage-must-have"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for contributing a workflow step type! This form captures the package, release, and catalog metadata needed for manual community catalog review.
10
+
11
+ **Before submitting:**
12
+ - Review the [Community Workflow Step Types guide](https://github.com/github/spec-kit/blob/main/docs/community/workflow-steps.md)
13
+ - Publish a package containing root-level `step.yml` and `__init__.py` files
14
+ - Ensure `step.type_key`, the catalog ID, and the matching `StepBase.type_key` are identical
15
+ - Create a GitHub release with a versioned step package archive
16
+ - Provide version-pinned URLs and SHA-256 digests for every catalog-downloaded file
17
+ - Test the release artifact with `specify workflow step add <step-id> --from <download-url>`
18
+
19
+ **After submitting:** GitHub automatically applies only the `triage-must-have` intake verdict. This phase is intake-only: no validation workflow or draft pull request is triggered. Maintainers currently review the metadata manually and, when accepted, update the community catalog through the normal reviewed pull request process.
20
+
21
+ - type: input
22
+ id: step-id
23
+ attributes:
24
+ label: Step Type ID
25
+ description: Exact catalog key and `step.type_key`; it must be one safe path component and must not collide with a built-in step type
26
+ placeholder: "e.g., deploy"
27
+ validations:
28
+ required: true
29
+
30
+ - type: input
31
+ id: step-name
32
+ attributes:
33
+ label: Step Type Name
34
+ description: Human-readable name declared in `step.yml`
35
+ placeholder: "e.g., Deploy"
36
+ validations:
37
+ required: true
38
+
39
+ - type: input
40
+ id: version
41
+ attributes:
42
+ label: Version
43
+ description: PEP 440-compatible release version; it must match `step.version` in the submitted `step.yml`
44
+ placeholder: "e.g., 1.0.0"
45
+ validations:
46
+ required: true
47
+
48
+ - type: textarea
49
+ id: description
50
+ attributes:
51
+ label: Description
52
+ description: Concise description of the workflow behavior this step type implements
53
+ placeholder: Deploys the current project to a configured environment and returns the deployment URL
54
+ validations:
55
+ required: true
56
+
57
+ - type: input
58
+ id: author
59
+ attributes:
60
+ label: Author
61
+ description: Name or organization declared for the package
62
+ placeholder: "e.g., Jane Doe or Acme Corp"
63
+ validations:
64
+ required: true
65
+
66
+ - type: input
67
+ id: repository
68
+ attributes:
69
+ label: Repository URL
70
+ description: Public source repository containing the submitted package
71
+ placeholder: "https://github.com/your-org/spec-kit-step-deploy"
72
+ validations:
73
+ required: true
74
+
75
+ - type: input
76
+ id: download-url
77
+ attributes:
78
+ label: Download URL
79
+ description: URL to the versioned `.zip`, `.tar.gz`, or `.tgz` step package archive for this release
80
+ placeholder: "https://github.com/your-org/spec-kit-step-deploy/releases/download/v1.0.0/deploy-1.0.0.zip"
81
+ validations:
82
+ required: true
83
+
84
+ - type: input
85
+ id: step-yml-url
86
+ attributes:
87
+ label: step.yml URL
88
+ description: Exact tag-pinned HTTPS URL used as the catalog `step_yml_url` (or `url`)
89
+ placeholder: "https://raw.githubusercontent.com/your-org/spec-kit-step-deploy/v1.0.0/step.yml"
90
+ validations:
91
+ required: true
92
+
93
+ - type: input
94
+ id: init-url
95
+ attributes:
96
+ label: __init__.py URL
97
+ description: Exact tag-pinned HTTPS URL used as the catalog `init_url`
98
+ placeholder: "https://raw.githubusercontent.com/your-org/spec-kit-step-deploy/v1.0.0/__init__.py"
99
+ validations:
100
+ required: true
101
+
102
+ - type: textarea
103
+ id: extra-files
104
+ attributes:
105
+ label: Extra File URLs
106
+ description: >-
107
+ JSON mapping of every additional package-relative file path to its exact tag-pinned HTTPS URL.
108
+ Paths must use forward slashes, be relative and non-empty, contain no empty, `.` or `..` segments,
109
+ and must not case-insensitively alias `step.yml` or `__init__.py`. Enter `{}` when there are no extra files.
110
+ render: json
111
+ placeholder: |
112
+ {
113
+ "helpers.py": "https://raw.githubusercontent.com/your-org/spec-kit-step-deploy/v1.0.0/helpers.py"
114
+ }
115
+ validations:
116
+ required: true
117
+
118
+ - type: textarea
119
+ id: file-sha256
120
+ attributes:
121
+ label: Per-file SHA-256 Digests
122
+ description: JSON mapping containing exactly `step.yml`, `__init__.py`, and every Extra File URL path, each with a 64-character hexadecimal SHA-256 digest
123
+ render: json
124
+ placeholder: |
125
+ {
126
+ "step.yml": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
127
+ "__init__.py": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
128
+ "helpers.py": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
129
+ }
130
+ validations:
131
+ required: true
132
+
133
+ - type: input
134
+ id: license
135
+ attributes:
136
+ label: License
137
+ description: SPDX license identifier for the package; the repository must include the corresponding license text
138
+ placeholder: "e.g., MIT or Apache-2.0"
139
+ validations:
140
+ required: true
141
+
142
+ - type: input
143
+ id: speckit-compatibility
144
+ attributes:
145
+ label: Spec Kit Compatibility
146
+ description: Spec Kit version constraint tested with this release; the current step catalog does not yet enforce this constraint
147
+ placeholder: "e.g., >=0.11.0"
148
+ validations:
149
+ required: true
150
+
151
+ - type: textarea
152
+ id: runtime-dependencies
153
+ attributes:
154
+ label: Runtime and Tool Dependencies
155
+ description: List required Python packages, executables, services, environment variables, or platform constraints; enter `None` when the package has no external dependencies
156
+ placeholder: |
157
+ - Python package: requests>=2.32
158
+ - Executable: kubectl>=1.30
159
+ - Environment variable: KUBECONFIG
160
+ validations:
161
+ required: true
162
+
163
+ - type: dropdown
164
+ id: step-type-count
165
+ attributes:
166
+ label: Number of Provided Step Types
167
+ description: One installed package currently registers exactly one `step.type_key`
168
+ options:
169
+ - "1"
170
+ validations:
171
+ required: true
172
+
173
+ - type: textarea
174
+ id: step-types-provided
175
+ attributes:
176
+ label: Step Type Provided
177
+ description: Name the single `StepBase` subclass and its exact `type_key`
178
+ placeholder: "DeployStep — deploy"
179
+ validations:
180
+ required: true
181
+
182
+ - type: input
183
+ id: documentation
184
+ attributes:
185
+ label: Documentation URL
186
+ description: Tag-pinned documentation covering configuration, outputs, failure behavior, side effects, and an example workflow
187
+ placeholder: "https://github.com/your-org/spec-kit-step-deploy/blob/v1.0.0/README.md"
188
+ validations:
189
+ required: true
190
+
191
+ - type: input
192
+ id: changelog
193
+ attributes:
194
+ label: Changelog URL
195
+ description: Tag-pinned changelog for this release; leave empty only for an initial release with no prior versions
196
+ placeholder: "https://github.com/your-org/spec-kit-step-deploy/blob/v1.0.0/CHANGELOG.md"
197
+
198
+ - type: textarea
199
+ id: testing-details
200
+ attributes:
201
+ label: Testing Details
202
+ description: Describe positive and negative configuration tests, execution/status/output tests, and any resume, nested, or concurrent behavior that applies
203
+ placeholder: |
204
+ **Tested with:** Spec Kit 0.11.0 on macOS and Ubuntu
205
+
206
+ **Evidence:**
207
+ - Valid configuration completes with the documented outputs
208
+ - Invalid configuration returns a failed result with an actionable error
209
+ - Release artifact installs with `specify workflow step add deploy --from ...`
210
+ validations:
211
+ required: true
212
+
213
+ - type: checkboxes
214
+ id: attestations
215
+ attributes:
216
+ label: Required Attestations
217
+ description: Confirm the submitted release satisfies the current external step-package contract
218
+ options:
219
+ - label: The release artifact contains regular, non-symlink `step.yml` and `__init__.py` files at the package root or under exactly one top-level directory
220
+ required: true
221
+ - label: The catalog ID, `step.type_key`, and the matching `StepBase.type_key` are identical and do not collide with a built-in step type
222
+ required: true
223
+ - label: The submitted version matches `step.version`, the download URL identifies that versioned release, and every catalog file URL is version-pinned
224
+ required: true
225
+ - label: The SHA-256 mapping covers exactly every file the catalog installer downloads
226
+ required: true
227
+ - label: The release artifact installs successfully with `specify workflow step add <step-id> --from <download-url>`
228
+ required: true
229
+ - label: Runtime and tool dependencies, side effects, configuration, outputs, and failure behavior are documented
230
+ required: true
231
+ - label: The repository includes the submitted license and complete source for the released package
232
+ required: true
233
+ - label: I understand that custom workflow steps execute Python with the user's privileges and that a community catalog listing is not a code audit, endorsement, or support commitment
234
+ required: true
235
+
236
+ - type: textarea
237
+ id: additional-context
238
+ attributes:
239
+ label: Additional Context
240
+ description: Optional links or notes that help maintainers verify the submitted metadata
241
+ placeholder: Release notes, compatibility notes, or related issue links
242
+
243
+ - type: textarea
244
+ id: ai-disclosure
245
+ attributes:
246
+ label: AI Disclosure
247
+ description: >-
248
+ Per our [Contributing guidelines](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#ai-contributions-in-spec-kit),
249
+ any AI assistance used to create this issue must be disclosed. If you used AI, name the agent/tool, model(s),
250
+ settings/mode (reasoning effort; autonomous vs. human-supervised), and extent. Otherwise leave this as "N/A".
251
+ This does not change how your issue is handled — it just gives maintainers visibility into model/agent usage.
252
+ value: "N/A"
253
+ validations:
254
+ required: true
@@ -11,10 +11,18 @@ The toolkit supports multiple AI coding assistants, allowing teams to use their
11
11
  ## Adding or Updating CLI Commands
12
12
 
13
13
  Before adding, updating, or reorganizing Specify CLI commands, read
14
- [Specify CLI Command Architecture](design/cli.md). It defines command-module
15
- naming, private command phases, nested command groups, registration ownership,
16
- mirrored tests, and the rationale for making the CLI structure predictable for
17
- both humans and coding agents.
14
+ [Shared Command Application Architecture](design/shared.md) and
15
+ [Specify CLI Command Architecture](design/cli.md). They define the shared
16
+ operation boundary, command-module naming, private phases, nested command
17
+ groups, registration ownership, and mirrored tests.
18
+
19
+ ## Adding or Updating MCP Commands
20
+
21
+ Before adding or changing MCP tools for Specify commands, read
22
+ [Shared Command Application Architecture](design/shared.md) and
23
+ [Specify MCP Command Architecture](design/mcp.md). They define the shared
24
+ operation boundary, typed contracts, explicit inventory, side-effect metadata,
25
+ the local stdio protocol boundary, and mirrored tests.
18
26
 
19
27
  ## Adding or Updating Agent Integrations
20
28
 
@@ -2,6 +2,31 @@
2
2
 
3
3
  <!-- insert new changelog below this comment -->
4
4
 
5
+ ## [1.1.2] - 2026-10-07
6
+
7
+ ### Changed
8
+
9
+ - feat(mcp): add first-class artifact list tool (#4867)
10
+ - fix(workflows): remove the catalog source shown at the listed index (#4870)
11
+ - fix(bundler): resolve the active integration like the canonical reader (#4541)
12
+ - fix(workflows): an interrupted gate prompt must not approve the gate (#4529)
13
+ - [preset] Update Intake Authoring Governance preset to v0.3.7 (#4838)
14
+ - fix(workflows): state the equal-priority tie-break in 'workflow resolve' output (#4542)
15
+ - feat: add --json to preset info and extension info (#4833)
16
+ - feat(bundles): select exact bundle catalog releases (#4849)
17
+ - fix(bundler): treat an explicitly null catalog field as empty, not "None" (#4532)
18
+ - refactor(artifact): extract list operation (#4866)
19
+ - fix(bundler): report a newline-containing version constraint instead of crashing (#4538)
20
+ - feat(mcp): add first-class version tool (#4864)
21
+ - refactor(version): extract shared operation (#4863)
22
+ - feat(workflows): add workflow step submission intake (#4861)
23
+ - docs: define shared CLI and MCP command architecture (#4847)
24
+ - Add AttackTree extension to community catalog (#4859)
25
+ - Update SpecKit Companion extension to v0.24.0 (#4858)
26
+ - Automatically prioritize bundle submissions (#4856)
27
+ - Update SpecAssay preset to v0.5.6 (#4854)
28
+ - chore: release 1.1.1, begin 1.1.2.dev0 development (#4860)
29
+
5
30
  ## [1.1.1] - 2026-10-06
6
31
 
7
32
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: specify-cli
3
- Version: 1.1.1
3
+ Version: 1.1.2
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
@@ -1,12 +1,18 @@
1
1
  # Specify CLI Command Architecture
2
2
 
3
- This document defines the target structure for multi-command groups in the
4
- Specify Python CLI. It explains where command handlers, shared infrastructure,
5
- command-private phases, nested command groups, and their tests belong.
3
+ This document defines the CLI adapter structure for Specify commands. It
4
+ explains where Typer handlers, CLI infrastructure, CLI-private phases, nested
5
+ command groups, and their tests belong.
6
6
 
7
- `src/specify_cli/extensions/` is the reference implementation. Apply this
8
- design incrementally when adding or refactoring other command groups; do not
9
- create extra modules merely to make a small command conform visually.
7
+ Every CLI leaf that has another delivery adapter invokes the shared application
8
+ operation defined by
9
+ [Shared Command Application Architecture](shared.md). This document owns the
10
+ CLI surface; it does not redefine semantic validation, orchestration, results,
11
+ warnings, errors, or side effects.
12
+
13
+ The extension hierarchy supplies the reference command-group shape used in
14
+ this document. Do not create extra modules merely to make a small command
15
+ conform visually.
10
16
 
11
17
  ## Design goals
12
18
 
@@ -22,6 +28,8 @@ The design optimizes for:
22
28
  the same file.
23
29
  - **Explicit ownership:** shared infrastructure and command-private behavior
24
30
  should not be mixed.
31
+ - **Adapter discipline:** CLI modules invoke shared operations rather than
32
+ becoming the application implementation.
25
33
  - **Stable behavior:** structural refactoring must preserve registration,
26
34
  output, error handling, compatibility paths, and tests.
27
35
  - **Agentic development:** coding agents should be able to infer the relevant
@@ -50,17 +58,24 @@ Only modules representing actual CLI commands use the non-underscored
50
58
 
51
59
  - The Typer-decorated handler.
52
60
  - User-facing arguments and options.
53
- - Command-specific orchestration.
61
+ - Mapping parsed values into the shared operation request.
62
+ - CLI prompting, progress, rendering, JSON streams, and exit-code mapping.
54
63
  - Small helpers used only by that command.
55
64
 
65
+ Semantic validation, application orchestration, typed outcomes, warnings,
66
+ expected errors, and side effects belong below the adapter as defined in
67
+ [the shared design](shared.md). A CLI-only command may keep small behavior in
68
+ its command module, but behavior needed by another adapter must first move to a
69
+ shared operation or domain module.
70
+
56
71
  The command function's docstring is user-facing because Typer may display it
57
72
  as help text. A module docstring is internal and should identify the command,
58
73
  registration path, and any adjacent private implementation modules.
59
74
 
60
75
  ### Command-private implementation modules
61
76
 
62
- When a command has cohesive phases that are independently understandable or
63
- testable, use:
77
+ When a CLI adapter has cohesive *CLI-specific* phases that are independently
78
+ understandable or testable, use:
64
79
 
65
80
  ```text
66
81
  _command_<name>_<phase>.py
@@ -69,14 +84,13 @@ _command_<name>_<phase>.py
69
84
  For example:
70
85
 
71
86
  ```text
72
- command_update.py
73
- _command_update_discovery.py
74
- _command_update_artifacts.py
75
- _command_update_transaction.py
87
+ command_init.py
88
+ _command_init_prompting.py
89
+ _command_init_rendering.py
76
90
  ```
77
91
 
78
92
  The leading underscore marks the module as private implementation. The
79
- `command_update` portion groups it with the registered handler in searches and
93
+ `command_init` portion groups it with the registered handler in searches and
80
94
  file listings. The phase suffix communicates its ownership.
81
95
 
82
96
  Private phase modules must not register additional CLI commands. The public
@@ -84,11 +98,16 @@ Private phase modules must not register additional CLI commands. The public
84
98
 
85
99
  Split a command when a phase:
86
100
 
101
+ - Is specific to CLI invocation or presentation.
87
102
  - Has distinct invariants or failure behavior.
88
103
  - Can be tested as a meaningful boundary.
89
104
  - Has enough implementation detail to distract from the CLI handler.
90
105
  - Is likely to change independently from other phases.
91
106
 
107
+ If the phase performs semantic validation, planning, mutation, rollback, or
108
+ other behavior another adapter needs, use `_operation_<name>_<phase>.py`
109
+ instead, following [the shared design](shared.md#naming-and-layout).
110
+
92
111
  Do not split a command solely because it crossed an arbitrary line count.
93
112
  Excessive fragmentation makes control flow harder to follow and increases the
94
113
  number of files an agent must inspect.
@@ -99,7 +118,8 @@ For a multi-command group, `_commands.py` owns:
99
118
 
100
119
  - The command group's Typer application.
101
120
  - Registration of the group's command modules.
102
- - Infrastructure genuinely shared by multiple commands or external CLI flows.
121
+ - CLI infrastructure genuinely shared by multiple commands or external CLI
122
+ flows.
103
123
  - Thin compatibility forwarders needed to preserve established import or
104
124
  monkeypatch paths.
105
125
 
@@ -178,8 +198,9 @@ re-exports the command symbols for compatibility.
178
198
 
179
199
  Do not create a nested directory for an implementation phase that is not a CLI
180
200
  subcommand. For example, an `update/` directory would incorrectly suggest an
181
- `extension update ...` subcommand group. Use `_command_update_<phase>.py`
182
- instead.
201
+ `extension update ...` subcommand group. Use `_command_update_<phase>.py` for
202
+ a CLI-private phase and `_operation_update_<phase>.py` for semantic validation,
203
+ planning, mutation, rollback, or other behavior shared with another adapter.
183
204
 
184
205
  ## Registration
185
206
 
@@ -200,6 +221,27 @@ Registration imports should be explicit and ordered consistently. Do not rely
200
221
  on filesystem discovery to import arbitrary modules, because command exposure
201
222
  should remain reviewable in one place.
202
223
 
224
+ ## Shared operation invocation
225
+
226
+ The CLI adapter maps parsed arguments and options into the shared typed request,
227
+ invokes the operation, and renders its outcome.
228
+
229
+ For project-scoped commands, the adapter supplies the explicit project or
230
+ target directory. When the user omits it, the CLI uses the cwd captured when
231
+ the invocation begins. The shared operation validates and resolves that path;
232
+ neither layer changes process-wide cwd.
233
+
234
+ The CLI runs with the invoking user's ordinary operating-system permissions.
235
+ It does not construct a shared policy or filesystem runtime. Prompting remains
236
+ CLI-specific:
237
+
238
+ - `--json`, `--non-interactive`, and local invocation do not imply `force`.
239
+ - External-source trust and overwrite consent remain explicit request values.
240
+ - A prompt may collect consent before constructing or retrying the request, but
241
+ the adapter does not add consent silently.
242
+ - Network and self-modifying behavior remain those defined by the operation and
243
+ CLI contract.
244
+
203
245
  ## Test structure
204
246
 
205
247
  Command-focused tests mirror the source command surface under
@@ -215,23 +257,25 @@ src/specify_cli/extensions/catalog/command_add.py
215
257
  tests/specify_cli/extensions/catalog/test_command_add.py
216
258
  ```
217
259
 
218
- Private phases use:
260
+ CLI-private phases use:
219
261
 
220
262
  ```text
221
- src/specify_cli/extensions/_command_update_discovery.py
222
- tests/specify_cli/extensions/test_command_update_discovery.py
223
-
224
- src/specify_cli/extensions/_command_update_artifacts.py
225
- tests/specify_cli/extensions/test_command_update_artifacts.py
226
-
227
- src/specify_cli/extensions/_command_update_transaction.py
228
- tests/specify_cli/extensions/test_command_update_transaction.py
263
+ src/specify_cli/_command_init_prompting.py
264
+ tests/specify_cli/test_command_init_prompting.py
229
265
  ```
230
266
 
231
267
  The primary `test_command_<name>.py` suite verifies the public command surface.
232
268
  Phase-specific suites verify detailed invariants without obscuring the primary
233
269
  command behavior.
234
270
 
271
+ CLI adapter tests verify explicit targets outside the launch directory and the
272
+ rule that machine modes do not add force, trust, or destructive consent.
273
+
274
+ Shared operation and phase tests use `test_operation_<name>.py` and
275
+ `test_operation_<name>_<phase>.py` as defined in
276
+ [the shared testing structure](shared.md#testing-structure). They do not move
277
+ under `test_command_*.py` merely because the CLI is one caller.
278
+
235
279
  Domain source remains in the parent package's `__init__.py` or a focused
236
280
  domain module without the `command_` prefix. Its mirrored tests use the domain
237
281
  subject name, for example:
@@ -290,7 +334,8 @@ must remain represented. A matching total alone does not prove preservation.
290
334
 
291
335
  ## Reference layout
292
336
 
293
- The extension command group currently demonstrates the complete pattern:
337
+ An extension command group using the shared application boundary has this
338
+ shape:
294
339
 
295
340
  ```text
296
341
  src/specify_cli/extensions/
@@ -305,9 +350,10 @@ src/specify_cli/extensions/
305
350
  ├── command_search.py
306
351
  ├── command_set_priority.py
307
352
  ├── command_update.py
308
- ├── _command_update_discovery.py
309
- ├── _command_update_artifacts.py
310
- ├── _command_update_transaction.py
353
+ ├── _operation_update.py
354
+ ├── _operation_update_discovery.py
355
+ ├── _operation_update_artifacts.py
356
+ ├── _operation_update_transaction.py
311
357
  └── catalog/
312
358
  ├── __init__.py
313
359
  ├── _helpers.py
@@ -319,10 +365,11 @@ src/specify_cli/extensions/
319
365
  The update command illustrates the distinction:
320
366
 
321
367
  - `command_update.py` is the registered CLI adapter.
322
- - `_command_update_discovery.py` determines available updates.
323
- - `_command_update_artifacts.py` prepares and validates update archives.
324
- - `_command_update_transaction.py` owns backup, installation, rollback, and
325
- cleanup behavior.
368
+ - `_operation_update.py` is the shared application entry point.
369
+ - `_operation_update_discovery.py` determines available updates.
370
+ - `_operation_update_artifacts.py` prepares and validates update archives.
371
+ - `_operation_update_transaction.py` owns backup, installation, rollback, and
372
+ cleanup behavior for every adapter.
326
373
 
327
374
  ## Decision guide
328
375
 
@@ -331,9 +378,11 @@ When deciding where code belongs:
331
378
  | Question | Location |
332
379
  |---|---|
333
380
  | Does it define a real CLI command? | `command_<name>.py` |
334
- | Is it used only by one small command? | That command module |
335
- | Is it a cohesive private phase of one complex command? | `_command_<name>_<phase>.py` |
336
- | Is it shared by multiple commands or an external CLI flow? | `_commands.py` or a focused shared module |
381
+ | Is it a small CLI-only mapping or rendering helper? | That command module |
382
+ | Is it a cohesive CLI-only phase? | `_command_<name>_<phase>.py` |
383
+ | Does it define semantic validation or orchestration for an operation? | Existing domain module or `_operation_<name>.py` |
384
+ | Is it a cohesive shared operation phase? | `_operation_<name>_<phase>.py` |
385
+ | Is it CLI infrastructure shared by multiple command adapters? | `_commands.py` or a focused CLI helper |
337
386
  | Does it define a nested CLI namespace? | A directory matching that namespace |
338
387
  | Is it shared only by commands in a nested namespace? | The nested package's `_helpers.py` |
339
388
  | Is it domain behavior independent of the CLI? | The package domain modules, not command modules |
@@ -346,6 +395,10 @@ Avoid:
346
395
  - Naming a private implementation module `command_*.py`.
347
396
  - Creating nested directories that do not correspond to CLI namespaces.
348
397
  - Creating `_commands.py` files only for visual symmetry.
398
+ - Keeping semantic validation, orchestration, or side effects in a CLI adapter
399
+ when another adapter exposes the same logical operation.
400
+ - Calling or parsing another delivery adapter instead of invoking the shared
401
+ operation.
349
402
  - Moving command-private helpers into shared infrastructure preemptively.
350
403
  - Duplicating fixtures or helpers to make tests appear more mirrored.
351
404
  - Splitting a linear function into many files without cohesive phase
@@ -359,9 +412,18 @@ For a new or refactored command:
359
412
 
360
413
  - [ ] The CLI path maps predictably to a `command_<name>.py` module.
361
414
  - [ ] Only the real command module registers a handler.
362
- - [ ] Private phase modules use `_command_<name>_<phase>.py`.
415
+ - [ ] The owning hierarchy records exactly one MCP inventory disposition for
416
+ the CLI leaf, including when it is unavailable or excluded.
417
+ - [ ] If another adapter exposes the operation, the CLI adapter maps into the
418
+ shared operation defined by `design/shared.md`.
419
+ - [ ] For a multi-adapter operation, semantic validation, orchestration, and
420
+ side effects are below the CLI adapter.
421
+ - [ ] When a shared request exists, project and target directories map into it
422
+ explicitly.
423
+ - [ ] CLI-private phase modules use `_command_<name>_<phase>.py`; shared phases
424
+ use `_operation_<name>_<phase>.py`.
363
425
  - [ ] `_commands.py` contains only group infrastructure and genuinely shared
364
- behavior.
426
+ CLI behavior.
365
427
  - [ ] Nested directories correspond to real CLI namespaces.
366
428
  - [ ] Command tests mirror the source structure.
367
429
  - [ ] Domain and cross-domain tests remain in their appropriate suites.