specify-cli 0.16.1__tar.gz → 0.16.3__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 (541) hide show
  1. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/ISSUE_TEMPLATE/agent_request.yml +1 -1
  2. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/ISSUE_TEMPLATE/bug_report.yml +1 -0
  3. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/ISSUE_TEMPLATE/bundle_submission.yml +2 -0
  4. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/ISSUE_TEMPLATE/extension_submission.yml +2 -0
  5. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/ISSUE_TEMPLATE/feature_request.yml +1 -0
  6. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/ISSUE_TEMPLATE/preset_submission.yml +2 -0
  7. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/aw/actions-lock.json +16 -6
  8. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/add-community-bundle.lock.yml +1 -1
  9. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/add-community-extension.lock.yml +1 -1
  10. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/add-community-preset.lock.yml +1 -1
  11. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/bug-assess.lock.yml +1 -1
  12. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/bug-fix.lock.yml +1 -1
  13. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/bug-test.lock.yml +18 -7
  14. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/bug-test.md +16 -0
  15. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/catalog-assign.yml +2 -18
  16. {specify_cli-0.16.1 → specify_cli-0.16.3}/CHANGELOG.md +50 -0
  17. {specify_cli-0.16.1 → specify_cli-0.16.3}/PKG-INFO +7 -5
  18. {specify_cli-0.16.1 → specify_cli-0.16.3}/README.md +5 -3
  19. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/community/extensions.md +3 -1
  20. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/community/presets.md +6 -5
  21. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/community/walkthroughs.md +1 -1
  22. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/install/pypi.md +21 -0
  23. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/installation.md +1 -1
  24. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/quickstart.md +5 -5
  25. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/reference/agentic-sdd.md +9 -1
  26. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/reference/integrations.md +2 -0
  27. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/reference/presets.md +2 -0
  28. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/EXTENSION-API-REFERENCE.md +39 -1
  29. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +24 -2
  30. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/EXTENSION-PUBLISHING-GUIDE.md +1 -1
  31. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/catalog.community.json +76 -7
  32. {specify_cli-0.16.1 → specify_cli-0.16.3}/integrations/catalog.json +9 -0
  33. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/ARCHITECTURE.md +13 -0
  34. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/PUBLISHING.md +6 -0
  35. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/README.md +10 -0
  36. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/catalog.community.json +67 -84
  37. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/catalog.json +2 -2
  38. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/constitution-sync/README.md +15 -6
  39. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/constitution-sync/preset.yml +1 -1
  40. {specify_cli-0.16.1 → specify_cli-0.16.3}/pyproject.toml +1 -1
  41. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/bash/check-prerequisites.sh +43 -8
  42. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/bash/common.sh +319 -105
  43. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/bash/create-new-feature.sh +19 -4
  44. specify_cli-0.16.3/scripts/bash/resolve-template.sh +57 -0
  45. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/bash/setup-plan.sh +6 -4
  46. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/bash/setup-tasks.sh +7 -4
  47. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/powershell/check-prerequisites.ps1 +18 -2
  48. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/powershell/common.ps1 +239 -82
  49. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/powershell/create-new-feature.ps1 +8 -5
  50. specify_cli-0.16.3/scripts/powershell/resolve-template.ps1 +38 -0
  51. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/powershell/setup-plan.ps1 +2 -4
  52. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/powershell/setup-tasks.ps1 +8 -2
  53. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/python/check_prerequisites.py +55 -4
  54. specify_cli-0.16.3/scripts/python/common.py +554 -0
  55. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/python/create_new_feature.py +26 -7
  56. specify_cli-0.16.3/scripts/python/resolve_template.py +63 -0
  57. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/python/setup_plan.py +17 -6
  58. {specify_cli-0.16.1 → specify_cli-0.16.3}/scripts/python/setup_tasks.py +17 -4
  59. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/_invocation_style.py +1 -1
  60. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/_utils.py +1 -1
  61. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/services/resolver.py +10 -0
  62. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/commands/bundle/__init__.py +41 -21
  63. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/extensions/__init__.py +151 -2
  64. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/__init__.py +2 -0
  65. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/alquimia/__init__.py +26 -2
  66. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/claude/__init__.py +26 -2
  67. specify_cli-0.16.3/src/specify_cli/integrations/command_code/__init__.py +41 -0
  68. specify_cli-0.16.3/src/specify_cli/integrations/junie/__init__.py +178 -0
  69. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/presets/__init__.py +259 -123
  70. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/presets/_commands.py +34 -6
  71. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/expressions.py +13 -1
  72. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/overlays/schema.py +6 -1
  73. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/checklist-template.md +7 -2
  74. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/commands/checklist.md +16 -6
  75. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/commands/constitution.md +19 -6
  76. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/commands/implement.md +16 -13
  77. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/commands/tasks.md +2 -2
  78. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/contract/test_bundle_cli.py +141 -0
  79. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_alquimia.py +95 -0
  80. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_base_markdown.py +2 -2
  81. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_base_skills.py +2 -0
  82. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_base_toml.py +2 -0
  83. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_base_yaml.py +2 -0
  84. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_claude.py +87 -0
  85. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_cline.py +2 -0
  86. specify_cli-0.16.3/tests/integrations/test_integration_command_code.py +47 -0
  87. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_copilot.py +3 -0
  88. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_generic.py +2 -0
  89. specify_cli-0.16.3/tests/integrations/test_integration_junie.py +229 -0
  90. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_registry.py +1 -1
  91. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/parity_helpers.py +61 -0
  92. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_agent_config_consistency.py +1 -0
  93. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_check_prerequisites_python_parity.py +82 -0
  94. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_command_template_py_scripts.py +1 -1
  95. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_create_new_feature_python_parity.py +99 -1
  96. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_extensions.py +262 -0
  97. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_github_workflows.py +35 -0
  98. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_merge.py +24 -0
  99. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_presets.py +915 -70
  100. specify_cli-0.16.3/tests/test_resolve_template_python_parity.py +753 -0
  101. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_setup_plan_python_parity.py +69 -11
  102. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_setup_tasks.py +1 -1
  103. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_setup_tasks_python_parity.py +38 -0
  104. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_workflows.py +33 -0
  105. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundler_resolver.py +26 -0
  106. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/workflows/test_overlay_schema.py +38 -0
  107. specify_cli-0.16.1/scripts/python/common.py +0 -293
  108. specify_cli-0.16.1/src/specify_cli/integrations/junie/__init__.py +0 -21
  109. specify_cli-0.16.1/tests/integrations/test_integration_junie.py +0 -10
  110. {specify_cli-0.16.1 → specify_cli-0.16.3}/.devcontainer/devcontainer.json +0 -0
  111. {specify_cli-0.16.1 → specify_cli-0.16.3}/.devcontainer/post-create.sh +0 -0
  112. {specify_cli-0.16.1 → specify_cli-0.16.3}/.editorconfig +0 -0
  113. {specify_cli-0.16.1 → specify_cli-0.16.3}/.gitattributes +0 -0
  114. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/CODEOWNERS +0 -0
  115. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  116. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  117. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/dependabot.yml +0 -0
  118. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/scripts/check_security_requirements.py +0 -0
  119. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/security-audit-requirements.txt +0 -0
  120. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/skills/add-community-extension/SKILL.md +0 -0
  121. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/RELEASE-PROCESS.md +0 -0
  122. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/add-community-bundle.md +0 -0
  123. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/add-community-extension.md +0 -0
  124. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/add-community-preset.md +0 -0
  125. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/bug-assess.md +0 -0
  126. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/bug-fix.md +0 -0
  127. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/codeql.yml +0 -0
  128. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/docs.yml +0 -0
  129. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/lint.yml +0 -0
  130. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/publish-pypi.yml +0 -0
  131. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/release-trigger.yml +0 -0
  132. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/release.yml +0 -0
  133. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/security.yml +0 -0
  134. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/stale.yml +0 -0
  135. {specify_cli-0.16.1 → specify_cli-0.16.3}/.github/workflows/test.yml +0 -0
  136. {specify_cli-0.16.1 → specify_cli-0.16.3}/.gitignore +0 -0
  137. {specify_cli-0.16.1 → specify_cli-0.16.3}/.markdownlint-cli2.jsonc +0 -0
  138. {specify_cli-0.16.1 → specify_cli-0.16.3}/.pre-commit-config.yaml +0 -0
  139. {specify_cli-0.16.1 → specify_cli-0.16.3}/.zenodo.json +0 -0
  140. {specify_cli-0.16.1 → specify_cli-0.16.3}/AGENTS.md +0 -0
  141. {specify_cli-0.16.1 → specify_cli-0.16.3}/CITATION.cff +0 -0
  142. {specify_cli-0.16.1 → specify_cli-0.16.3}/CODE_OF_CONDUCT.md +0 -0
  143. {specify_cli-0.16.1 → specify_cli-0.16.3}/CONTRIBUTING.md +0 -0
  144. {specify_cli-0.16.1 → specify_cli-0.16.3}/DEVELOPMENT.md +0 -0
  145. {specify_cli-0.16.1 → specify_cli-0.16.3}/LICENSE +0 -0
  146. {specify_cli-0.16.1 → specify_cli-0.16.3}/README.zh-CN.md +0 -0
  147. {specify_cli-0.16.1 → specify_cli-0.16.3}/SECURITY.md +0 -0
  148. {specify_cli-0.16.1 → specify_cli-0.16.3}/SUPPORT.md +0 -0
  149. {specify_cli-0.16.1 → specify_cli-0.16.3}/bundles/catalog.community.json +0 -0
  150. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/.gitignore +0 -0
  151. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/README.md +0 -0
  152. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/community/bundles.md +0 -0
  153. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/community/friends.md +0 -0
  154. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/community/overview.md +0 -0
  155. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/concepts/complex-features.md +0 -0
  156. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/concepts/sdd.md +0 -0
  157. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/concepts/spec-of-specs.md +0 -0
  158. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/concepts/spec-persistence.md +0 -0
  159. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/docfx.json +0 -0
  160. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/guides/evolving-specs.md +0 -0
  161. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/guides/monorepo.md +0 -0
  162. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/index.md +0 -0
  163. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/install/air-gapped.md +0 -0
  164. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/install/one-time.md +0 -0
  165. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/install/pipx.md +0 -0
  166. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/install/uv.md +0 -0
  167. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/local-development.md +0 -0
  168. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/reference/agentic-bugfix.md +0 -0
  169. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/reference/authentication.md +0 -0
  170. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/reference/bundles.md +0 -0
  171. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/reference/core.md +0 -0
  172. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/reference/extensions.md +0 -0
  173. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/reference/overview.md +0 -0
  174. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/reference/workflows.md +0 -0
  175. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/template/public/main.css +0 -0
  176. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/toc.yml +0 -0
  177. {specify_cli-0.16.1 → specify_cli-0.16.3}/docs/upgrade.md +0 -0
  178. {specify_cli-0.16.1 → specify_cli-0.16.3}/examples/bundles/business-analyst/README.md +0 -0
  179. {specify_cli-0.16.1 → specify_cli-0.16.3}/examples/bundles/business-analyst/bundle.yml +0 -0
  180. {specify_cli-0.16.1 → specify_cli-0.16.3}/examples/bundles/developer/README.md +0 -0
  181. {specify_cli-0.16.1 → specify_cli-0.16.3}/examples/bundles/developer/bundle.yml +0 -0
  182. {specify_cli-0.16.1 → specify_cli-0.16.3}/examples/bundles/product-manager/README.md +0 -0
  183. {specify_cli-0.16.1 → specify_cli-0.16.3}/examples/bundles/product-manager/bundle.yml +0 -0
  184. {specify_cli-0.16.1 → specify_cli-0.16.3}/examples/bundles/security-researcher/README.md +0 -0
  185. {specify_cli-0.16.1 → specify_cli-0.16.3}/examples/bundles/security-researcher/bundle.yml +0 -0
  186. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/EXTENSION-USER-GUIDE.md +0 -0
  187. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/README.md +0 -0
  188. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
  189. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/agent-context/README.md +0 -0
  190. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/agent-context/agent-context-config.yml +0 -0
  191. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/agent-context/agent-context-defaults.json +0 -0
  192. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
  193. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/agent-context/extension.yml +0 -0
  194. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
  195. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
  196. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
  197. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/assess/README.md +0 -0
  198. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/assess/commands/speckit.assess.decide.md +0 -0
  199. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/assess/commands/speckit.assess.define.md +0 -0
  200. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/assess/commands/speckit.assess.intake.md +0 -0
  201. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/assess/commands/speckit.assess.research.md +0 -0
  202. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/assess/commands/speckit.assess.shape.md +0 -0
  203. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/assess/extension.yml +0 -0
  204. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/bug/README.md +0 -0
  205. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/bug/commands/speckit.bug.assess.md +0 -0
  206. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/bug/commands/speckit.bug.fix.md +0 -0
  207. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/bug/commands/speckit.bug.test.md +0 -0
  208. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/bug/extension.yml +0 -0
  209. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/catalog.json +0 -0
  210. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/README.md +0 -0
  211. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/commands/speckit.git.commit.md +0 -0
  212. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/commands/speckit.git.feature.md +0 -0
  213. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/commands/speckit.git.initialize.md +0 -0
  214. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/commands/speckit.git.remote.md +0 -0
  215. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/commands/speckit.git.validate.md +0 -0
  216. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/config-template.yml +0 -0
  217. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/extension.yml +0 -0
  218. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/git-config.yml +0 -0
  219. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/bash/auto-commit.sh +0 -0
  220. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/bash/create-new-feature-branch.sh +0 -0
  221. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/bash/git-common.sh +0 -0
  222. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
  223. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
  224. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +0 -0
  225. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
  226. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
  227. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/python/auto_commit.py +0 -0
  228. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/python/create_new_feature_branch.py +0 -0
  229. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/python/git_common.py +0 -0
  230. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/git/scripts/python/initialize_repo.py +0 -0
  231. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/selftest/commands/selftest.md +0 -0
  232. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/selftest/extension.yml +0 -0
  233. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/template/.gitignore +0 -0
  234. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/template/CHANGELOG.md +0 -0
  235. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/template/EXAMPLE-README.md +0 -0
  236. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/template/LICENSE +0 -0
  237. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/template/README.md +0 -0
  238. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/template/commands/example.md +0 -0
  239. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/template/config-template.yml +0 -0
  240. {specify_cli-0.16.1 → specify_cli-0.16.3}/extensions/template/extension.yml +0 -0
  241. {specify_cli-0.16.1 → specify_cli-0.16.3}/integrations/CONTRIBUTING.md +0 -0
  242. {specify_cli-0.16.1 → specify_cli-0.16.3}/integrations/README.md +0 -0
  243. {specify_cli-0.16.1 → specify_cli-0.16.3}/integrations/catalog.community.json +0 -0
  244. {specify_cli-0.16.1 → specify_cli-0.16.3}/media/bootstrap-claude-code.gif +0 -0
  245. {specify_cli-0.16.1 → specify_cli-0.16.3}/media/logo_large.webp +0 -0
  246. {specify_cli-0.16.1 → specify_cli-0.16.3}/media/logo_small.webp +0 -0
  247. {specify_cli-0.16.1 → specify_cli-0.16.3}/media/spec-kit-video-header.jpg +0 -0
  248. {specify_cli-0.16.1 → specify_cli-0.16.3}/media/specify_cli.gif +0 -0
  249. {specify_cli-0.16.1 → specify_cli-0.16.3}/newsletters/2026-April.md +0 -0
  250. {specify_cli-0.16.1 → specify_cli-0.16.3}/newsletters/2026-February.md +0 -0
  251. {specify_cli-0.16.1 → specify_cli-0.16.3}/newsletters/2026-July.md +0 -0
  252. {specify_cli-0.16.1 → specify_cli-0.16.3}/newsletters/2026-June.md +0 -0
  253. {specify_cli-0.16.1 → specify_cli-0.16.3}/newsletters/2026-March.md +0 -0
  254. {specify_cli-0.16.1 → specify_cli-0.16.3}/newsletters/2026-May.md +0 -0
  255. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
  256. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/lean/README.md +0 -0
  257. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/lean/commands/speckit.constitution.md +0 -0
  258. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/lean/commands/speckit.implement.md +0 -0
  259. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/lean/commands/speckit.plan.md +0 -0
  260. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/lean/commands/speckit.specify.md +0 -0
  261. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/lean/commands/speckit.tasks.md +0 -0
  262. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/lean/preset.yml +0 -0
  263. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/scaffold/README.md +0 -0
  264. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
  265. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/scaffold/commands/speckit.specify.md +0 -0
  266. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/scaffold/preset.yml +0 -0
  267. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/scaffold/templates/myext-template.md +0 -0
  268. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/scaffold/templates/spec-template.md +0 -0
  269. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/self-test/commands/speckit.specify.md +0 -0
  270. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/self-test/commands/speckit.wrap-test.md +0 -0
  271. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/self-test/preset.yml +0 -0
  272. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/self-test/templates/checklist-template.md +0 -0
  273. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/self-test/templates/constitution-template.md +0 -0
  274. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/self-test/templates/plan-template.md +0 -0
  275. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/self-test/templates/spec-template.md +0 -0
  276. {specify_cli-0.16.1 → specify_cli-0.16.3}/presets/self-test/templates/tasks-template.md +0 -0
  277. {specify_cli-0.16.1 → specify_cli-0.16.3}/spec-driven.md +0 -0
  278. {specify_cli-0.16.1 → specify_cli-0.16.3}/spec-kit.code-workspace +0 -0
  279. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/__init__.py +0 -0
  280. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/_agent_config.py +0 -0
  281. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/_assets.py +0 -0
  282. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/_console.py +0 -0
  283. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/_download_security.py +0 -0
  284. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/_github_http.py +0 -0
  285. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/_init_options.py +0 -0
  286. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/_project.py +0 -0
  287. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/_toml_string.py +0 -0
  288. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/_version.py +0 -0
  289. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/agents.py +0 -0
  290. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/authentication/__init__.py +0 -0
  291. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/authentication/azure_devops.py +0 -0
  292. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/authentication/base.py +0 -0
  293. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/authentication/config.py +0 -0
  294. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/authentication/github.py +0 -0
  295. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/authentication/http.py +0 -0
  296. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/__init__.py +0 -0
  297. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
  298. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/commands_impl/catalog_config.py +0 -0
  299. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/lib/__init__.py +0 -0
  300. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/lib/project.py +0 -0
  301. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/lib/versioning.py +0 -0
  302. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/lib/yamlio.py +0 -0
  303. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/models/__init__.py +0 -0
  304. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/models/catalog.py +0 -0
  305. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/models/manifest.py +0 -0
  306. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/models/records.py +0 -0
  307. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/services/__init__.py +0 -0
  308. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/services/adapters.py +0 -0
  309. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/services/catalog_stack.py +0 -0
  310. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/services/conflict.py +0 -0
  311. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/services/installer.py +0 -0
  312. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/services/packager.py +0 -0
  313. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/services/primitives.py +0 -0
  314. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/services/references.py +0 -0
  315. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/bundler/services/validator.py +0 -0
  316. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/catalogs.py +0 -0
  317. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/commands/__init__.py +0 -0
  318. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/commands/event.py +0 -0
  319. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/commands/init.py +0 -0
  320. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/events.py +0 -0
  321. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/extensions/_commands.py +0 -0
  322. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integration_runtime.py +0 -0
  323. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integration_scaffold.py +0 -0
  324. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integration_state.py +0 -0
  325. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integration_status.py +0 -0
  326. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/_commands.py +0 -0
  327. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/_helpers.py +0 -0
  328. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/_install_commands.py +0 -0
  329. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/_migrate_commands.py +0 -0
  330. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/_query_commands.py +0 -0
  331. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
  332. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/agy/__init__.py +0 -0
  333. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/amp/__init__.py +0 -0
  334. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/auggie/__init__.py +0 -0
  335. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/base.py +0 -0
  336. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/bob/__init__.py +0 -0
  337. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/catalog.py +0 -0
  338. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/cline/__init__.py +0 -0
  339. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
  340. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/codex/__init__.py +0 -0
  341. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/copilot/__init__.py +0 -0
  342. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
  343. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/devin/__init__.py +0 -0
  344. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/droid/__init__.py +0 -0
  345. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/firebender/__init__.py +0 -0
  346. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/forge/__init__.py +0 -0
  347. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/gemini/__init__.py +0 -0
  348. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/generic/__init__.py +0 -0
  349. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/goose/__init__.py +0 -0
  350. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/grok/__init__.py +0 -0
  351. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/hermes/__init__.py +0 -0
  352. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
  353. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/kimi/__init__.py +0 -0
  354. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
  355. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/lingma/__init__.py +0 -0
  356. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/manifest.py +0 -0
  357. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/omp/__init__.py +0 -0
  358. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/opencode/__init__.py +0 -0
  359. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/pi/__init__.py +0 -0
  360. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
  361. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/qwen/__init__.py +0 -0
  362. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
  363. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/shai/__init__.py +0 -0
  364. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
  365. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/trae/__init__.py +0 -0
  366. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/vibe/__init__.py +0 -0
  367. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/zcode/__init__.py +0 -0
  368. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/integrations/zed/__init__.py +0 -0
  369. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/shared_infra.py +0 -0
  370. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/__init__.py +0 -0
  371. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/_commands.py +0 -0
  372. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/base.py +0 -0
  373. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/catalog.py +0 -0
  374. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/engine.py +0 -0
  375. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/overlays/__init__.py +0 -0
  376. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/overlays/_commands.py +0 -0
  377. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/overlays/composer.py +0 -0
  378. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/overlays/layer_sources.py +0 -0
  379. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/overlays/merge.py +0 -0
  380. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/__init__.py +0 -0
  381. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
  382. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/do_while/__init__.py +0 -0
  383. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
  384. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
  385. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/gate/__init__.py +0 -0
  386. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/if_then/__init__.py +0 -0
  387. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
  388. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
  389. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/shell/__init__.py +0 -0
  390. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/switch/__init__.py +0 -0
  391. {specify_cli-0.16.1 → specify_cli-0.16.3}/src/specify_cli/workflows/steps/while_loop/__init__.py +0 -0
  392. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/commands/analyze.md +0 -0
  393. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/commands/clarify.md +0 -0
  394. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/commands/converge.md +0 -0
  395. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/commands/plan.md +0 -0
  396. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/commands/specify.md +0 -0
  397. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/commands/taskstoissues.md +0 -0
  398. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/constitution-template.md +0 -0
  399. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/plan-template.md +0 -0
  400. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/spec-template.md +0 -0
  401. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/tasks-template.md +0 -0
  402. {specify_cli-0.16.1 → specify_cli-0.16.3}/templates/vscode-settings.json +0 -0
  403. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/__init__.py +0 -0
  404. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/auth_helpers.py +0 -0
  405. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/bundler_helpers.py +0 -0
  406. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/conftest.py +0 -0
  407. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/contract/test_catalog_schema.py +0 -0
  408. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/contract/test_manifest_schema.py +0 -0
  409. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/contract/test_wheel_bundled_presets.py +0 -0
  410. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
  411. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/__init__.py +0 -0
  412. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/assess/__init__.py +0 -0
  413. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/assess/test_assess_extension.py +0 -0
  414. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/bug/__init__.py +0 -0
  415. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/bug/test_bug_extension.py +0 -0
  416. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/git/__init__.py +0 -0
  417. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/git/test_git_extension.py +0 -0
  418. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/git/test_git_extension_python_parity.py +0 -0
  419. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/test_agent_context_cli_free.py +0 -0
  420. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/test_extension_agent_context.py +0 -0
  421. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
  422. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/extensions/test_update_agent_context_python_parity.py +0 -0
  423. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/hooks/TESTING.md +0 -0
  424. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/hooks/plan.md +0 -0
  425. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/hooks/spec.md +0 -0
  426. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/hooks/tasks.md +0 -0
  427. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/http_helpers.py +0 -0
  428. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integration/test_bundler_catalog_stack.py +0 -0
  429. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integration/test_bundler_init_install.py +0 -0
  430. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integration/test_bundler_install_flow.py +0 -0
  431. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integration/test_bundler_local_install.py +0 -0
  432. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integration/test_bundler_offline.py +0 -0
  433. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integration/test_bundler_security_paths.py +0 -0
  434. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/__init__.py +0 -0
  435. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/conftest.py +0 -0
  436. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_base.py +0 -0
  437. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_cli.py +0 -0
  438. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_events.py +0 -0
  439. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_extra_args.py +0 -0
  440. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_home_isolation.py +0 -0
  441. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_agy.py +0 -0
  442. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_amp.py +0 -0
  443. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_auggie.py +0 -0
  444. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_bob.py +0 -0
  445. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_catalog.py +0 -0
  446. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_codebuddy.py +0 -0
  447. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_codex.py +0 -0
  448. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_cursor_agent.py +0 -0
  449. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_devin.py +0 -0
  450. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_droid.py +0 -0
  451. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_firebender.py +0 -0
  452. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_forge.py +0 -0
  453. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_gemini.py +0 -0
  454. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_goose.py +0 -0
  455. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_grok.py +0 -0
  456. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_hermes.py +0 -0
  457. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_kilocode.py +0 -0
  458. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_kimi.py +0 -0
  459. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_kiro_cli.py +0 -0
  460. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_lingma.py +0 -0
  461. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_omp.py +0 -0
  462. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_opencode.py +0 -0
  463. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_pi.py +0 -0
  464. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_qodercli.py +0 -0
  465. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_qwen.py +0 -0
  466. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_rovodev.py +0 -0
  467. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_scaffold.py +0 -0
  468. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_shai.py +0 -0
  469. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_state.py +0 -0
  470. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_subcommand.py +0 -0
  471. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_tabnine.py +0 -0
  472. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_trae.py +0 -0
  473. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_vibe.py +0 -0
  474. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_zcode.py +0 -0
  475. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_integration_zed.py +0 -0
  476. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_manifest.py +0 -0
  477. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
  478. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/self_upgrade_helpers.py +0 -0
  479. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_authentication.py +0 -0
  480. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_branch_numbering.py +0 -0
  481. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_check_prerequisites_paths_only.py +0 -0
  482. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_check_tool.py +0 -0
  483. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_cli_version.py +0 -0
  484. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_commands_package.py +0 -0
  485. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_console_imports.py +0 -0
  486. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_download_security.py +0 -0
  487. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_extension_add_path_traversal.py +0 -0
  488. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_extension_registration.py +0 -0
  489. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_extension_skills.py +0 -0
  490. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_extension_update_hardening.py +0 -0
  491. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_github_http.py +0 -0
  492. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_init_dir.py +0 -0
  493. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_init_dir_cli.py +0 -0
  494. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_init_output_markup.py +0 -0
  495. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_live_transient_windows.py +0 -0
  496. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_post_process.py +0 -0
  497. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_ps1_encoding.py +0 -0
  498. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_registrar_path_traversal.py +0 -0
  499. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_security_workflow.py +0 -0
  500. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_self_upgrade_detection.py +0 -0
  501. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_self_upgrade_execution.py +0 -0
  502. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_self_upgrade_guidance.py +0 -0
  503. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_self_upgrade_verification.py +0 -0
  504. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_setup_plan_feature_json.py +0 -0
  505. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_setup_plan_no_overwrite.py +0 -0
  506. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_shared_infra_gitignore.py +0 -0
  507. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_shared_infra_integrity.py +0 -0
  508. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_skill_placeholder_py.py +0 -0
  509. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_specify_template_numbering.py +0 -0
  510. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_timestamp_branches.py +0 -0
  511. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_upgrade.py +0 -0
  512. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_utils.py +0 -0
  513. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_utils_assets_imports.py +0 -0
  514. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_version_imports.py +0 -0
  515. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/test_workflow_run_without_project.py +0 -0
  516. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundle_download_url.py +0 -0
  517. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundler_adapters.py +0 -0
  518. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundler_catalog_config.py +0 -0
  519. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundler_conflict.py +0 -0
  520. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundler_packager.py +0 -0
  521. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundler_primitives.py +0 -0
  522. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundler_records.py +0 -0
  523. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundler_references.py +0 -0
  524. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundler_validator.py +0 -0
  525. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundler_versioning.py +0 -0
  526. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/unit/test_bundler_yamlio.py +0 -0
  527. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/workflows/conftest.py +0 -0
  528. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/workflows/test_overlay_commands.py +0 -0
  529. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/workflows/test_overlay_composer.py +0 -0
  530. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/workflows/test_overlay_layer_sources.py +0 -0
  531. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/workflows/test_overlay_merge.py +0 -0
  532. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/workflows/test_overlay_security.py +0 -0
  533. {specify_cli-0.16.1 → specify_cli-0.16.3}/tests/workflows/test_resolver_integration.py +0 -0
  534. {specify_cli-0.16.1 → specify_cli-0.16.3}/workflows/ARCHITECTURE.md +0 -0
  535. {specify_cli-0.16.1 → specify_cli-0.16.3}/workflows/PUBLISHING.md +0 -0
  536. {specify_cli-0.16.1 → specify_cli-0.16.3}/workflows/README.md +0 -0
  537. {specify_cli-0.16.1 → specify_cli-0.16.3}/workflows/catalog.community.json +0 -0
  538. {specify_cli-0.16.1 → specify_cli-0.16.3}/workflows/catalog.json +0 -0
  539. {specify_cli-0.16.1 → specify_cli-0.16.3}/workflows/speckit/workflow.yml +0 -0
  540. {specify_cli-0.16.1 → specify_cli-0.16.3}/workflows/step-catalog.community.json +0 -0
  541. {specify_cli-0.16.1 → specify_cli-0.16.3}/workflows/step-catalog.json +0 -0
