specify-cli 0.16.2__tar.gz → 0.16.4__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 (545) hide show
  1. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/ISSUE_TEMPLATE/bundle_submission.yml +2 -0
  2. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/ISSUE_TEMPLATE/extension_submission.yml +2 -0
  3. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/ISSUE_TEMPLATE/preset_submission.yml +2 -0
  4. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/dependabot.yml +4 -0
  5. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/add-community-extension.lock.yml +5 -5
  6. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/add-community-extension.md +3 -0
  7. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/add-community-preset.lock.yml +5 -5
  8. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/add-community-preset.md +3 -0
  9. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/catalog-assign.yml +2 -18
  10. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/codeql.yml +2 -2
  11. {specify_cli-0.16.2 → specify_cli-0.16.4}/CHANGELOG.md +51 -0
  12. {specify_cli-0.16.2 → specify_cli-0.16.4}/PKG-INFO +6 -4
  13. {specify_cli-0.16.2 → specify_cli-0.16.4}/README.md +4 -2
  14. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/community/extensions.md +6 -1
  15. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/community/presets.md +8 -7
  16. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/community/walkthroughs.md +1 -1
  17. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/quickstart.md +5 -5
  18. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/reference/agentic-sdd.md +9 -1
  19. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/reference/presets.md +2 -0
  20. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/EXTENSION-PUBLISHING-GUIDE.md +1 -1
  21. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/catalog.community.json +190 -7
  22. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/PUBLISHING.md +6 -0
  23. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/catalog.community.json +77 -96
  24. {specify_cli-0.16.2 → specify_cli-0.16.4}/pyproject.toml +1 -1
  25. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/powershell/check-prerequisites.ps1 +11 -6
  26. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/_console.py +4 -1
  27. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/_utils.py +1 -1
  28. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/authentication/config.py +13 -6
  29. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/authentication/http.py +8 -4
  30. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/lib/project.py +15 -1
  31. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/services/resolver.py +10 -0
  32. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/commands/bundle/__init__.py +14 -4
  33. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/events.py +171 -5
  34. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/extensions/__init__.py +5 -0
  35. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/alquimia/__init__.py +26 -2
  36. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/claude/__init__.py +26 -2
  37. specify_cli-0.16.4/src/specify_cli/integrations/goose/__init__.py +103 -0
  38. specify_cli-0.16.4/src/specify_cli/integrations/junie/__init__.py +178 -0
  39. specify_cli-0.16.4/src/specify_cli/integrations/vibe/__init__.py +196 -0
  40. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/presets/__init__.py +69 -71
  41. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/presets/_commands.py +11 -1
  42. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/engine.py +16 -4
  43. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/checklist-template.md +7 -2
  44. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/commands/checklist.md +11 -1
  45. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/commands/implement.md +16 -13
  46. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/commands/taskstoissues.md +1 -1
  47. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/contract/test_bundle_cli.py +30 -0
  48. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integration/test_bundler_local_install.py +33 -0
  49. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integration/test_bundler_security_paths.py +44 -0
  50. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_extra_args.py +43 -0
  51. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_alquimia.py +95 -0
  52. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_claude.py +87 -0
  53. specify_cli-0.16.4/tests/integrations/test_integration_goose.py +183 -0
  54. specify_cli-0.16.4/tests/integrations/test_integration_junie.py +229 -0
  55. specify_cli-0.16.4/tests/integrations/test_integration_vibe.py +336 -0
  56. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_authentication.py +80 -0
  57. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_check_prerequisites_python_parity.py +35 -0
  58. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_console_imports.py +21 -0
  59. specify_cli-0.16.4/tests/test_github_workflows.py +169 -0
  60. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_merge.py +24 -0
  61. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_presets.py +201 -38
  62. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_workflows.py +23 -0
  63. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundler_resolver.py +26 -0
  64. specify_cli-0.16.2/src/specify_cli/integrations/goose/__init__.py +0 -20
  65. specify_cli-0.16.2/src/specify_cli/integrations/junie/__init__.py +0 -21
  66. specify_cli-0.16.2/src/specify_cli/integrations/vibe/__init__.py +0 -109
  67. specify_cli-0.16.2/tests/integrations/test_integration_goose.py +0 -85
  68. specify_cli-0.16.2/tests/integrations/test_integration_junie.py +0 -10
  69. specify_cli-0.16.2/tests/integrations/test_integration_vibe.py +0 -37
  70. specify_cli-0.16.2/tests/test_github_workflows.py +0 -94
  71. {specify_cli-0.16.2 → specify_cli-0.16.4}/.devcontainer/devcontainer.json +0 -0
  72. {specify_cli-0.16.2 → specify_cli-0.16.4}/.devcontainer/post-create.sh +0 -0
  73. {specify_cli-0.16.2 → specify_cli-0.16.4}/.editorconfig +0 -0
  74. {specify_cli-0.16.2 → specify_cli-0.16.4}/.gitattributes +0 -0
  75. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/CODEOWNERS +0 -0
  76. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/ISSUE_TEMPLATE/agent_request.yml +0 -0
  77. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  78. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  79. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  80. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  81. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/aw/actions-lock.json +0 -0
  82. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/scripts/check_security_requirements.py +0 -0
  83. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/security-audit-requirements.txt +0 -0
  84. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/skills/add-community-extension/SKILL.md +0 -0
  85. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/RELEASE-PROCESS.md +0 -0
  86. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/add-community-bundle.lock.yml +0 -0
  87. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/add-community-bundle.md +0 -0
  88. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/bug-assess.lock.yml +0 -0
  89. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/bug-assess.md +0 -0
  90. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/bug-fix.lock.yml +0 -0
  91. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/bug-fix.md +0 -0
  92. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/bug-test.lock.yml +0 -0
  93. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/bug-test.md +0 -0
  94. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/docs.yml +0 -0
  95. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/lint.yml +0 -0
  96. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/publish-pypi.yml +0 -0
  97. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/release-trigger.yml +0 -0
  98. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/release.yml +0 -0
  99. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/security.yml +0 -0
  100. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/stale.yml +0 -0
  101. {specify_cli-0.16.2 → specify_cli-0.16.4}/.github/workflows/test.yml +0 -0
  102. {specify_cli-0.16.2 → specify_cli-0.16.4}/.gitignore +0 -0
  103. {specify_cli-0.16.2 → specify_cli-0.16.4}/.markdownlint-cli2.jsonc +0 -0
  104. {specify_cli-0.16.2 → specify_cli-0.16.4}/.pre-commit-config.yaml +0 -0
  105. {specify_cli-0.16.2 → specify_cli-0.16.4}/.zenodo.json +0 -0
  106. {specify_cli-0.16.2 → specify_cli-0.16.4}/AGENTS.md +0 -0
  107. {specify_cli-0.16.2 → specify_cli-0.16.4}/CITATION.cff +0 -0
  108. {specify_cli-0.16.2 → specify_cli-0.16.4}/CODE_OF_CONDUCT.md +0 -0
  109. {specify_cli-0.16.2 → specify_cli-0.16.4}/CONTRIBUTING.md +0 -0
  110. {specify_cli-0.16.2 → specify_cli-0.16.4}/DEVELOPMENT.md +0 -0
  111. {specify_cli-0.16.2 → specify_cli-0.16.4}/LICENSE +0 -0
  112. {specify_cli-0.16.2 → specify_cli-0.16.4}/README.zh-CN.md +0 -0
  113. {specify_cli-0.16.2 → specify_cli-0.16.4}/SECURITY.md +0 -0
  114. {specify_cli-0.16.2 → specify_cli-0.16.4}/SUPPORT.md +0 -0
  115. {specify_cli-0.16.2 → specify_cli-0.16.4}/bundles/catalog.community.json +0 -0
  116. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/.gitignore +0 -0
  117. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/README.md +0 -0
  118. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/community/bundles.md +0 -0
  119. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/community/friends.md +0 -0
  120. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/community/overview.md +0 -0
  121. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/concepts/complex-features.md +0 -0
  122. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/concepts/sdd.md +0 -0
  123. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/concepts/spec-of-specs.md +0 -0
  124. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/concepts/spec-persistence.md +0 -0
  125. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/docfx.json +0 -0
  126. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/guides/evolving-specs.md +0 -0
  127. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/guides/monorepo.md +0 -0
  128. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/index.md +0 -0
  129. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/install/air-gapped.md +0 -0
  130. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/install/one-time.md +0 -0
  131. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/install/pipx.md +0 -0
  132. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/install/pypi.md +0 -0
  133. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/install/uv.md +0 -0
  134. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/installation.md +0 -0
  135. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/local-development.md +0 -0
  136. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/reference/agentic-bugfix.md +0 -0
  137. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/reference/authentication.md +0 -0
  138. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/reference/bundles.md +0 -0
  139. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/reference/core.md +0 -0
  140. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/reference/extensions.md +0 -0
  141. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/reference/integrations.md +0 -0
  142. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/reference/overview.md +0 -0
  143. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/reference/workflows.md +0 -0
  144. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/template/public/main.css +0 -0
  145. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/toc.yml +0 -0
  146. {specify_cli-0.16.2 → specify_cli-0.16.4}/docs/upgrade.md +0 -0
  147. {specify_cli-0.16.2 → specify_cli-0.16.4}/examples/bundles/business-analyst/README.md +0 -0
  148. {specify_cli-0.16.2 → specify_cli-0.16.4}/examples/bundles/business-analyst/bundle.yml +0 -0
  149. {specify_cli-0.16.2 → specify_cli-0.16.4}/examples/bundles/developer/README.md +0 -0
  150. {specify_cli-0.16.2 → specify_cli-0.16.4}/examples/bundles/developer/bundle.yml +0 -0
  151. {specify_cli-0.16.2 → specify_cli-0.16.4}/examples/bundles/product-manager/README.md +0 -0
  152. {specify_cli-0.16.2 → specify_cli-0.16.4}/examples/bundles/product-manager/bundle.yml +0 -0
  153. {specify_cli-0.16.2 → specify_cli-0.16.4}/examples/bundles/security-researcher/README.md +0 -0
  154. {specify_cli-0.16.2 → specify_cli-0.16.4}/examples/bundles/security-researcher/bundle.yml +0 -0
  155. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/EXTENSION-API-REFERENCE.md +0 -0
  156. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +0 -0
  157. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/EXTENSION-USER-GUIDE.md +0 -0
  158. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/README.md +0 -0
  159. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
  160. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/agent-context/README.md +0 -0
  161. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/agent-context/agent-context-config.yml +0 -0
  162. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/agent-context/agent-context-defaults.json +0 -0
  163. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
  164. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/agent-context/extension.yml +0 -0
  165. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
  166. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
  167. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
  168. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/assess/README.md +0 -0
  169. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/assess/commands/speckit.assess.decide.md +0 -0
  170. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/assess/commands/speckit.assess.define.md +0 -0
  171. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/assess/commands/speckit.assess.intake.md +0 -0
  172. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/assess/commands/speckit.assess.research.md +0 -0
  173. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/assess/commands/speckit.assess.shape.md +0 -0
  174. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/assess/extension.yml +0 -0
  175. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/bug/README.md +0 -0
  176. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/bug/commands/speckit.bug.assess.md +0 -0
  177. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/bug/commands/speckit.bug.fix.md +0 -0
  178. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/bug/commands/speckit.bug.test.md +0 -0
  179. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/bug/extension.yml +0 -0
  180. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/catalog.json +0 -0
  181. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/README.md +0 -0
  182. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/commands/speckit.git.commit.md +0 -0
  183. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/commands/speckit.git.feature.md +0 -0
  184. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/commands/speckit.git.initialize.md +0 -0
  185. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/commands/speckit.git.remote.md +0 -0
  186. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/commands/speckit.git.validate.md +0 -0
  187. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/config-template.yml +0 -0
  188. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/extension.yml +0 -0
  189. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/git-config.yml +0 -0
  190. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/bash/auto-commit.sh +0 -0
  191. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/bash/create-new-feature-branch.sh +0 -0
  192. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/bash/git-common.sh +0 -0
  193. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
  194. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
  195. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +0 -0
  196. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
  197. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
  198. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/python/auto_commit.py +0 -0
  199. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/python/create_new_feature_branch.py +0 -0
  200. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/python/git_common.py +0 -0
  201. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/git/scripts/python/initialize_repo.py +0 -0
  202. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/selftest/commands/selftest.md +0 -0
  203. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/selftest/extension.yml +0 -0
  204. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/template/.gitignore +0 -0
  205. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/template/CHANGELOG.md +0 -0
  206. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/template/EXAMPLE-README.md +0 -0
  207. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/template/LICENSE +0 -0
  208. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/template/README.md +0 -0
  209. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/template/commands/example.md +0 -0
  210. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/template/config-template.yml +0 -0
  211. {specify_cli-0.16.2 → specify_cli-0.16.4}/extensions/template/extension.yml +0 -0
  212. {specify_cli-0.16.2 → specify_cli-0.16.4}/integrations/CONTRIBUTING.md +0 -0
  213. {specify_cli-0.16.2 → specify_cli-0.16.4}/integrations/README.md +0 -0
  214. {specify_cli-0.16.2 → specify_cli-0.16.4}/integrations/catalog.community.json +0 -0
  215. {specify_cli-0.16.2 → specify_cli-0.16.4}/integrations/catalog.json +0 -0
  216. {specify_cli-0.16.2 → specify_cli-0.16.4}/media/bootstrap-claude-code.gif +0 -0
  217. {specify_cli-0.16.2 → specify_cli-0.16.4}/media/logo_large.webp +0 -0
  218. {specify_cli-0.16.2 → specify_cli-0.16.4}/media/logo_small.webp +0 -0
  219. {specify_cli-0.16.2 → specify_cli-0.16.4}/media/spec-kit-video-header.jpg +0 -0
  220. {specify_cli-0.16.2 → specify_cli-0.16.4}/media/specify_cli.gif +0 -0
  221. {specify_cli-0.16.2 → specify_cli-0.16.4}/newsletters/2026-April.md +0 -0
  222. {specify_cli-0.16.2 → specify_cli-0.16.4}/newsletters/2026-February.md +0 -0
  223. {specify_cli-0.16.2 → specify_cli-0.16.4}/newsletters/2026-July.md +0 -0
  224. {specify_cli-0.16.2 → specify_cli-0.16.4}/newsletters/2026-June.md +0 -0
  225. {specify_cli-0.16.2 → specify_cli-0.16.4}/newsletters/2026-March.md +0 -0
  226. {specify_cli-0.16.2 → specify_cli-0.16.4}/newsletters/2026-May.md +0 -0
  227. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/ARCHITECTURE.md +0 -0
  228. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/README.md +0 -0
  229. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/catalog.json +0 -0
  230. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/constitution-sync/README.md +0 -0
  231. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
  232. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/constitution-sync/preset.yml +0 -0
  233. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/lean/README.md +0 -0
  234. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/lean/commands/speckit.constitution.md +0 -0
  235. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/lean/commands/speckit.implement.md +0 -0
  236. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/lean/commands/speckit.plan.md +0 -0
  237. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/lean/commands/speckit.specify.md +0 -0
  238. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/lean/commands/speckit.tasks.md +0 -0
  239. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/lean/preset.yml +0 -0
  240. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/scaffold/README.md +0 -0
  241. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
  242. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/scaffold/commands/speckit.specify.md +0 -0
  243. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/scaffold/preset.yml +0 -0
  244. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/scaffold/templates/myext-template.md +0 -0
  245. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/scaffold/templates/spec-template.md +0 -0
  246. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/self-test/commands/speckit.specify.md +0 -0
  247. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/self-test/commands/speckit.wrap-test.md +0 -0
  248. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/self-test/preset.yml +0 -0
  249. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/self-test/templates/checklist-template.md +0 -0
  250. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/self-test/templates/constitution-template.md +0 -0
  251. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/self-test/templates/plan-template.md +0 -0
  252. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/self-test/templates/spec-template.md +0 -0
  253. {specify_cli-0.16.2 → specify_cli-0.16.4}/presets/self-test/templates/tasks-template.md +0 -0
  254. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/bash/check-prerequisites.sh +0 -0
  255. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/bash/common.sh +0 -0
  256. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/bash/create-new-feature.sh +0 -0
  257. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/bash/resolve-template.sh +0 -0
  258. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/bash/setup-plan.sh +0 -0
  259. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/bash/setup-tasks.sh +0 -0
  260. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/powershell/common.ps1 +0 -0
  261. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/powershell/create-new-feature.ps1 +0 -0
  262. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/powershell/resolve-template.ps1 +0 -0
  263. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/powershell/setup-plan.ps1 +0 -0
  264. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/powershell/setup-tasks.ps1 +0 -0
  265. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/python/check_prerequisites.py +0 -0
  266. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/python/common.py +0 -0
  267. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/python/create_new_feature.py +0 -0
  268. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/python/resolve_template.py +0 -0
  269. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/python/setup_plan.py +0 -0
  270. {specify_cli-0.16.2 → specify_cli-0.16.4}/scripts/python/setup_tasks.py +0 -0
  271. {specify_cli-0.16.2 → specify_cli-0.16.4}/spec-driven.md +0 -0
  272. {specify_cli-0.16.2 → specify_cli-0.16.4}/spec-kit.code-workspace +0 -0
  273. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/__init__.py +0 -0
  274. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/_agent_config.py +0 -0
  275. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/_assets.py +0 -0
  276. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/_download_security.py +0 -0
  277. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/_github_http.py +0 -0
  278. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/_init_options.py +0 -0
  279. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/_invocation_style.py +0 -0
  280. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/_project.py +0 -0
  281. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/_toml_string.py +0 -0
  282. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/_version.py +0 -0
  283. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/agents.py +0 -0
  284. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/authentication/__init__.py +0 -0
  285. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/authentication/azure_devops.py +0 -0
  286. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/authentication/base.py +0 -0
  287. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/authentication/github.py +0 -0
  288. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/__init__.py +0 -0
  289. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
  290. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/commands_impl/catalog_config.py +0 -0
  291. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/lib/__init__.py +0 -0
  292. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/lib/versioning.py +0 -0
  293. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/lib/yamlio.py +0 -0
  294. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/models/__init__.py +0 -0
  295. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/models/catalog.py +0 -0
  296. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/models/manifest.py +0 -0
  297. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/models/records.py +0 -0
  298. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/services/__init__.py +0 -0
  299. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/services/adapters.py +0 -0
  300. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/services/catalog_stack.py +0 -0
  301. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/services/conflict.py +0 -0
  302. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/services/installer.py +0 -0
  303. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/services/packager.py +0 -0
  304. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/services/primitives.py +0 -0
  305. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/services/references.py +0 -0
  306. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/bundler/services/validator.py +0 -0
  307. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/catalogs.py +0 -0
  308. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/commands/__init__.py +0 -0
  309. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/commands/event.py +0 -0
  310. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/commands/init.py +0 -0
  311. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/extensions/_commands.py +0 -0
  312. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integration_runtime.py +0 -0
  313. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integration_scaffold.py +0 -0
  314. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integration_state.py +0 -0
  315. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integration_status.py +0 -0
  316. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/__init__.py +0 -0
  317. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/_commands.py +0 -0
  318. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/_helpers.py +0 -0
  319. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/_install_commands.py +0 -0
  320. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/_migrate_commands.py +0 -0
  321. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/_query_commands.py +0 -0
  322. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
  323. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/agy/__init__.py +0 -0
  324. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/amp/__init__.py +0 -0
  325. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/auggie/__init__.py +0 -0
  326. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/base.py +0 -0
  327. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/bob/__init__.py +0 -0
  328. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/catalog.py +0 -0
  329. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/cline/__init__.py +0 -0
  330. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
  331. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/codex/__init__.py +0 -0
  332. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/command_code/__init__.py +0 -0
  333. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/copilot/__init__.py +0 -0
  334. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
  335. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/devin/__init__.py +0 -0
  336. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/droid/__init__.py +0 -0
  337. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/firebender/__init__.py +0 -0
  338. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/forge/__init__.py +0 -0
  339. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/gemini/__init__.py +0 -0
  340. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/generic/__init__.py +0 -0
  341. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/grok/__init__.py +0 -0
  342. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/hermes/__init__.py +0 -0
  343. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
  344. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/kimi/__init__.py +0 -0
  345. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
  346. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/lingma/__init__.py +0 -0
  347. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/manifest.py +0 -0
  348. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/omp/__init__.py +0 -0
  349. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/opencode/__init__.py +0 -0
  350. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/pi/__init__.py +0 -0
  351. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
  352. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/qwen/__init__.py +0 -0
  353. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
  354. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/shai/__init__.py +0 -0
  355. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
  356. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/trae/__init__.py +0 -0
  357. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/zcode/__init__.py +0 -0
  358. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/integrations/zed/__init__.py +0 -0
  359. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/shared_infra.py +0 -0
  360. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/__init__.py +0 -0
  361. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/_commands.py +0 -0
  362. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/base.py +0 -0
  363. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/catalog.py +0 -0
  364. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/expressions.py +0 -0
  365. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/overlays/__init__.py +0 -0
  366. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/overlays/_commands.py +0 -0
  367. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/overlays/composer.py +0 -0
  368. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/overlays/layer_sources.py +0 -0
  369. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/overlays/merge.py +0 -0
  370. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/overlays/schema.py +0 -0
  371. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/__init__.py +0 -0
  372. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
  373. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/do_while/__init__.py +0 -0
  374. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
  375. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
  376. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/gate/__init__.py +0 -0
  377. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/if_then/__init__.py +0 -0
  378. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
  379. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
  380. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/shell/__init__.py +0 -0
  381. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/switch/__init__.py +0 -0
  382. {specify_cli-0.16.2 → specify_cli-0.16.4}/src/specify_cli/workflows/steps/while_loop/__init__.py +0 -0
  383. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/commands/analyze.md +0 -0
  384. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/commands/clarify.md +0 -0
  385. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/commands/constitution.md +0 -0
  386. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/commands/converge.md +0 -0
  387. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/commands/plan.md +0 -0
  388. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/commands/specify.md +0 -0
  389. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/commands/tasks.md +0 -0
  390. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/constitution-template.md +0 -0
  391. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/plan-template.md +0 -0
  392. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/spec-template.md +0 -0
  393. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/tasks-template.md +0 -0
  394. {specify_cli-0.16.2 → specify_cli-0.16.4}/templates/vscode-settings.json +0 -0
  395. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/__init__.py +0 -0
  396. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/auth_helpers.py +0 -0
  397. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/bundler_helpers.py +0 -0
  398. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/conftest.py +0 -0
  399. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/contract/test_catalog_schema.py +0 -0
  400. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/contract/test_manifest_schema.py +0 -0
  401. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/contract/test_wheel_bundled_presets.py +0 -0
  402. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
  403. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/__init__.py +0 -0
  404. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/assess/__init__.py +0 -0
  405. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/assess/test_assess_extension.py +0 -0
  406. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/bug/__init__.py +0 -0
  407. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/bug/test_bug_extension.py +0 -0
  408. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/git/__init__.py +0 -0
  409. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/git/test_git_extension.py +0 -0
  410. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/git/test_git_extension_python_parity.py +0 -0
  411. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/test_agent_context_cli_free.py +0 -0
  412. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/test_extension_agent_context.py +0 -0
  413. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
  414. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/extensions/test_update_agent_context_python_parity.py +0 -0
  415. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/hooks/TESTING.md +0 -0
  416. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/hooks/plan.md +0 -0
  417. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/hooks/spec.md +0 -0
  418. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/hooks/tasks.md +0 -0
  419. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/http_helpers.py +0 -0
  420. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integration/test_bundler_catalog_stack.py +0 -0
  421. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integration/test_bundler_init_install.py +0 -0
  422. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integration/test_bundler_install_flow.py +0 -0
  423. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integration/test_bundler_offline.py +0 -0
  424. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/__init__.py +0 -0
  425. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/conftest.py +0 -0
  426. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_base.py +0 -0
  427. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_cli.py +0 -0
  428. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_events.py +0 -0
  429. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_home_isolation.py +0 -0
  430. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_agy.py +0 -0
  431. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_amp.py +0 -0
  432. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_auggie.py +0 -0
  433. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_base_markdown.py +0 -0
  434. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_base_skills.py +0 -0
  435. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_base_toml.py +0 -0
  436. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_base_yaml.py +0 -0
  437. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_bob.py +0 -0
  438. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_catalog.py +0 -0
  439. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_cline.py +0 -0
  440. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_codebuddy.py +0 -0
  441. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_codex.py +0 -0
  442. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_command_code.py +0 -0
  443. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_copilot.py +0 -0
  444. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_cursor_agent.py +0 -0
  445. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_devin.py +0 -0
  446. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_droid.py +0 -0
  447. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_firebender.py +0 -0
  448. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_forge.py +0 -0
  449. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_gemini.py +0 -0
  450. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_generic.py +0 -0
  451. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_grok.py +0 -0
  452. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_hermes.py +0 -0
  453. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_kilocode.py +0 -0
  454. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_kimi.py +0 -0
  455. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_kiro_cli.py +0 -0
  456. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_lingma.py +0 -0
  457. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_omp.py +0 -0
  458. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_opencode.py +0 -0
  459. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_pi.py +0 -0
  460. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_qodercli.py +0 -0
  461. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_qwen.py +0 -0
  462. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_rovodev.py +0 -0
  463. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_scaffold.py +0 -0
  464. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_shai.py +0 -0
  465. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_state.py +0 -0
  466. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_subcommand.py +0 -0
  467. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_tabnine.py +0 -0
  468. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_trae.py +0 -0
  469. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_zcode.py +0 -0
  470. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_integration_zed.py +0 -0
  471. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_manifest.py +0 -0
  472. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_registry.py +0 -0
  473. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
  474. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/parity_helpers.py +0 -0
  475. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/self_upgrade_helpers.py +0 -0
  476. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_agent_config_consistency.py +0 -0
  477. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_branch_numbering.py +0 -0
  478. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_check_prerequisites_paths_only.py +0 -0
  479. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_check_tool.py +0 -0
  480. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_cli_version.py +0 -0
  481. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_command_template_py_scripts.py +0 -0
  482. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_commands_package.py +0 -0
  483. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_create_new_feature_python_parity.py +0 -0
  484. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_download_security.py +0 -0
  485. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_extension_add_path_traversal.py +0 -0
  486. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_extension_registration.py +0 -0
  487. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_extension_skills.py +0 -0
  488. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_extension_update_hardening.py +0 -0
  489. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_extensions.py +0 -0
  490. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_github_http.py +0 -0
  491. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_init_dir.py +0 -0
  492. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_init_dir_cli.py +0 -0
  493. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_init_output_markup.py +0 -0
  494. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_live_transient_windows.py +0 -0
  495. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_post_process.py +0 -0
  496. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_ps1_encoding.py +0 -0
  497. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_registrar_path_traversal.py +0 -0
  498. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_resolve_template_python_parity.py +0 -0
  499. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_security_workflow.py +0 -0
  500. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_self_upgrade_detection.py +0 -0
  501. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_self_upgrade_execution.py +0 -0
  502. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_self_upgrade_guidance.py +0 -0
  503. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_self_upgrade_verification.py +0 -0
  504. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_setup_plan_feature_json.py +0 -0
  505. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_setup_plan_no_overwrite.py +0 -0
  506. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_setup_plan_python_parity.py +0 -0
  507. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_setup_tasks.py +0 -0
  508. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_setup_tasks_python_parity.py +0 -0
  509. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_shared_infra_gitignore.py +0 -0
  510. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_shared_infra_integrity.py +0 -0
  511. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_skill_placeholder_py.py +0 -0
  512. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_specify_template_numbering.py +0 -0
  513. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_timestamp_branches.py +0 -0
  514. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_upgrade.py +0 -0
  515. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_utils.py +0 -0
  516. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_utils_assets_imports.py +0 -0
  517. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_version_imports.py +0 -0
  518. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/test_workflow_run_without_project.py +0 -0
  519. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundle_download_url.py +0 -0
  520. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundler_adapters.py +0 -0
  521. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundler_catalog_config.py +0 -0
  522. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundler_conflict.py +0 -0
  523. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundler_packager.py +0 -0
  524. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundler_primitives.py +0 -0
  525. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundler_records.py +0 -0
  526. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundler_references.py +0 -0
  527. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundler_validator.py +0 -0
  528. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundler_versioning.py +0 -0
  529. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/unit/test_bundler_yamlio.py +0 -0
  530. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/workflows/conftest.py +0 -0
  531. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/workflows/test_overlay_commands.py +0 -0
  532. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/workflows/test_overlay_composer.py +0 -0
  533. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/workflows/test_overlay_layer_sources.py +0 -0
  534. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/workflows/test_overlay_merge.py +0 -0
  535. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/workflows/test_overlay_schema.py +0 -0
  536. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/workflows/test_overlay_security.py +0 -0
  537. {specify_cli-0.16.2 → specify_cli-0.16.4}/tests/workflows/test_resolver_integration.py +0 -0
  538. {specify_cli-0.16.2 → specify_cli-0.16.4}/workflows/ARCHITECTURE.md +0 -0
  539. {specify_cli-0.16.2 → specify_cli-0.16.4}/workflows/PUBLISHING.md +0 -0
  540. {specify_cli-0.16.2 → specify_cli-0.16.4}/workflows/README.md +0 -0
  541. {specify_cli-0.16.2 → specify_cli-0.16.4}/workflows/catalog.community.json +0 -0
  542. {specify_cli-0.16.2 → specify_cli-0.16.4}/workflows/catalog.json +0 -0
  543. {specify_cli-0.16.2 → specify_cli-0.16.4}/workflows/speckit/workflow.yml +0 -0
  544. {specify_cli-0.16.2 → specify_cli-0.16.4}/workflows/step-catalog.community.json +0 -0
  545. {specify_cli-0.16.2 → specify_cli-0.16.4}/workflows/step-catalog.json +0 -0