@@ -8,7 +8,7 @@ body:
8
8
  value: |
9
9
  Thanks for requesting a new agent! Before submitting, please check if the agent is already supported.
10
10
 
11
- **Currently supported agents**: Alquimia AI, Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Cursor, Devin for Terminal, Factory Droid, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
11
+ **Currently supported agents**: Alquimia AI, Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Command Code, Cursor, Devin for Terminal, Factory Droid, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
12
12
 
13
13
  - type: input
14
14
  id: agent-name
@@ -70,6 +70,7 @@ body:
70
70
  - Cline
71
71
  - CodeBuddy
72
72
  - Codex CLI
73
+ - Command Code
73
74
  - Cursor
74
75
  - Devin for Terminal
75
76
  - Factory Droid
@@ -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:
@@ -64,6 +64,7 @@ body:
64
64
  - Cline
65
65
  - CodeBuddy
66
66
  - Codex CLI
67
+ - Command Code
67
68
  - Cursor
68
69
  - Devin for Terminal
69
70
  - Factory Droid
@@ -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:
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "entries": {
3
- "actions/checkout@v6.0.3": {
3
+ "actions/checkout@v7.0.1": {
4
4
  "repo": "actions/checkout",
5
- "version": "v6.0.3",
6
- "sha": "df4cb1c069e1874edd31b4311f1884172cec0e10"
5
+ "version": "v7.0.1",
6
+ "sha": "3d3c42e5aac5ba805825da76410c181273ba90b1"
7
7
  },
8
8
  "actions/download-artifact@v8.0.1": {
9
9
  "repo": "actions/download-artifact",
@@ -15,10 +15,20 @@
15
15
  "version": "v9.0.0",
16
16
  "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
17
17
  },
18
- "actions/setup-node@v6.4.0": {
18
+ "actions/setup-node@v7.0.0": {
19
19
  "repo": "actions/setup-node",
20
- "version": "v6.4.0",
21
- "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
20
+ "version": "v7.0.0",
21
+ "sha": "820762786026740c76f36085b0efc47a31fe5020"
22
+ },
23
+ "actions/setup-python@v7.0.0": {
24
+ "repo": "actions/setup-python",
25
+ "version": "v7.0.0",
26
+ "sha": "5fda3b95a4ea91299a34e894583c3862153e4b97"
27
+ },
28
+ "astral-sh/setup-uv@v9.0.0": {
29
+ "repo": "astral-sh/setup-uv",
30
+ "version": "v9.0.0",
31
+ "sha": "c771a70e6277c0a99b617c7a806ffedaca235ff9"
22
32
  },
23
33
  "actions/upload-artifact@v7.0.1": {
24
34
  "repo": "actions/upload-artifact",
@@ -1,5 +1,5 @@
1
1
  # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c64e3dc29aca89e48108bb6d4eb877f6264b4cec9cd56dcd36827893802d2a64","body_hash":"cade22e5083254b735200f4ff7d686104e4ccab848ff7355141b9689354834db","compiler_version":"v0.79.8","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
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":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"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":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.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"}]}
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
  #
5
5
  # ___ _ _
@@ -1,5 +1,5 @@
1
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"}}
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":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"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":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.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"}]}
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
  #
5
5
  # ___ _ _
@@ -1,5 +1,5 @@
1
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"}}
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":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"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":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.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"}]}
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
  #
5
5
  # ___ _ _
@@ -1,5 +1,5 @@
1
1
  # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"00c226f69fb7ec2b63755304328cee6ecddbcedbe4a9840310e5f430bd3949f0","body_hash":"44428ecd81ba0e5ed7bb16436052e6cc3479fe4ad02414812e574d17830a464e","compiler_version":"v0.79.8","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
2
- # gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GITHUB_TOKEN"],"actions":[{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"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":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.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"}]}
2
+ # gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_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
  #
5
5
  # ___ _ _
@@ -1,5 +1,5 @@
1
1
  # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"aafdb01f262d603577971994522575829802b93d9042d62446313955485df558","body_hash":"4596de2b7de95c7c73c05caedc5c1e97724b39d09d21e9b0dbfc8b570312798a","compiler_version":"v0.79.8","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
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":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"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":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.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"}]}
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
  #
5
5
  # ___ _ _
@@ -1,5 +1,5 @@
1
- # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"ed734f6b123dcce3257c147be573cae4eaa6383018b65759a0e8d74049a38d95","body_hash":"5aa25f2a19d30f31a71fb4fa9c709563d3d2c5060b2984f4ba913b7097158763","compiler_version":"v0.79.8","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
2
- # gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GITHUB_TOKEN"],"actions":[{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"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":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.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"}]}
1
+ # gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"aa190ac1bd31b2e5e68cafd25951bda4d92a275ce1c55f58856f924e415fdb17","body_hash":"5aa25f2a19d30f31a71fb4fa9c709563d3d2c5060b2984f4ba913b7097158763","compiler_version":"v0.79.8","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
2
+ # gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_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/setup-python","sha":"5fda3b95a4ea91299a34e894583c3862153e4b97","version":"v7.0.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"astral-sh/setup-uv","sha":"c771a70e6277c0a99b617c7a806ffedaca235ff9","version":"v9.0.0"},{"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
  #