@@ -16,6 +16,8 @@ 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.
20
+
19
21
  - type: input
20
22
  id: bundle-id
21
23
  attributes:
@@ -14,6 +14,8 @@ body:
14
14
  - Create a GitHub release with a version tag (e.g., v1.0.0)
15
15
  - Test installation: `specify extension add <extension-name> --from <your-release-url>`
16
16
 
17
+ **After submitting:** a maintainer applies the `extension-submission` label during issue triage, which starts the automated catalog validation. You don't need to apply any label or ask for one.
18
+
17
19
  - type: input
18
20
  id: extension-id
19
21
  attributes:
@@ -14,6 +14,8 @@ body:
14
14
  - Create a GitHub release with a version tag (e.g., v1.0.0)
15
15
  - Test installation from the release archive: `specify preset add --from <download-url>`
16
16
 
17
+ **After submitting:** a maintainer applies the `preset-submission` label during issue triage, which starts the automated catalog validation. You don't need to apply any label or ask for one.
18
+
17
19
  - type: input
18
20
  id: preset-id
19
21
  attributes:
@@ -8,6 +8,10 @@ updates:
8
8
  - dependency-name: "github/gh-aw-actions/**"
9
9
  - dependency-name: "github/gh-aw-actions" # Managed by gh aw compile. Version-locked to the gh-aw compiler; do not bump.