5
5
  # ___ _ _
@@ -36,7 +36,9 @@
36
36
  # - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
37
37
  # - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
38
38
  # - actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
39
+ # - actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
39
40
  # - actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
41
+ # - astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
40
42
  # - github/gh-aw-actions/setup@c0338fef4749d08c21f8f975fb0e37efa17dda47 # v0.79.8
41
43
  #
42
44
  # Container images used:
@@ -123,7 +125,7 @@ jobs:
123
125
  GH_AW_INFO_EXPERIMENTAL: "false"
124
126
  GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true"
125
127
  GH_AW_INFO_STAGED: "false"
126
- GH_AW_INFO_ALLOWED_DOMAINS: '["defaults"]'
128
+ GH_AW_INFO_ALLOWED_DOMAINS: '["defaults","pypi.org","files.pythonhosted.org"]'
127
129
  GH_AW_INFO_FIREWALL_ENABLED: "true"
128
130
  GH_AW_INFO_AWF_VERSION: "v0.27.2"
129
131
  GH_AW_INFO_AWMG_VERSION: ""
@@ -208,7 +210,7 @@ jobs:
208
210
  id: sanitized
209
211
  uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
210
212
  env:
211
- 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"
213
+ 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,files.pythonhosted.org,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,pypi.org,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"
212
214
  with:
213
215
  script: |
214
216
  const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
@@ -435,12 +437,21 @@ jobs:
435
437
  with:
436
438
  persist-credentials: false
437
439
  fetch-depth: 0
440
+ - name: Setup uv
441
+ uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
438
442
  - name: Create gh-aw temp directory
439
443
  run: bash "${RUNNER_TEMP}/gh-aw/actions/create_gh_aw_tmp_dir.sh"
440
444
  - name: Configure gh CLI for GitHub Enterprise
441
445
  run: bash "${RUNNER_TEMP}/gh-aw/actions/configure_gh_for_ghe.sh"
442
446
  env:
443
447
  GH_TOKEN: ${{ github.token }}
448
+ - name: Set up Python
449
+ uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
450
+ with:
451
+ python-version: "3.14"
452
+ - name: Install Python test dependencies
453
+ run: uv pip install --system -e ".[test]"
454
+
444
455
  - name: Configure Git credentials
445
456
  env:
446
457
  REPO_NAME: ${{ github.repository }}
@@ -848,7 +859,7 @@ jobs:
848
859
  export COPILOT_API_KEY="$COPILOT_DUMMY_BYOK"
849
860
  (umask 177 && touch /tmp/gh-aw/agent-stdio.log)
850
861
  GH_AW_MAX_AI_CREDITS="${{ vars.GH_AW_DEFAULT_MAX_AI_CREDITS || '1000' }}"