10
10
  package-ecosystem: github-actions
11
+ groups:
12
+ codeql-action:
13
+ patterns:
14
+ - "github/codeql-action*"
11
15
  schedule:
12
16
  interval: weekly
13
17
  version: 2
@@ -1,4 +1,4 @@
1
- # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"687ea37b376b3b918331c13fce6cdbf5b9898bab8e514ca57b662b92b6d3cd2c","body_hash":"83b7e917f475d6ddf32f17e7da09dd4097a01dddbcbbf8eeec673912285de8b2","compiler_version":"v0.79.8","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
1
+ # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"f9532e77722bfd32e8f626cbfbf6c5372ddcd9997963d965d53e8531b3e28a15","body_hash":"83b7e917f475d6ddf32f17e7da09dd4097a01dddbcbbf8eeec673912285de8b2","compiler_version":"v0.79.8","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
2
2
  # gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_CI_TRIGGER_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GITHUB_TOKEN"],"actions":[{"repo":"actions/checkout","sha":"3d3c42e5aac5ba805825da76410c181273ba90b1","version":"v7.0.1"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"820762786026740c76f36085b0efc47a31fe5020","version":"v7.0.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"github/gh-aw-actions/setup","sha":"c0338fef4749d08c21f8f975fb0e37efa17dda47","version":"v0.79.8"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