851
- printf '%s\n' "{\"\$schema\":\"https://github.com/github/gh-aw-firewall/releases/download/v0.27.2/awf-config.schema.json\",\"network\":{\"allowDomains\":[\"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\"]},\"apiProxy\":{\"enabled\":true,\"enableTokenSteering\":true,\"maxRuns\":500,\"maxAiCredits\":${GH_AW_MAX_AI_CREDITS},\"models\":{\"agent\":[\"sonnet-6x\",\"gpt-5.4\",\"gpt-5.3\",\"gemini-pro\",\"any\"],\"antigravity\":[\"copilot/antigravity*\",\"google/antigravity*\",\"gemini/antigravity*\"],\"any\":[\"copilot/*\",\"anthropic/*\",\"openai/*\",\"google/*\",\"gemini/*\"],\"claude\":[\"agent\"],\"codex\":[\"agent\"],\"coding\":[\"copilot/gpt-5*codex*\",\"openai/gpt-5*codex*\",\"gpt-5-codex\"],\"computer-use\":[\"copilot/*computer-use*\",\"google/*computer-use*\",\"gemini/*computer-use*\",\"openai/*computer-use*\"],\"copilot\":[\"agent\"],\"deep-research\":[\"copilot/deep-research*\",\"copilot/o3-deep-research*\",\"copilot/o4-mini-deep-research*\",\"google/deep-research*\",\"gemini/deep-research*\",\"openai/o3-deep-research*\",\"openai/o4-mini-deep-research*\"],\"gemini\":[\"agent\"],\"gemini-3-flash\":[\"copilot/gemini-3*flash*\",\"google/gemini-3*flash*\",\"gemini/gemini-3*flash*\"],\"gemini-3-pro\":[\"copilot/gemini-3*pro*\",\"google/gemini-3*pro*\",\"google/nano-banana*\",\"gemini/gemini-3*pro*\"],\"gemini-3.1-flash\":[\"copilot/gemini-3.1*flash*\",\"google/gemini-3.1*flash*\",\"gemini/gemini-3.1*flash*\"],\"gemini-3.1-pro\":[\"copilot/gemini-3.1*pro*\",\"google/gemini-3.1*pro*\",\"gemini/gemini-3.1*pro*\"],\"gemini-3.5-flash\":[\"copilot/gemini-3.5*flash*\",\"google/gemini-3.5*flash*\",\"gemini/gemini-3.5*flash*\"],\"gemini-flash\":[\"copilot/gemini-*flash*\",\"google/gemini-*flash*\",\"gemini/gemini-*flash*\"],\"gemini-flash-lite\":[\"copilot/gemini-*flash*lite*\",\"google/gemini-*flash*lite*\",\"gemini/gemini-*flash*lite*\"],\"gemini-pro\":[\"copilot/gemini-*pro*\",\"google/gemini-*pro*\",\"gemini/gemini-*pro*\"],\"gemma\":[\"copilot/gemma*\",\"google/gemma*\",\"gemini/gemma*\"],\"gpt-5\":[\"copilot/gpt-5*\",\"openai/gpt-5*\"],\"gpt-5-codex\":[\"copilot/gpt-5*codex*\",\"openai/gpt-5*codex*\"],\"gpt-5-mini\":[\"copilot/gpt-5*mini*\",\"openai/gpt-5*mini*\"],\"gpt-5-nano\":[\"copilot/gpt-5*nano*\",\"openai/gpt-5*nano*\"],\"gpt-5-pro\":[\"copilot/gpt-5*pro*\",\"openai/gpt-5*pro*\"],\"gpt-5.2\":[\"copilot/gpt-5.2*\",\"openai/gpt-5.2*\"],\"gpt-5.3\":[\"copilot/gpt-5.3*\",\"openai/gpt-5.3*\"],\"gpt-5.4\":[\"copilot/gpt-5.4*\",\"openai/gpt-5.4*\"],\"gpt-5.5\":[\"copilot/gpt-5.5*\",\"openai/gpt-5.5*\"],\"haiku\":[\"copilot/*haiku*\",\"anthropic/*haiku*\"],\"large\":[\"sonnet\",\"gpt-5-pro\",\"gpt-5\",\"gemini-pro\"],\"mai-code\":[\"copilot/MAI-Code*\",\"copilot/mai-code*\",\"openai/MAI-Code*\"],\"mini\":[\"haiku\",\"gpt-5-mini\",\"gpt-5-nano\",\"gemini-flash-lite\"],\"nano-banana\":[\"copilot/nano-banana*\",\"google/nano-banana*\",\"gemini/nano-banana*\"],\"opus\":[\"copilot/*opus*\",\"anthropic/*opus*\"],\"opusplan\":[\"opus?effort=high\"],\"reasoning\":[\"copilot/o1*\",\"copilot/o3*\",\"copilot/o4*\",\"openai/o1*\",\"openai/o3*\",\"openai/o4*\"],\"robotics\":[\"copilot/*robotics*\",\"google/*robotics*\",\"gemini/*robotics*\"],\"small\":[\"mini\"],\"small-agent\":[\"haiku\",\"gpt-5-mini\",\"gemini-flash\"],\"sonnet\":[\"copilot/*sonnet*\",\"anthropic/*sonnet*\"],\"sonnet-6x\":[\"copilot/*sonnet-4.5*\",\"copilot/*sonnet-4.6*\",\"copilot/*sonnet-4-5-*\",\"anthropic/*sonnet-4-5-*\",\"copilot/*sonnet-4-6*\",\"anthropic/*sonnet-4-6*\"],\"summarization\":[\"haiku\",\"gpt-5-mini\",\"gemini-flash-lite\",\"mini\"],\"vision\":[\"copilot/gemini-*image*\",\"gemini/gemini-*image*\",\"copilot/gemini-*flash*\",\"gemini/gemini-*flash*\"]}},\"container\":{\"imageTag\":\"0.27.2,squid=sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591,agent=sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6,api-proxy=sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4,cli-proxy=sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0\"}}" > "${RUNNER_TEMP}/gh-aw/awf-config.json"
862
+ printf '%s\n' "{\"\$schema\":\"https://github.com/github/gh-aw-firewall/releases/download/v0.27.2/awf-config.schema.json\",\"network\":{\"allowDomains\":[\"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\",\"files.pythonhosted.org\",\"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\",\"pypi.org\",\"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\"]},\"apiProxy\":{\"enabled\":true,\"enableTokenSteering\":true,\"maxRuns\":500,\"maxAiCredits\":${GH_AW_MAX_AI_CREDITS},\"models\":{\"agent\":[\"sonnet-6x\",\"gpt-5.4\",\"gpt-5.3\",\"gemini-pro\",\"any\"],\"antigravity\":[\"copilot/antigravity*\",\"google/antigravity*\",\"gemini/antigravity*\"],\"any\":[\"copilot/*\",\"anthropic/*\",\"openai/*\",\"google/*\",\"gemini/*\"],\"claude\":[\"agent\"],\"codex\":[\"agent\"],\"coding\":[\"copilot/gpt-5*codex*\",\"openai/gpt-5*codex*\",\"gpt-5-codex\"],\"computer-use\":[\"copilot/*computer-use*\",\"google/*computer-use*\",\"gemini/*computer-use*\",\"openai/*computer-use*\"],\"copilot\":[\"agent\"],\"deep-research\":[\"copilot/deep-research*\",\"copilot/o3-deep-research*\",\"copilot/o4-mini-deep-research*\",\"google/deep-research*\",\"gemini/deep-research*\",\"openai/o3-deep-research*\",\"openai/o4-mini-deep-research*\"],\"gemini\":[\"agent\"],\"gemini-3-flash\":[\"copilot/gemini-3*flash*\",\"google/gemini-3*flash*\",\"gemini/gemini-3*flash*\"],\"gemini-3-pro\":[\"copilot/gemini-3*pro*\",\"google/gemini-3*pro*\",\"google/nano-banana*\",\"gemini/gemini-3*pro*\"],\"gemini-3.1-flash\":[\"copilot/gemini-3.1*flash*\",\"google/gemini-3.1*flash*\",\"gemini/gemini-3.1*flash*\"],\"gemini-3.1-pro\":[\"copilot/gemini-3.1*pro*\",\"google/gemini-3.1*pro*\",\"gemini/gemini-3.1*pro*\"],\"gemini-3.5-flash\":[\"copilot/gemini-3.5*flash*\",\"google/gemini-3.5*flash*\",\"gemini/gemini-3.5*flash*\"],\"gemini-flash\":[\"copilot/gemini-*flash*\",\"google/gemini-*flash*\",\"gemini/gemini-*flash*\"],\"gemini-flash-lite\":[\"copilot/gemini-*flash*lite*\",\"google/gemini-*flash*lite*\",\"gemini/gemini-*flash*lite*\"],\"gemini-pro\":[\"copilot/gemini-*pro*\",\"google/gemini-*pro*\",\"gemini/gemini-*pro*\"],\"gemma\":[\"copilot/gemma*\",\"google/gemma*\",\"gemini/gemma*\"],\"gpt-5\":[\"copilot/gpt-5*\",\"openai/gpt-5*\"],\"gpt-5-codex\":[\"copilot/gpt-5*codex*\",\"openai/gpt-5*codex*\"],\"gpt-5-mini\":[\"copilot/gpt-5*mini*\",\"openai/gpt-5*mini*\"],\"gpt-5-nano\":[\"copilot/gpt-5*nano*\",\"openai/gpt-5*nano*\"],\"gpt-5-pro\":[\"copilot/gpt-5*pro*\",\"openai/gpt-5*pro*\"],\"gpt-5.2\":[\"copilot/gpt-5.2*\",\"openai/gpt-5.2*\"],\"gpt-5.3\":[\"copilot/gpt-5.3*\",\"openai/gpt-5.3*\"],\"gpt-5.4\":[\"copilot/gpt-5.4*\",\"openai/gpt-5.4*\"],\"gpt-5.5\":[\"copilot/gpt-5.5*\",\"openai/gpt-5.5*\"],\"haiku\":[\"copilot/*haiku*\",\"anthropic/*haiku*\"],\"large\":[\"sonnet\",\"gpt-5-pro\",\"gpt-5\",\"gemini-pro\"],\"mai-code\":[\"copilot/MAI-Code*\",\"copilot/mai-code*\",\"openai/MAI-Code*\"],\"mini\":[\"haiku\",\"gpt-5-mini\",\"gpt-5-nano\",\"gemini-flash-lite\"],\"nano-banana\":[\"copilot/nano-banana*\",\"google/nano-banana*\",\"gemini/nano-banana*\"],\"opus\":[\"copilot/*opus*\",\"anthropic/*opus*\"],\"opusplan\":[\"opus?effort=high\"],\"reasoning\":[\"copilot/o1*\",\"copilot/o3*\",\"copilot/o4*\",\"openai/o1*\",\"openai/o3*\",\"openai/o4*\"],\"robotics\":[\"copilot/*robotics*\",\"google/*robotics*\",\"gemini/*robotics*\"],\"small\":[\"mini\"],\"small-agent\":[\"haiku\",\"gpt-5-mini\",\"gemini-flash\"],\"sonnet\":[\"copilot/*sonnet*\",\"anthropic/*sonnet*\"],\"sonnet-6x\":[\"copilot/*sonnet-4.5*\",\"copilot/*sonnet-4.6*\",\"copilot/*sonnet-4-5-*\",\"anthropic/*sonnet-4-5-*\",\"copilot/*sonnet-4-6*\",\"anthropic/*sonnet-4-6*\"],\"summarization\":[\"haiku\",\"gpt-5-mini\",\"gemini-flash-lite\",\"mini\"],\"vision\":[\"copilot/gemini-*image*\",\"gemini/gemini-*image*\",\"copilot/gemini-*flash*\",\"gemini/gemini-*flash*\"]}},\"container\":{\"imageTag\":\"0.27.2,squid=sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591,agent=sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6,api-proxy=sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4,cli-proxy=sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0\"}}" > "${RUNNER_TEMP}/gh-aw/awf-config.json"
852
863
  cp "${RUNNER_TEMP}/gh-aw/awf-config.json" /tmp/gh-aw/awf-config.json