3
3
  # This file was automatically generated by gh-aw (v0.79.8). DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
4
4
  #
@@ -511,9 +511,9 @@ jobs:
511
511
  mkdir -p "${RUNNER_TEMP}/gh-aw/safeoutputs"
512
512
  mkdir -p /tmp/gh-aw/safeoutputs
513
513
  mkdir -p /tmp/gh-aw/mcp-logs/safeoutputs
514
- cat > "${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" << 'GH_AW_SAFE_OUTPUTS_CONFIG_7b8091d12bfe1e7b_EOF'
515
- {"add_comment":{"max":2},"add_labels":{"allowed":["extension-submission","validation-passed","validation-failed","needs-info"],"max":3},"create_pull_request":{"draft":true,"labels":["extension-submission","automated"],"max":1,"max_patch_files":100,"max_patch_size":1024,"protect_top_level_dot_folders":true,"protected_files":["package.json","bun.lockb","bunfig.toml","deno.json","deno.jsonc","deno.lock","global.json","NuGet.Config","Directory.Packages.props","mix.exs","mix.lock","go.mod","go.sum","stack.yaml","stack.yaml.lock","pom.xml","build.gradle","build.gradle.kts","settings.gradle","settings.gradle.kts","gradle.properties","package-lock.json","yarn.lock","pnpm-lock.yaml","npm-shrinkwrap.json","requirements.txt","Pipfile","Pipfile.lock","pyproject.toml","setup.py","setup.cfg","Gemfile","Gemfile.lock","uv.lock","CODEOWNERS","DESIGN.md","CONTRIBUTING.md","SECURITY.md","CODE_OF_CONDUCT.md","AGENTS.md","CLAUDE.md","GEMINI.md"],"protected_files_policy":"blocked","title_prefix":"[extension] "},"create_report_incomplete_issue":{},"missing_data":{},"missing_tool":{},"noop":{"max":1,"report-as-issue":"false"},"report_incomplete":{}}
516
- GH_AW_SAFE_OUTPUTS_CONFIG_7b8091d12bfe1e7b_EOF
514
+ cat > "${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" << 'GH_AW_SAFE_OUTPUTS_CONFIG_253299f841a5ea45_EOF'
515
+ {"add_comment":{"max":2},"add_labels":{"allowed":["extension-submission","validation-passed","validation-failed","needs-info"],"max":3},"create_pull_request":{"allowed_files":["extensions/catalog.community.json","docs/community/extensions.md"],"draft":true,"labels":["extension-submission","automated"],"max":1,"max_patch_files":100,"max_patch_size":1024,"protect_top_level_dot_folders":true,"protected_files":["package.json","bun.lockb","bunfig.toml","deno.json","deno.jsonc","deno.lock","global.json","NuGet.Config","Directory.Packages.props","mix.exs","mix.lock","go.mod","go.sum","stack.yaml","stack.yaml.lock","pom.xml","build.gradle","build.gradle.kts","settings.gradle","settings.gradle.kts","gradle.properties","package-lock.json","yarn.lock","pnpm-lock.yaml","npm-shrinkwrap.json","requirements.txt","Pipfile","Pipfile.lock","pyproject.toml","setup.py","setup.cfg","Gemfile","Gemfile.lock","uv.lock","CODEOWNERS","DESIGN.md","CONTRIBUTING.md","SECURITY.md","CODE_OF_CONDUCT.md","AGENTS.md","CLAUDE.md","GEMINI.md"],"protected_files_policy":"blocked","title_prefix":"[extension] "},"create_report_incomplete_issue":{},"missing_data":{},"missing_tool":{},"noop":{"max":1,"report-as-issue":"false"},"report_incomplete":{}}
516
+ GH_AW_SAFE_OUTPUTS_CONFIG_253299f841a5ea45_EOF
517
517
  - name: Generate Safe Outputs Tools
518
518
  env:
519
519
  GH_AW_TOOLS_META_JSON: |
@@ -1705,7 +1705,7 @@ jobs:
1705
1705
  GH_AW_ALLOWED_DOMAINS: "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.googleapis.com"
1706
1706
  GITHUB_SERVER_URL: ${{ github.server_url }}
1707
1707
  GITHUB_API_URL: ${{ github.api_url }}
1708
- GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"add_comment\":{\"max\":2},\"add_labels\":{\"allowed\":[\"extension-submission\",\"validation-passed\",\"validation-failed\",\"needs-info\"],\"max\":3},\"create_pull_request\":{\"draft\":true,\"labels\":[\"extension-submission\",\"automated\"],\"max\":1,\"max_patch_files\":100,\"max_patch_size\":1024,\"protect_top_level_dot_folders\":true,\"protected_files\":[\"package.json\",\"bun.lockb\",\"bunfig.toml\",\"deno.json\",\"deno.jsonc\",\"deno.lock\",\"global.json\",\"NuGet.Config\",\"Directory.Packages.props\",\"mix.exs\",\"mix.lock\",\"go.mod\",\"go.sum\",\"stack.yaml\",\"stack.yaml.lock\",\"pom.xml\",\"build.gradle\",\"build.gradle.kts\",\"settings.gradle\",\"settings.gradle.kts\",\"gradle.properties\",\"package-lock.json\",\"yarn.lock\",\"pnpm-lock.yaml\",\"npm-shrinkwrap.json\",\"requirements.txt\",\"Pipfile\",\"Pipfile.lock\",\"pyproject.toml\",\"setup.py\",\"setup.cfg\",\"Gemfile\",\"Gemfile.lock\",\"uv.lock\",\"CODEOWNERS\",\"DESIGN.md\",\"CONTRIBUTING.md\",\"SECURITY.md\",\"CODE_OF_CONDUCT.md\",\"AGENTS.md\",\"CLAUDE.md\",\"GEMINI.md\"],\"protected_files_policy\":\"blocked\",\"title_prefix\":\"[extension] \"},\"create_report_incomplete_issue\":{},\"missing_data\":{},\"missing_tool\":{},\"noop\":{\"max\":1,\"report-as-issue\":\"false\"},\"report_incomplete\":{}}"
1708
+ GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"add_comment\":{\"max\":2},\"add_labels\":{\"allowed\":[\"extension-submission\",\"validation-passed\",\"validation-failed\",\"needs-info\"],\"max\":3},\"create_pull_request\":{\"allowed_files\":[\"extensions/catalog.community.json\",\"docs/community/extensions.md\"],\"draft\":true,\"labels\":[\"extension-submission\",\"automated\"],\"max\":1,\"max_patch_files\":100,\"max_patch_size\":1024,\"protect_top_level_dot_folders\":true,\"protected_files\":[\"package.json\",\"bun.lockb\",\"bunfig.toml\",\"deno.json\",\"deno.jsonc\",\"deno.lock\",\"global.json\",\"NuGet.Config\",\"Directory.Packages.props\",\"mix.exs\",\"mix.lock\",\"go.mod\",\"go.sum\",\"stack.yaml\",\"stack.yaml.lock\",\"pom.xml\",\"build.gradle\",\"build.gradle.kts\",\"settings.gradle\",\"settings.gradle.kts\",\"gradle.properties\",\"package-lock.json\",\"yarn.lock\",\"pnpm-lock.yaml\",\"npm-shrinkwrap.json\",\"requirements.txt\",\"Pipfile\",\"Pipfile.lock\",\"pyproject.toml\",\"setup.py\",\"setup.cfg\",\"Gemfile\",\"Gemfile.lock\",\"uv.lock\",\"CODEOWNERS\",\"DESIGN.md\",\"CONTRIBUTING.md\",\"SECURITY.md\",\"CODE_OF_CONDUCT.md\",\"AGENTS.md\",\"CLAUDE.md\",\"GEMINI.md\"],\"protected_files_policy\":\"blocked\",\"title_prefix\":\"[extension] \"},\"create_report_incomplete_issue\":{},\"missing_data\":{},\"missing_tool\":{},\"noop\":{\"max\":1,\"report-as-issue\":\"false\"},\"report_incomplete\":{}}"
1709
1709
  GH_AW_CI_TRIGGER_TOKEN: ${{ secrets.GH_AW_CI_TRIGGER_TOKEN }}
1710
1710
  with:
1711
1711
  github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
@@ -31,6 +31,9 @@ safe-outputs:
31
31
  labels: [extension-submission, automated]
32
32
  draft: true
33
33
  max: 1
34
+ allowed-files:
35
+ - extensions/catalog.community.json
36
+ - docs/community/extensions.md
34
37
  protected-files:
35
38
  policy: blocked
36
39
  exclude:
@@ -1,4 +1,4 @@
1
- # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"b4ba1db5fdec754fa825cc3160879924118bc454a781eed70ef6c90beab83a95","body_hash":"cb6c19088fa13da0a8320c174e8c14c4887d2c8a005a5cb2d2d2faa3f890de39","compiler_version":"v0.79.8","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
1
+ # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"09fb89e95c57c7beeaa0c823fb35f38d5f9db898a419e59dd0a323e7a9209753","body_hash":"cb6c19088fa13da0a8320c174e8c14c4887d2c8a005a5cb2d2d2faa3f890de39","compiler_version":"v0.79.8","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
2
2
  # gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_CI_TRIGGER_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GITHUB_TOKEN"],"actions":[{"repo":"actions/checkout","sha":"3d3c42e5aac5ba805825da76410c181273ba90b1","version":"v7.0.1"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"820762786026740c76f36085b0efc47a31fe5020","version":"v7.0.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"github/gh-aw-actions/setup","sha":"c0338fef4749d08c21f8f975fb0e37efa17dda47","version":"v0.79.8"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
3
3
  # This file was automatically generated by gh-aw (v0.79.8). DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
4
4
  #
@@ -511,9 +511,9 @@ jobs:
511
511
  mkdir -p "${RUNNER_TEMP}/gh-aw/safeoutputs"
512
512
  mkdir -p /tmp/gh-aw/safeoutputs
513
513
  mkdir -p /tmp/gh-aw/mcp-logs/safeoutputs