853
864
  export GH_AW_MODELS_JSON_PATH="/tmp/gh-aw/models.json"
854
865
  GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS=""
@@ -955,7 +966,7 @@ jobs:
955
966
  uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
956
967
  env:
957
968
  GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
958
- 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"
969
+ 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,files.pythonhosted.org,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,pypi.org,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"
959
970
  GITHUB_SERVER_URL: ${{ github.server_url }}
960
971
  GITHUB_API_URL: ${{ github.api_url }}
961
972
  with:
@@ -1621,7 +1632,7 @@ jobs:
1621
1632
  env:
1622
1633
  GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
1623
1634
  GH_AW_COMMENT_ID: ${{ needs.activation.outputs.comment_id }}
1624
- 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"
1635
+ 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,files.pythonhosted.org,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,pypi.org,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"
1625
1636
  GITHUB_SERVER_URL: ${{ github.server_url }}
1626
1637
  GITHUB_API_URL: ${{ github.api_url }}
1627
1638
  GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"add_comment\":{\"max\":1},\"add_labels\":{\"allowed\":[\"tests-passing\",\"tests-failing\",\"tests-inconclusive\"],\"max\":1},\"create_report_incomplete_issue\":{},\"missing_data\":{},\"missing_tool\":{},\"noop\":{\"max\":1,\"report-as-issue\":\"false\"},\"report_incomplete\":{}}"
@@ -60,6 +60,22 @@ permissions:
60
60
  checkout:
61
61
  fetch-depth: 0
62
62
 
63
+ network:
64
+ allowed:
65
+ - defaults
66
+ - pypi.org
67
+ - files.pythonhosted.org
68
+
69
+ steps:
70
+ - name: Setup uv
71
+ uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
72
+ - name: Set up Python
73
+ uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
74
+ with:
75
+ python-version: "3.14"
76
+ - name: Install Python test dependencies
77
+ run: uv pip install --system -e ".[test]"
78
+
63
79
  safe-outputs:
64
80
  noop:
65
81
  report-as-issue: false
@@ -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,
@@ -2,6 +2,56 @@
2
2
 
3
3
  <!-- insert new changelog below this comment -->
4
4
 