514
- cat > "${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" << 'GH_AW_SAFE_OUTPUTS_CONFIG_78499ff7c917c441_EOF'
515
- {"add_comment":{"max":2},"add_labels":{"allowed":["preset-submission","validation-passed","validation-failed","needs-info"],"max":3},"create_pull_request":{"draft":true,"labels":["preset-submission","automated"],"max":1,"max_patch_files":100,"max_patch_size":1024,"protect_top_level_dot_folders":true,"protected_files":["package.json","bun.lockb","bunfig.toml","deno.json","deno.jsonc","deno.lock","global.json","NuGet.Config","Directory.Packages.props","mix.exs","mix.lock","go.mod","go.sum","stack.yaml","stack.yaml.lock","pom.xml","build.gradle","build.gradle.kts","settings.gradle","settings.gradle.kts","gradle.properties","package-lock.json","yarn.lock","pnpm-lock.yaml","npm-shrinkwrap.json","requirements.txt","Pipfile","Pipfile.lock","pyproject.toml","setup.py","setup.cfg","Gemfile","Gemfile.lock","uv.lock","CODEOWNERS","DESIGN.md","CONTRIBUTING.md","SECURITY.md","CODE_OF_CONDUCT.md","AGENTS.md","CLAUDE.md","GEMINI.md"],"protected_files_policy":"blocked","title_prefix":"[preset] "},"create_report_incomplete_issue":{},"missing_data":{},"missing_tool":{},"noop":{"max":1,"report-as-issue":"false"},"report_incomplete":{}}
516
- GH_AW_SAFE_OUTPUTS_CONFIG_78499ff7c917c441_EOF
514
+ cat > "${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" << 'GH_AW_SAFE_OUTPUTS_CONFIG_429ff69f52872d0b_EOF'
515
+ {"add_comment":{"max":2},"add_labels":{"allowed":["preset-submission","validation-passed","validation-failed","needs-info"],"max":3},"create_pull_request":{"allowed_files":["presets/catalog.community.json","docs/community/presets.md"],"draft":true,"labels":["preset-submission","automated"],"max":1,"max_patch_files":100,"max_patch_size":1024,"protect_top_level_dot_folders":true,"protected_files":["package.json","bun.lockb","bunfig.toml","deno.json","deno.jsonc","deno.lock","global.json","NuGet.Config","Directory.Packages.props","mix.exs","mix.lock","go.mod","go.sum","stack.yaml","stack.yaml.lock","pom.xml","build.gradle","build.gradle.kts","settings.gradle","settings.gradle.kts","gradle.properties","package-lock.json","yarn.lock","pnpm-lock.yaml","npm-shrinkwrap.json","requirements.txt","Pipfile","Pipfile.lock","pyproject.toml","setup.py","setup.cfg","Gemfile","Gemfile.lock","uv.lock","CODEOWNERS","DESIGN.md","CONTRIBUTING.md","SECURITY.md","CODE_OF_CONDUCT.md","AGENTS.md","CLAUDE.md","GEMINI.md"],"protected_files_policy":"blocked","title_prefix":"[preset] "},"create_report_incomplete_issue":{},"missing_data":{},"missing_tool":{},"noop":{"max":1,"report-as-issue":"false"},"report_incomplete":{}}
516
+ GH_AW_SAFE_OUTPUTS_CONFIG_429ff69f52872d0b_EOF
517
517
  - name: Generate Safe Outputs Tools
518
518
  env:
519
519
  GH_AW_TOOLS_META_JSON: |
@@ -1705,7 +1705,7 @@ jobs:
1705
1705
  GH_AW_ALLOWED_DOMAINS: "api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,archive.ubuntu.com,azure.archive.ubuntu.com,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,github.com,host.docker.internal,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,ppa.launchpad.net,raw.githubusercontent.com,registry.npmjs.org,s.symcb.com,s.symcd.com,security.ubuntu.com,telemetry.enterprise.githubcopilot.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.googleapis.com"
1706
1706
  GITHUB_SERVER_URL: ${{ github.server_url }}
1707
1707
  GITHUB_API_URL: ${{ github.api_url }}
1708
- GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"add_comment\":{\"max\":2},\"add_labels\":{\"allowed\":[\"preset-submission\",\"validation-passed\",\"validation-failed\",\"needs-info\"],\"max\":3},\"create_pull_request\":{\"draft\":true,\"labels\":[\"preset-submission\",\"automated\"],\"max\":1,\"max_patch_files\":100,\"max_patch_size\":1024,\"protect_top_level_dot_folders\":true,\"protected_files\":[\"package.json\",\"bun.lockb\",\"bunfig.toml\",\"deno.json\",\"deno.jsonc\",\"deno.lock\",\"global.json\",\"NuGet.Config\",\"Directory.Packages.props\",\"mix.exs\",\"mix.lock\",\"go.mod\",\"go.sum\",\"stack.yaml\",\"stack.yaml.lock\",\"pom.xml\",\"build.gradle\",\"build.gradle.kts\",\"settings.gradle\",\"settings.gradle.kts\",\"gradle.properties\",\"package-lock.json\",\"yarn.lock\",\"pnpm-lock.yaml\",\"npm-shrinkwrap.json\",\"requirements.txt\",\"Pipfile\",\"Pipfile.lock\",\"pyproject.toml\",\"setup.py\",\"setup.cfg\",\"Gemfile\",\"Gemfile.lock\",\"uv.lock\",\"CODEOWNERS\",\"DESIGN.md\",\"CONTRIBUTING.md\",\"SECURITY.md\",\"CODE_OF_CONDUCT.md\",\"AGENTS.md\",\"CLAUDE.md\",\"GEMINI.md\"],\"protected_files_policy\":\"blocked\",\"title_prefix\":\"[preset] \"},\"create_report_incomplete_issue\":{},\"missing_data\":{},\"missing_tool\":{},\"noop\":{\"max\":1,\"report-as-issue\":\"false\"},\"report_incomplete\":{}}"
1708
+ GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"add_comment\":{\"max\":2},\"add_labels\":{\"allowed\":[\"preset-submission\",\"validation-passed\",\"validation-failed\",\"needs-info\"],\"max\":3},\"create_pull_request\":{\"allowed_files\":[\"presets/catalog.community.json\",\"docs/community/presets.md\"],\"draft\":true,\"labels\":[\"preset-submission\",\"automated\"],\"max\":1,\"max_patch_files\":100,\"max_patch_size\":1024,\"protect_top_level_dot_folders\":true,\"protected_files\":[\"package.json\",\"bun.lockb\",\"bunfig.toml\",\"deno.json\",\"deno.jsonc\",\"deno.lock\",\"global.json\",\"NuGet.Config\",\"Directory.Packages.props\",\"mix.exs\",\"mix.lock\",\"go.mod\",\"go.sum\",\"stack.yaml\",\"stack.yaml.lock\",\"pom.xml\",\"build.gradle\",\"build.gradle.kts\",\"settings.gradle\",\"settings.gradle.kts\",\"gradle.properties\",\"package-lock.json\",\"yarn.lock\",\"pnpm-lock.yaml\",\"npm-shrinkwrap.json\",\"requirements.txt\",\"Pipfile\",\"Pipfile.lock\",\"pyproject.toml\",\"setup.py\",\"setup.cfg\",\"Gemfile\",\"Gemfile.lock\",\"uv.lock\",\"CODEOWNERS\",\"DESIGN.md\",\"CONTRIBUTING.md\",\"SECURITY.md\",\"CODE_OF_CONDUCT.md\",\"AGENTS.md\",\"CLAUDE.md\",\"GEMINI.md\"],\"protected_files_policy\":\"blocked\",\"title_prefix\":\"[preset] \"},\"create_report_incomplete_issue\":{},\"missing_data\":{},\"missing_tool\":{},\"noop\":{\"max\":1,\"report-as-issue\":\"false\"},\"report_incomplete\":{}}"
1709
1709
  GH_AW_CI_TRIGGER_TOKEN: ${{ secrets.GH_AW_CI_TRIGGER_TOKEN }}
1710
1710
  with:
1711
1711
  github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
@@ -31,6 +31,9 @@ safe-outputs:
31
31
  labels: [preset-submission, automated]
32
32
  draft: true
33
33
  max: 1
34
+ allowed-files:
35
+ - presets/catalog.community.json
36
+ - docs/community/presets.md
34
37
  protected-files:
35
38
  policy: blocked
36
39
  exclude:
@@ -1,11 +1,11 @@
1
- name: "Catalog: Auto-assign submission"
1
+ name: "Catalog: Notify submission"
2
2
 
3
3
  on:
4
4
  issues:
5
5
  types: [opened, labeled]
6
6
 
7
7
  jobs:
8
- assign:
8
+ notify:
9
9
  if: >