5
+ ## [0.16.3] - 2026-08-13
6
+
7
+ ### Changed
8
+
9
+ - fix: narrow bare except Exception in VS Code settings merge (#3844)
10
+ - feat(presets): list presets in resolution/precedence order (#4086) (#4104)
11
+ - Fix: scaffold self-contained namespaced preset commands (#4076) (#4082)
12
+ - Update Cross-Platform Governance preset to v0.2.2 (#4080)
13
+ - fix(bundler): treat a blank active integration as indeterminate in FR-019 (#3886)
14
+ - Integrate Junie with dot-to-hyphen behavior and command formatting (#4073)
15
+ - Update A11Y Governance preset to v0.4.3 (#4074)
16
+ - Fix Alquimia argument hints after folded descriptions (#4063)
17
+ - fix: use bounded read for bundle download HTTP responses (#3764)
18
+ - Update iSAQB Architecture Governance preset to v0.2.2 (#4056)
19
+ - fix(claude): make argument-hint injection fold-aware for long descriptions (#4045)
20
+ - Add SpecKit Grill Me extension to community catalog (#4052)
21
+ - Update Architecture Governance preset to v0.5.2 (#4050)
22
+ - Remove auto-assign from catalog submission workflow (#4054)
23
+ - docs: clarify example spec guidance (#4048)
24
+ - Clarify custom checklist ownership and lifecycle (#4028)
25
+ - Update Archive Extension to v1.2.2 (#4053)
26
+ - Update Security Governance preset to v0.6.2 (#4040)
27
+ - docs: clarify maintainer applies submission label during triage (#4041)
28
+ - chore: release 0.16.2, begin 0.16.3.dev0 development (#4038)
29
+
30
+ ## [0.16.2] - 2026-08-10
31
+
32
+ ### Changed
33
+
34
+ - Add Command Code integration to spec-kit (#4019)
35
+ - fix(workflows): strip a resolved condition before the true/false check (#3883)
36
+ - fix(workflows): guard a non-string overlay edit 'operation' (#3881)
37
+ - fix: bound response read in integration catalog fetch (#3818)
38
+ - Fix bug-test Python dependency provisioning (#4030)
39
+ - fix(bundle): escape Rich markup in bundle CLI error and status output (#4023)
40
+ - fix(presets): skip an unreadable restore source in `preset remove` (#4020)
41
+ - Add Keel Discovery extension to community catalog (#4035)
42
+ - fix: show error details in preset catalog config read failure (#3840)
43
+ - Update Reconcile Extension to v1.1.0 (#4034)
44
+ - Add Model Routing Governance preset to community catalog (#4033)
45
+ - fix: use missing_ok=True in integration JSON removal (#3846)
46
+ - fix: use missing_ok=True in extension cache clear (#3845)
47
+ - fix(extensions): reject duplicate provides.templates/scripts names (#4016)
48
+ - feat(presets): resolve constitution templates at command time (#3984)
49
+ - [bug-fix] Fix preset-wrap-drops-argument-hint: inherit argument-hint from core template (#3996)
50
+ - docs: document installing specify-cli from a custom package index (#4032)
51
+ - feat(extensions): accept provides.templates and provides.scripts in manifest (#4012)
52
+ - fix(presets): treat an unreadable core template as missing (#3961)
53
+ - chore: release 0.16.1, begin 0.16.2.dev0 development (#4014)
54
+
5
55
  ## [0.16.1] - 2026-08-07
6
56
 
7
57
  ### Changed
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: specify-cli
3
- Version: 0.16.1
3
+ Version: 0.16.3
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
@@ -110,7 +110,7 @@ Bare `specify self upgrade` executes immediately, matching the no-prompt behavio
110
110
 
111
111
  ### 3. Establish project principles
112
112
 
113
- Launch your coding agent in the project directory. Most agents expose spec-kit as `/speckit.*` slash commands; Codex CLI in skills mode uses `$speckit-*` instead; GitHub Copilot CLI uses `/agents` to select the agent or address it directly in a prompt.
113
+ Launch your coding agent in the project directory. Most agents expose spec-kit as `/speckit.*` slash commands; Codex CLI and Command Code in skills mode use `$speckit-*` instead; GitHub Copilot CLI uses `/agents` to select the agent or address it directly in a prompt.
114
114
 
115
115
  Use the **`/speckit.constitution`** command to create your project's governing principles and development guidelines that will guide all subsequent development.
116
116
 
@@ -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
@@ -90,7 +90,7 @@ Bare `specify self upgrade` executes immediately, matching the no-prompt behavio
90
90
 
91
91
  ### 3. Establish project principles
92
92
 
93
- Launch your coding agent in the project directory. Most agents expose spec-kit as `/speckit.*` slash commands; Codex CLI in skills mode uses `$speckit-*` instead; GitHub Copilot CLI uses `/agents` to select the agent or address it directly in a prompt.
93
+ Launch your coding agent in the project directory. Most agents expose spec-kit as `/speckit.*` slash commands; Codex CLI and Command Code in skills mode use `$speckit-*` instead; GitHub Copilot CLI uses `/agents` to select the agent or address it directly in a prompt.
94
94
 
95
95
  Use the **`/speckit.constitution`** command to create your project's governing principles and development guidelines that will guide all subsequent development.
96
96
 
@@ -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
@@ -34,7 +34,7 @@ The following community-contributed extensions are available in [`catalog.commun
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
35
  | 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
36
  | 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) |
37
+ | 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) |
38
38
  | 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
39
  | 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
40
  | 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) |
@@ -72,6 +72,7 @@ The following community-contributed extensions are available in [`catalog.commun
72
72
  | Iterate | Iterate on spec documents with a two-phase define-and-apply workflow — refine specs mid-implementation and go straight back to building | `docs` | Read+Write | [spec-kit-iterate](https://github.com/imviancagrace/spec-kit-iterate) |
73
73
  | Jira Integration | Create Jira Epics, Stories, and Issues from spec-kit specifications and task breakdowns with configurable hierarchy and custom field support | `integration` | Read+Write | [spec-kit-jira](https://github.com/mbachorik/spec-kit-jira) |
74
74
  | Jira Integration (Sync Engine) | Idempotent, drift-aware, fail-closed reconcile engine mirroring spec-kit specs into Jira (Epic per repo, Story per spec, Subtask per phase) | `integration` | Read+Write | [spec-kit-jira-sync](https://github.com/ashbrener/spec-kit-jira-sync) |
75
+ | Keel Discovery | A Spec Kit extension that puts customer evidence upstream of /speckit.specify, and audits what you shipped against it afterwards | `process` | Read+Write | [spec-kit-keel](https://github.com/keeldiscovery/spec-kit-keel) |
75
76
  | Learning Extension | Generate educational guides from implementations and enhance clarifications with mentoring context | `docs` | Read+Write | [spec-kit-learn](https://github.com/imviancagrace/spec-kit-learn) |
76
77
  | Linear Integration | Mirror spec-kit feature directories into Linear (filesystem → Linear, reconcile-based, unidirectional). | `integration` | Read+Write | [spec-kit-linear-sync](https://github.com/ashbrener/spec-kit-linear-sync) |
77
78
  | Linear Weave | Weave Spec Kit into Linear: pull requirements, mirror tasks.md into sub-issues, sync statuses | `integration` | Read+Write | [spec-kit-linear-weave](https://github.com/tonydwoodhouse/spec-kit-linear-weave) |
@@ -145,6 +146,7 @@ The following community-contributed extensions are available in [`catalog.commun
145
146
  | 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) |
146
147
  | Spec2Cloud | Spec-driven workflow tuned for shipping to Azure | `process` | Read+Write | [spec2cloud](https://github.com/Azure-Samples/Spec2Cloud) |
147
148
  | 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) |
149
+ | SpecKit Grill Me | Exhaustively resolve specification ambiguities and decisions before planning | `process` | Read+Write | [speckit-grill-me](https://github.com/yoshi1220/speckit-grill-me) |
148
150
  | 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) |
149
151
  | 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) |
150
152
  | 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) |