10
10
  (github.event.action == 'opened' && (
11
11
  contains(github.event.issue.labels.*.name, 'extension-submission') ||
@@ -24,24 +24,8 @@ jobs:
24
24
  - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9
25
25
  with:
26
26
  script: |
27
- const issue = context.payload.issue;
28
- const assigned = (issue.assignees || []).map(a => a.login);
29
27
  const marker = '<!-- catalog-assign-bot -->';
30
28
 
31
- // Assign mnriem if not already assigned
32
- if (!assigned.includes('mnriem')) {
33
- try {
34
- await github.rest.issues.addAssignees({
35
- owner: context.repo.owner,
36
- repo: context.repo.repo,
37
- issue_number: context.issue.number,
38
- assignees: ['mnriem'],
39
- });
40
- } catch (e) {
41
- console.log(`Warning: could not assign mnriem: ${e.message}`);
42
- }
43
- }
44
-
45
29
  // Post team notification if not already posted
46
30
  const comments = await github.paginate(
47
31
  github.rest.issues.listComments,
@@ -22,11 +22,11 @@ jobs:
22
22
  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
23
23
 
24
24
  - name: Initialize CodeQL
25
- uses: github/codeql-action/init@d1ba80a13dd99fba24a470575428917156a28b43 # v4
25
+ uses: github/codeql-action/init@5595ccaf912efad79be6eef63a5619ff05969be3 # v4
26
26
  with:
27
27
  languages: ${{ matrix.language }}
28
28
 
29
29
  - name: Perform CodeQL Analysis
30
- uses: github/codeql-action/analyze@d1ba80a13dd99fba24a470575428917156a28b43 # v4
30
+ uses: github/codeql-action/analyze@5595ccaf912efad79be6eef63a5619ff05969be3 # v4
31
31
  with:
32
32
  category: "/language:${{ matrix.language }}"
@@ -2,6 +2,57 @@
2
2
 
3
3
  <!-- insert new changelog below this comment -->
4
4
 
5
+ ## [0.16.4] - 2026-08-14
6
+
7
+ ### Changed
8
+
9
+ - Add SpecAssay preset to community catalog (#4123)
10
+ - Update Intake Authoring Governance preset to v0.3.1 (#4121)
11
+ - Update Superspec extension to v1.0.2 (#4120)
12
+ - fix(taskstoissues): widen task-ID regex to match IDs longer than 3 digits (#4101)
13
+ - Add Architecture Governance extension to community catalog (#4122)
14
+ - fix(workflows): validate non-string step types (#4111)
15
+ - Harden community submission workflow output allowlists (#4103)
16
+ - chore(deps): bump github/codeql-action (init + analyze) from 4.37.5 to 4.37.6 (#4114)
17
+ - Add SpecAssay Check extension to community catalog (#4113)
18
+ - fix(integrations): dispatch goose commands via `goose run` (#2416) (#3781)
19
+ - fix(powershell): stop Out-Null swallowing the AVAILABLE_DOCS status lines (#3891)
20
+ - fix: remove TOCTOU race in RunState.load (#3839)
21
+ - fix: decode the zipped manifest as UTF-8 before parsing (#3958)
22
+ - Update Agent Parity Governance preset to v0.4.2 (#4110)
23
+ - fix: log progress tracker refresh errors instead of silently swallowing (#3975)
24
+ - [extension] Add SpecJudge extension to community catalog (#4079)
25
+ - fix(bundler): read the authoritative `default_integration` field, not only its legacy aliases (#3880)
26
+ - fix(auth): treat exact host patterns literally (#4108)
27
+ - feat: add Mistral Vibe integration with Claude parity (#4075)
28
+ - [extension] Add spec-kit-atlas extension to community catalog (#4105)
29
+ - chore: release 0.16.3, begin 0.16.4.dev0 development (#4107)
30
+
31
+ ## [0.16.3] - 2026-08-13
32
+
33
+ ### Changed
34
+
35
+ - fix: narrow bare except Exception in VS Code settings merge (#3844)
36
+ - feat(presets): list presets in resolution/precedence order (#4086) (#4104)
37
+ - Fix: scaffold self-contained namespaced preset commands (#4076) (#4082)
38
+ - Update Cross-Platform Governance preset to v0.2.2 (#4080)
39
+ - fix(bundler): treat a blank active integration as indeterminate in FR-019 (#3886)
40
+ - Integrate Junie with dot-to-hyphen behavior and command formatting (#4073)
41
+ - Update A11Y Governance preset to v0.4.3 (#4074)
42
+ - Fix Alquimia argument hints after folded descriptions (#4063)
43
+ - fix: use bounded read for bundle download HTTP responses (#3764)
44
+ - Update iSAQB Architecture Governance preset to v0.2.2 (#4056)
45
+ - fix(claude): make argument-hint injection fold-aware for long descriptions (#4045)
46
+ - Add SpecKit Grill Me extension to community catalog (#4052)
47
+ - Update Architecture Governance preset to v0.5.2 (#4050)
48
+ - Remove auto-assign from catalog submission workflow (#4054)
49
+ - docs: clarify example spec guidance (#4048)
50
+ - Clarify custom checklist ownership and lifecycle (#4028)
51
+ - Update Archive Extension to v1.2.2 (#4053)
52
+ - Update Security Governance preset to v0.6.2 (#4040)
53
+ - docs: clarify maintainer applies submission label during triage (#4041)
54
+ - chore: release 0.16.2, begin 0.16.3.dev0 development (#4038)
55
+
5
56
  ## [0.16.2] - 2026-08-10
6
57
 
7
58
  ### Changed
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: specify-cli
3
- Version: 0.16.2
3
+ Version: 0.16.4
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
@@ -303,9 +303,11 @@ specify bundle validate --path ./my-bundle # structural + reference checks
303
303
  specify bundle build --path ./my-bundle # produce a versioned .zip artifact
304
304
  ```
305
305
 
306
- Four ready-to-read example manifests live under
306
+ Four ready-to-read example bundle manifests live under
307
307
  [`examples/bundles/`](examples/bundles/) (product manager, business analyst,
308
- security researcher, developer).
308
+ security researcher, developer). These are bundle packaging examples, not
309
+ filled generated feature specs; for end-to-end community examples, see the
310
+ [community walkthroughs](https://github.github.io/spec-kit/community/walkthroughs.html).
309
311
 
310
312
  Key guarantees: `info` shows exactly what `install` adds (transparency);
311
313
  installs are idempotent and confined to the project root; `remove` never touches
@@ -283,9 +283,11 @@ specify bundle validate --path ./my-bundle # structural + reference checks
283
283
  specify bundle build --path ./my-bundle # produce a versioned .zip artifact
284
284
  ```
285
285
 
286
- Four ready-to-read example manifests live under
286
+ Four ready-to-read example bundle manifests live under
287
287
  [`examples/bundles/`](examples/bundles/) (product manager, business analyst,
288
- security researcher, developer).
288
+ security researcher, developer). These are bundle packaging examples, not
289
+ filled generated feature specs; for end-to-end community examples, see the
290
+ [community walkthroughs](https://github.github.io/spec-kit/community/walkthroughs.html).
289
291
 
290
292
  Key guarantees: `info` shows exactly what `install` adds (transparency);
291
293
  installs are idempotent and confined to the project root; `remove` never touches
@@ -32,9 +32,11 @@ The following community-contributed extensions are available in [`catalog.commun
32
32
  | Analytics | Measure what your AI builds, and how much time it saves you | `visibility` | Read+Write | [spec-kit-analytics](https://github.com/Fyloss/spec-kit-analytics) |
33
33
  | API Evolve | Managed API contract evolution — breaking-change detection, semver enforcement, deprecation orchestration, and lifecycle gates across REST, GraphQL, and gRPC | `process` | Read+Write | [spec-kit-api-evolve](https://github.com/Quratulain-bilal/spec-kit-api-evolve) |
34
34
  | Architect Impact Previewer | Predicts architectural impact, complexity, and risks of proposed changes before implementation. | `visibility` | Read-only | [spec-kit-architect-preview](https://github.com/UmmeHabiba1312/spec-kit-architect-preview) |
35
+ | Architecture Governance | Keep specs, code & ADRs in sync: citation slots + a read-only, fail-closed validator | `docs` | Read+Write | [spec-kit-arch-governance](https://github.com/ashbrener/spec-kit-arch-governance) |
35
36
  | Architecture Guard | Framework-agnostic architecture review extension for validating implementation against governance and architecture constitutions, detecting architectural drift, and generating non-blocking refactor tasks | `process` | Read+Write | [spec-kit-architecture-guard](https://github.com/DyanGalih/spec-kit-architecture-guard) |
36
37
  | Architecture Workflow | Generate or reverse project-level 4+1 architecture views with per-view and full-workflow commands | `docs` | Read+Write | [spec-kit-arch](https://github.com/bigsmartben/spec-kit-arch) |
37
- | Archive Extension | Archive merged features into main project memory. | `docs` | Read+Write | [spec-kit-archive](https://github.com/stn1slv/spec-kit-archive) |
38
+ | Archive Extension | Archive merged features into main project memory, resolving gaps and conflicts. | `docs` | Read+Write | [spec-kit-archive](https://github.com/stn1slv/spec-kit-archive) |
39
+ | spec-kit-atlas | Synthesize spec-kit specs into faithful, interactive architecture storybooks & doc portals. | `docs` | Read-only | [spec-kit-atlas](https://github.com/ashbrener/spec-kit-atlas) |
38
40
  | Azure DevOps Integration | Sync user stories and tasks to Azure DevOps work items using OAuth authentication | `integration` | Read+Write | [spec-kit-azure-devops](https://github.com/pragya247/spec-kit-azure-devops) |
39
41
  | Blueprint | Stay code-literate in AI-driven development: review a complete code blueprint for every task from spec artifacts before /speckit.implement runs | `docs` | Read+Write | [spec-kit-blueprint](https://github.com/chordpli/spec-kit-blueprint) |
40
42
  | Blueprint Index — Living Architecture Map | A living architecture map for spec-driven projects, kept honest by a deterministic, low-friction, machine-first CI gate (JSON, self-healable) that blocks only when the map contradicts the specs or code. Brownfield or greenfield. | `process` | Read+Write | [spec-kit-blueprint](https://github.com/ogil109/spec-kit-blueprint) |
@@ -145,7 +147,10 @@ The following community-contributed extensions are available in [`catalog.commun
145
147
  | Spec Validate | Comprehension validation, review gating, and approval state for spec-kit artifacts — staged quizzes, peer review SLA, and a hard gate before /speckit.implement | `process` | Read+Write | [spec-kit-spec-validate](https://github.com/aeltayeb/spec-kit-spec-validate) |
146
148
  | Spec-Kit BDD | ATDD/BDD extension: convert specs to Gherkin scenarios, scaffold step definitions, and verify acceptance test coverage | `process` | Read+Write | [spec-kit-bdd](https://github.com/RSginer/spec-kit-bdd) |
147
149
  | Spec2Cloud | Spec-driven workflow tuned for shipping to Azure | `process` | Read+Write | [spec2cloud](https://github.com/Azure-Samples/Spec2Cloud) |
150
+ | SpecAssay Check | Gate 2 refuses silent gaps and emits a trace-manifest (trace-manifest.json). | `visibility` | Read+Write | [specassay](https://github.com/rdryfoos/specassay) |
151
+ | SpecJudge — right-size the model before you implement | Recommends the model that fits your tasks, citing the spec fragment behind every level. | `process` | Read-only | [SpecJudge](https://github.com/JoaquinRuiz/SpecJudge) |
148
152
  | SpecKit Companion | Live spec-driven progress — lifecycle capture, status, resume, and a turbo pipeline profile | `visibility` | Read+Write | [speckit-companion](https://github.com/alfredoperez/speckit-companion) |
153
+ | SpecKit Grill Me | Exhaustively resolve specification ambiguities and decisions before planning | `process` | Read+Write | [speckit-grill-me](https://github.com/yoshi1220/speckit-grill-me) |
149
154
  | SpecTest | Auto-generate test scaffolds from spec criteria, map coverage, and find untested requirements | `code` | Read+Write | [spec-kit-spectest](https://github.com/Quratulain-bilal/spec-kit-spectest) |
150
155
  | Squad Bridge | Bootstrap and synchronize a Squad agent team from your Speckit spec and tasks. | `process` | Read+Write | [spec-kit-squad](https://github.com/jwill824/spec-kit-squad) |
151
156
  | Staff Review Extension | Staff-engineer-level code review that validates implementation against spec, checks security, performance, and test coverage | `code` | Read-only | [spec-kit-staff-review](https://github.com/arunt14/spec-kit-staff-review) |
@@ -7,22 +7,22 @@ The following community-contributed presets customize how Spec Kit behaves — o
7
7
 
8
8
  | Preset | Purpose | Provides | Requires | URL |
9
9
  |--------|---------|----------|----------|-----|
10
- | A11Y Governance | Adds accessibility (WCAG 2.2 AA), accessible text and JSON status parity, bilingual DE/EN delivery, CEFR-B2 readability, inclusive-content governance, didactic inline-code-comment review, and audit-ready Spec-Kit run evidence to Spec Kit | 10 templates, 3 commands | — | [spec-kit-preset-a11y-governance](https://github.com/hindermath/spec-kit-preset-a11y-governance) |
11
- | Agent Parity Governance | Adds shared-guidance and generated-command parity, repository-fleet completion evidence, secret-free runner/status metadata, audit-ready Spec-Kit run evidence, and agent-neutral model-routing guidance across declared AI-agent surfaces. | 6 templates, 3 commands | — | [spec-kit-preset-agent-parity-governance](https://github.com/hindermath/spec-kit-preset-agent-parity-governance) |
10
+ | A11Y Governance | Adds WCAG 2.2 AA, accessible status output, bilingual CEFR-B2 delivery, inclusive-content and didactic-comment governance, and provider-neutral model routing. | 11 templates, 3 commands | — | [spec-kit-preset-a11y-governance](https://github.com/hindermath/spec-kit-preset-a11y-governance) |
11
+ | Agent Parity Governance | Adds shared-guidance parity, fleet-completion evidence, secret-free runner metadata, audit-ready Spec Kit evidence, and agent-neutral model routing across declared AI-agent surfaces. | 7 templates, 3 commands | — | [spec-kit-preset-agent-parity-governance](https://github.com/hindermath/spec-kit-preset-agent-parity-governance) |
12
12
  | AIDE In-Place Migration | Adapts the AIDE extension workflow for in-place technology migrations (X → Y pattern) — adds migration objectives, verification gates, knowledge documents, and behavioral equivalence criteria | 2 templates, 8 commands | AIDE extension | [spec-kit-presets](https://github.com/mnriem/spec-kit-presets) |
13
- | Architecture Governance | Adds secure software architecture, resumable remote-transaction boundaries, STRIDE+CAPEC threat modeling, arc42 security cross-cutting concepts, S-ADRs, Zero Trust applicability, OWASP SAMM governance, BSI C3A cloud autonomy, BSI C5 cloud compliance assurance, and audit-ready Spec Kit run evidence | 13 templates, 3 commands | — | [spec-kit-preset-architecture-governance](https://github.com/hindermath/spec-kit-preset-architecture-governance) |
13
+ | Architecture Governance | Adds secure architecture, STRIDE/CAPEC threat modeling, arc42/S-ADR guidance, Zero Trust, SAMM, BSI cloud assurance, audit evidence, and provider-neutral model routing. | 14 templates, 3 commands | — | [spec-kit-preset-architecture-governance](https://github.com/hindermath/spec-kit-preset-architecture-governance) |
14
14
  | Autonomous Run Governance | Adds permission-bounded autonomous delivery, an optional intake-review gate, and preservation of the project's learner and accessibility contract. | 13 templates, 5 commands, 4 scripts | — | [spec-kit-preset-autonomous-run-governance](https://github.com/hindermath/spec-kit-preset-autonomous-run-governance) |
15
15
  | Canon Core | Adapts original Spec Kit workflow to work together with Canon extension | 2 templates, 8 commands | — | [spec-kit-canon](https://github.com/maximiliamus/spec-kit-canon) |
16
16
  | Claude AskUserQuestion | Upgrades `/speckit.clarify` and `/speckit.checklist` on Claude Code from Markdown-table prompts to the native AskUserQuestion picker, with a recommended option and reasoning on every question | 2 commands | — | [spec-kit-preset-claude-ask-questions](https://github.com/0xrafasec/spec-kit-preset-claude-ask-questions) |
17
17
  | Command Density | Compacts the nine core Spec Kit command prompts while preserving scripts, handoffs, placeholders, hook output blocks, and rule structure | 9 commands | — | [spec-kit-preset-command-density](https://github.com/Xopoko/spec-kit-preset-command-density) |
18
- | Cross-Platform Governance | Adds Bash/PowerShell and read-only check parity, root-path and native-override review, Unix man pages, bilingual help, Verb-Noun discipline, and audit-ready evidence. | 8 templates, 3 commands | — | [spec-kit-preset-cross-platform-governance](https://github.com/hindermath/spec-kit-preset-cross-platform-governance) |
18
+ | Cross-Platform Governance | Adds Bash/PowerShell parity, read-only checks, path and native-override review, Unix man pages, bilingual PowerShell help, and provider-neutral model routing. | 9 templates, 3 commands | — | [spec-kit-preset-cross-platform-governance](https://github.com/hindermath/spec-kit-preset-cross-platform-governance) |
19
19
  | Explicit Task Dependencies | Adds explicit `(depends on T###)` dependency declarations and an Execution Wave DAG to tasks.md for parallel scheduling | 1 template, 1 command | — | [spec-kit-preset-explicit-task-dependencies](https://github.com/Quratulain-bilal/spec-kit-preset-explicit-task-dependencies) |
20
20
  | Fiction Book Writing | It adapts the Spec-Driven Development workflow for storytelling to create books or audiobooks (with annotations) in 12 languages: features become story elements, specs become story briefs, plans become story structures, and tasks become scene-by-scene writing tasks. Supports single and multi-POV, all major plot structure frameworks, and two style modes: an author voice sample or humanized AI prose principles. Supports interactive elements like brainstorming, interview, roleplay, and extras like statistics, cover builder, illustration builder, and bio command. Export with templates for KDP, D2D, etc. | 26 templates, 34 commands, 2 scripts | — | [speckit-preset-fiction-book-writing](https://github.com/adaumann/speckit-preset-fiction-book-writing) |
21
21
  | Game Narrative Writing | Preset for game narrative design and interactive storytelling. It adapts the Spec-Driven Development workflow for game narratives: features become story mechanics, specs become narrative briefs, plans become story maps, and tasks become dialogue and scene-writing tasks. Supports branching narratives, player agency systems, state machines, and interactive dialogue trees. | 37 templates, 34 commands, 5 scripts | — | [speckit-preset-game-narrative-writing](https://github.com/adaumann/speckit-preset-game-narrative-writing) |
22
- | Intake Authoring Governance | Governs traceable intake CRUD and language-aware requirements collections with atomic migrations, rollback evidence, and safe series authoring. | 12 templates, 5 commands, 7 scripts | — | [spec-kit-preset-intake-authoring-governance](https://github.com/hindermath/spec-kit-preset-intake-authoring-governance) |
22
+ | Intake Authoring Governance | Governs traceable intake CRUD, language-aware requirements collections, bounded public HTTPS sources, and explicitly approved single or series authoring. | 13 templates, 5 commands, 7 scripts | — | [spec-kit-preset-intake-authoring-governance](https://github.com/hindermath/spec-kit-preset-intake-authoring-governance) |
23
23
  | Intake Review Governance | Reviews single, series, campaign, and language-aware requirements collections before Spec Kit execution. | 8 templates, 3 commands, 4 scripts | — | [spec-kit-preset-intake-review-governance](https://github.com/hindermath/spec-kit-preset-intake-review-governance) |
24
24
  | Intake Sequencing Governance | Manages language-aware intake-series order, typed dependencies, lifecycle, and authority-neutral next-candidate selection. | 11 templates, 6 commands, 8 scripts | — | [spec-kit-preset-intake-sequencing-governance](https://github.com/hindermath/spec-kit-preset-intake-sequencing-governance) |
25
- | iSAQB Architecture Governance | Adds iSAQB/CPSA-F and arc42 architecture governance with audit-ready evidence for goals, views, resumability, partial-failure scenarios, ADRs, risks, and technical debt. | 13 templates, 3 commands | — | [spec-kit-preset-isaqb-architecture-governance](https://github.com/hindermath/spec-kit-preset-isaqb-architecture-governance) |
25
+ | iSAQB Architecture Governance | Adds iSAQB/CPSA-F and arc42 architecture governance, architecture views, quality scenarios, ADRs, risks, technical-debt evidence, and provider-neutral model routing. | 14 templates, 3 commands | — | [spec-kit-preset-isaqb-architecture-governance](https://github.com/hindermath/spec-kit-preset-isaqb-architecture-governance) |
26
26
  | Jira Issue Tracking | Overrides `speckit.taskstoissues` to create Jira epics, stories, and tasks instead of GitHub Issues via Atlassian MCP tools | 1 command | — | [spec-kit-preset-jira](https://github.com/luno/spec-kit-preset-jira) |
27
27
  | Model Driven Engineering | Focuses on streamlined commands, app repository support, cross-spec support, and capability-aware project memory for model-driven engineering workflows | 6 templates, 11 commands | MDE extension | [spec-kit-preset-mde](https://github.com/AI-MDE/spec-kit-preset-mde) |
28
28
  | Model Routing Governance | Maps provider-neutral Spec Kit roles to validated harness-local runner profiles without storing model availability, credentials, or machine-specific selections in Git. | 4 templates, 2 commands, 2 scripts | — | [spec-kit-preset-model-routing-governance](https://github.com/hindermath/spec-kit-preset-model-routing-governance) |
@@ -30,9 +30,10 @@ The following community-contributed presets customize how Spec Kit behaves — o
30
30
  | Parallel Autonomous Run Governance | Coordinates permission-bounded autonomous campaigns while preserving the project's learner and accessibility contract across workers and consolidation. | 9 templates, 5 commands, 2 scripts | autonomous-run-governance >=0.2.2; optional: intake-review-governance >=0.1.0 | [spec-kit-preset-parallel-autonomous-run-governance](https://github.com/hindermath/spec-kit-preset-parallel-autonomous-run-governance) |
31
31
  | Pirate Speak (Full) | Transforms all Spec Kit output into pirate speak — specs become "Voyage Manifests", plans become "Battle Plans", tasks become "Crew Assignments" | 6 templates, 9 commands | — | [spec-kit-presets](https://github.com/mnriem/spec-kit-presets) |
32
32
  | Screenwriting | Spec-Driven Development for screenwriting/scriptwriting/tutorials: feature films, television (pilot, episode, limited series), and stage plays. Adapts the Spec Kit workflow to screenplay craft — slug lines, action lines, act breaks, beat sheets, and industry-standard pitch documents. Supports three-act, Save the Cat, TV pilot, network episode, cable/streaming episode, and stage-play structural frameworks. Export to Fountain, FTX, PDF | 26 templates, 32 commands, 1 script | — | [speckit-preset-screenwriting](https://github.com/adaumann/speckit-preset-screenwriting) |
33
- | Security Governance | Adds memory-safe-language and secure-coding governance, exact-head and security-gate evidence, provider-failure classification, ASVS, supply-chain transparency, and EU regulatory screening. | 14 templates, 3 commands | — | [spec-kit-preset-security-governance](https://github.com/hindermath/spec-kit-preset-security-governance) |
33
+ | Security Governance | Adds memory-safe-language and secure-coding governance, exact-head security evidence, ASVS, supply-chain transparency, EU regulatory screening, and provider-neutral model routing. | 15 templates, 3 commands | — | [spec-kit-preset-security-governance](https://github.com/hindermath/spec-kit-preset-security-governance) |
34
34
  | SicarioSpec Core | Baseline secure-by-default Spec Kit governance profile. | 5 templates | — | [sicario-spec](https://github.com/dfirs1car1o/sicario-spec) |
35
35
  | Spec2Cloud | Spec-driven workflow tuned for shipping to Azure: spec → plan → tasks → implement → deploy | 5 templates, 8 commands | — | [spec2cloud](https://github.com/Azure-Samples/Spec2Cloud) |
36
+ | SpecAssay | Appends durable-ID, Carries, and SpecAssay vocabulary onto Spec Kit spec, tasks, and constitution templates. | 3 templates | — | [specassay](https://github.com/rdryfoos/specassay) |
36
37
  | Table of Contents Navigation | Adds a navigable Table of Contents to generated spec.md, plan.md, and tasks.md documents | 3 templates, 3 commands | — | [spec-kit-preset-toc-navigation](https://github.com/Quratulain-bilal/spec-kit-preset-toc-navigation) |
37
38
  | Test-First Governance | Governs TDD with coverage-complete BDD/ATDD Gherkin scenarios, explicit suite ownership, professional test reports, traceability, and risk-based quality gates. | 10 templates, 8 commands | — | [spec-kit-preset-test-first-governance](https://github.com/ka-zo/spec-kit-preset-test-first-governance) |
38
39
  | VS Code Ask Questions | Enhances the clarify command to use `vscode/askQuestions` for batched interactive questioning. | 1 command | — | [spec-kit-presets](https://github.com/fdcastel/spec-kit-presets) |
@@ -3,7 +3,7 @@
3
3
  > [!NOTE]
4
4
  > Community walkthroughs are independently created and maintained by their respective authors. They are **not reviewed, nor endorsed, nor supported by GitHub**. Review their content before following along and use at your own discretion.
5
5
 
6
- See Spec-Driven Development in action across different scenarios with these community-contributed walkthroughs:
6
+ See Spec-Driven Development in action across different scenarios with these community-contributed walkthroughs. They are useful read-only examples of completed flows, but they are not official golden outputs for generated specs, plans, or tasks.
7
7
 
8
8
  - **[Greenfield .NET CLI tool](https://github.com/mnriem/spec-kit-dotnet-cli-demo)** — Builds a Timezone Utility as a .NET single-binary CLI tool from a blank directory, covering the full spec-kit workflow: constitution, specify, plan, tasks, and multi-pass implement using GitHub Copilot agents.
9
9
 
@@ -5,8 +5,7 @@ This guide will help you get started with Spec-Driven Development using Spec Kit
5
5
  > [!NOTE]
6
6
  > Automation scripts are provided as Bash (`.sh`), PowerShell (`.ps1`), and Python (`.py`) variants. Interactive `specify init` prompts you to choose one; non-interactive runs default to a shell variant for your OS. Pass `--script sh|ps|py` to select explicitly.
7
7
 
8
- > [!NOTE]
9
- > Commands are shown here in `/speckit.*` form, but the exact invocation depends on your agent. Some skills-based agents use `$speckit-*` (e.g. Codex, ZCode) or `/skill:speckit-*` (e.g. Kimi). Use whichever form your agent exposes — the steps are otherwise identical.
8
+ Commands are shown here in `/speckit.*` form, but the exact invocation depends on your agent. Some skills-based agents use `$speckit-*` (e.g. Codex, ZCode) or `/skill:speckit-*` (e.g. Kimi). Use whichever form your agent exposes — the steps are otherwise identical.
10
9
 
11
10
  ## Recommended Process
12
11
 
@@ -83,7 +82,7 @@ Generates the design artifacts from the spec. This is where implementation detai
83
82
 
84
83
  ### Step 5: `/speckit.checklist` — validate the spec
85
84
 
86
- Generates a quality checklist — "unit tests for your requirements" — to confirm the spec is complete, clear, and consistent before you break the work down.
85
+ Generates a custom quality checklist — "unit tests for your requirements" — to confirm the spec is complete, clear, and consistent before you break the work down. These custom checklists are reviewer-owned requirements-quality review artifacts: mark an item `[x]` only when the reviewer determines that requirement-quality criterion is satisfied. Checked custom items do not mean implementation work is complete.
87
86
 
88
87
  ```text
89
88
  /speckit.checklist
@@ -107,7 +106,7 @@ Reports conflicts, gaps, and ambiguities across `spec.md`, `plan.md`, and `tasks
107
106
 
108
107
  ### Step 8: `/speckit.implement` — build it
109
108
 
110
- Executes the tasks in `tasks.md` in dependency order. Run it once to build everything, or scope it to one phase at a time for large features.
109
+ Executes the tasks in `tasks.md` in dependency order. Before implementation, it reads checklist checkbox state as a gate and asks before proceeding if any checklist items are unchecked; it does not change any checklist files or markers. The built-in `checklists/requirements.md` checklist is maintained by `/speckit.specify` and `/speckit.clarify`, while custom checklists remain reviewer-owned. Run it once to build everything, or scope it to one phase at a time for large features.
111
110
 
112
111
  ```text
113
112
  /speckit.implement
@@ -136,5 +135,6 @@ Checks the codebase against the spec, plan, and tasks. If it finds gaps, it appe
136
135
 
137
136
  - See the [Agentic SDD](reference/agentic-sdd.md) reference for full detail on every command
138
137
  - Read the [complete methodology](https://github.com/github/spec-kit/blob/main/spec-driven.md) for in-depth guidance
139
- - Check out [more examples](https://github.com/github/spec-kit/tree/main/templates) in the repository
138
+ - Compare the [core templates](https://github.com/github/spec-kit/tree/main/templates) with
139
+ [community walkthroughs](community/walkthroughs.md) to see how Spec-Driven Development is used in real projects
140
140
  - Explore the [source code on GitHub](https://github.com/github/spec-kit)
@@ -23,6 +23,8 @@ Creates or updates the project **constitution** — the guiding principles that
23
23
 
24
24
  Creates or updates the feature **specification** from a natural-language description. Focus on the **what** and **why** — the user-facing behavior and goals — not the tech stack, which belongs in `/speckit.plan`.
25
25
 
26
+ This workflow may also maintain `checklists/requirements.md`, the built-in spec-quality checklist that `/speckit.specify` creates and `/speckit.clarify` re-evaluates. That lifecycle is separate from custom checklists generated by `/speckit.checklist`.
27
+
26
28
  ```text
27
29
  /speckit.specify Build an application that helps me organize photos into albums grouped by date, re-orderable by drag-and-drop on the main page, with a tile preview inside each album.
28
30
  ```
@@ -37,6 +39,8 @@ Asks up to five targeted questions about underspecified areas of the current spe
37
39
 
38
40
  Clarifying before planning keeps you from designing on top of ambiguity. If `/speckit.analyze` later surfaces requirement gaps, come back and run `/speckit.clarify` (or `/speckit.specify`) again.
39
41
 
42
+ When `checklists/requirements.md` exists, `/speckit.clarify` may update its evaluated state as part of tightening the spec. This exception applies only to the built-in requirements checklist, not to custom review checklists.
43
+
40
44
  ## `/speckit.plan`
41
45
 
42
46
  Runs the planning process to generate design artifacts from the spec. This is where implementation detail belongs — provide your tech stack, architecture, and technical constraints as arguments.
@@ -49,6 +53,8 @@ Runs the planning process to generate design artifacts from the spec. This is wh
49
53
 
50
54
  Generates a quality checklist for the feature — think of it as **"unit tests for your requirements."** Rather than testing code, it checks whether the spec itself is complete, clear, unambiguous, and consistent (for example: "Are the drag-and-drop rules defined for every column?", "Is behavior specified for a deleted assigned user?").
51
55
 
56
+ Custom checklists generated by this command are reviewer-owned requirements-quality review artifacts. An agent may help evaluate them when explicitly asked, but implementation must not silently self-approve them. In a custom checklist, `[x]` means the reviewer determined the requirements-quality criterion is satisfied; it does not mean implementation work is complete.
57
+
52
58
  Run it with no arguments for a broad pass, or pass a focus area to target one aspect:
53
59
 
54
60
  ```text
@@ -59,7 +65,7 @@ Run it with no arguments for a broad pass, or pass a focus area to target one as
59
65
  /speckit.checklist Focus on the Kanban board interactions and comment permissions.
60
66
  ```
61
67
 
62
- Review the generated checklist. If it surfaces gaps, loop back to `/speckit.clarify` or `/speckit.specify` to tighten the spec before breaking the work down.
68
+ Review the generated checklist. If it surfaces gaps, loop back to `/speckit.clarify` or `/speckit.specify` to tighten the spec before breaking the work down, then mark each custom checklist item `[x]` only after the requirements-quality criterion has been reviewed and satisfied.
63
69
 
64
70
  ## `/speckit.tasks`
65
71
 
@@ -83,6 +89,8 @@ Run it before implementing, while the artifacts can still be adjusted cheaply. I
83
89
 
84
90
  Executes the tasks in `tasks.md`, running each phase in dependency order and respecting parallel markers.
85
91
 
92
+ Before executing tasks, it reads checklist checkbox state as a gate. Checklist markers are read-only for this command: `/speckit.implement` counts checked and unchecked items and asks before proceeding when any are unchecked, but it must not change checklist markers. For custom checklists, checked items mean reviewer approval of requirements quality, not completed implementation work.
93
+
86
94
  For a small feature, run it once to build everything:
87
95
 
88
96
  ```text
@@ -47,6 +47,8 @@ specify preset list
47
47
 
48
48
  Lists installed presets with their versions, descriptions, template counts, and current status.
49
49
 
50
+ Presets are printed in **resolution/precedence order**: the highest-precedence preset (lowest priority number) is listed first, and ties on priority are broken alphabetically by preset id. This matches the order used when composing commands and resolving templates, so the top entry is the one that wins for overlapping files.
51
+
50
52
  ## Preset Info
51
53
 
52
54
  ```bash
@@ -151,7 +151,7 @@ To submit your extension to the community catalog, file a new issue using the **
151
151
 
152
152
  ### What Happens After You Submit
153
153
 
154
- 1. Your issue is automatically labeled and assigned to a maintainer for review
154
+ 1. A maintainer reviews the issue during issue triage and applies the `extension-submission` label, which starts the automated catalog validation. On this public repository, contributors cannot apply that label themselves, so there is nothing to label or re-request — the issue simply waits in triage.
155
155
  2. A maintainer verifies that the catalog entry is complete and correctly formatted
156
156
  3. Once approved, the maintainer adds your extension to `extensions/catalog.community.json` and the Community Extensions table in the README
157
157
  4. Your extension becomes discoverable via `specify extension search`