specify-cli 0.16.0__tar.gz → 0.16.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/agent_request.yml +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/bug_report.yml +1 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/feature_request.yml +1 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/aw/actions-lock.json +16 -6
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/add-community-bundle.lock.yml +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/add-community-extension.lock.yml +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/add-community-preset.lock.yml +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/bug-assess.lock.yml +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/bug-fix.lock.yml +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/bug-test.lock.yml +18 -7
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/bug-test.md +16 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/codeql.yml +2 -2
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/lint.yml +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/CHANGELOG.md +51 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/PKG-INFO +2 -2
- {specify_cli-0.16.0 → specify_cli-0.16.2}/README.md +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/community/extensions.md +1 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/community/presets.md +1 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/install/pypi.md +21 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/installation.md +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/reference/core.md +2 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/reference/integrations.md +2 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/EXTENSION-API-REFERENCE.md +39 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +24 -2
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/agent-context/scripts/python/update_agent_context.py +26 -11
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/catalog.community.json +38 -4
- {specify_cli-0.16.0 → specify_cli-0.16.2}/integrations/catalog.json +9 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/ARCHITECTURE.md +13 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/README.md +10 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/catalog.community.json +30 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/catalog.json +2 -2
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/constitution-sync/README.md +15 -6
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/constitution-sync/preset.yml +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/pyproject.toml +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/bash/check-prerequisites.sh +43 -8
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/bash/common.sh +319 -105
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/bash/create-new-feature.sh +19 -4
- specify_cli-0.16.2/scripts/bash/resolve-template.sh +57 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/bash/setup-plan.sh +6 -4
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/bash/setup-tasks.sh +7 -4
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/powershell/check-prerequisites.ps1 +18 -2
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/powershell/common.ps1 +239 -82
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/powershell/create-new-feature.ps1 +8 -5
- specify_cli-0.16.2/scripts/powershell/resolve-template.ps1 +38 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/powershell/setup-plan.ps1 +2 -4
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/powershell/setup-tasks.ps1 +8 -2
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/python/check_prerequisites.py +76 -8
- specify_cli-0.16.2/scripts/python/common.py +554 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/python/create_new_feature.py +26 -7
- specify_cli-0.16.2/scripts/python/resolve_template.py +63 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/python/setup_plan.py +17 -6
- {specify_cli-0.16.0 → specify_cli-0.16.2}/scripts/python/setup_tasks.py +38 -8
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/_download_security.py +21 -3
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/_invocation_style.py +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/_utils.py +2 -2
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/commands/bundle/__init__.py +51 -21
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/commands/init.py +64 -16
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/events.py +9 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/extensions/__init__.py +157 -9
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/__init__.py +2 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/catalog.py +10 -1
- specify_cli-0.16.2/src/specify_cli/integrations/command_code/__init__.py +41 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/hermes/__init__.py +37 -7
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/kimi/__init__.py +13 -3
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/manifest.py +1 -2
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/presets/__init__.py +210 -55
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/presets/_commands.py +23 -5
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/shared_infra.py +47 -2
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/_commands.py +6 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/expressions.py +13 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/schema.py +6 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/commands/checklist.md +5 -5
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/commands/constitution.md +19 -6
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/commands/tasks.md +2 -2
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/contract/test_bundle_cli.py +111 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/test_update_agent_context_python_parity.py +69 -33
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integration/test_bundler_local_install.py +44 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_cli.py +93 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_events.py +47 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_base_markdown.py +3 -2
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_base_skills.py +88 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_base_toml.py +3 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_base_yaml.py +3 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_catalog.py +202 -128
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_cline.py +3 -0
- specify_cli-0.16.2/tests/integrations/test_integration_command_code.py +47 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_copilot.py +6 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_generic.py +4 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_registry.py +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_skill_frontmatter_quoting.py +63 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/parity_helpers.py +61 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_agent_config_consistency.py +1 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_check_prerequisites_python_parity.py +128 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_command_template_py_scripts.py +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_create_new_feature_python_parity.py +99 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_download_security.py +188 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_extensions.py +287 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_github_workflows.py +35 -0
- specify_cli-0.16.2/tests/test_init_output_markup.py +176 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_presets.py +822 -33
- specify_cli-0.16.2/tests/test_resolve_template_python_parity.py +753 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_setup_plan_python_parity.py +69 -11
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_setup_tasks.py +1 -1
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_setup_tasks_python_parity.py +63 -0
- specify_cli-0.16.2/tests/test_shared_infra_gitignore.py +103 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_workflows.py +84 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/workflows/test_overlay_schema.py +38 -0
- specify_cli-0.16.0/scripts/python/common.py +0 -293
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.devcontainer/devcontainer.json +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.devcontainer/post-create.sh +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.editorconfig +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.gitattributes +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/CODEOWNERS +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/bundle_submission.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/dependabot.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/scripts/check_security_requirements.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/security-audit-requirements.txt +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/skills/add-community-extension/SKILL.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/RELEASE-PROCESS.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/add-community-bundle.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/add-community-extension.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/add-community-preset.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/bug-assess.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/bug-fix.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/catalog-assign.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/docs.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/publish-pypi.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/release-trigger.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/release.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/security.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/stale.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/test.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.gitignore +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.markdownlint-cli2.jsonc +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.pre-commit-config.yaml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/.zenodo.json +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/AGENTS.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/CITATION.cff +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/CODE_OF_CONDUCT.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/CONTRIBUTING.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/DEVELOPMENT.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/LICENSE +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/README.zh-CN.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/SECURITY.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/SUPPORT.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/bundles/catalog.community.json +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/.gitignore +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/community/bundles.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/community/friends.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/community/overview.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/community/walkthroughs.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/concepts/complex-features.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/concepts/sdd.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/concepts/spec-of-specs.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/concepts/spec-persistence.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/docfx.json +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/guides/evolving-specs.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/guides/monorepo.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/index.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/install/air-gapped.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/install/one-time.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/install/pipx.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/install/uv.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/local-development.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/quickstart.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/reference/agentic-bugfix.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/reference/agentic-sdd.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/reference/authentication.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/reference/bundles.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/reference/extensions.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/reference/overview.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/reference/presets.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/reference/workflows.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/template/public/main.css +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/toc.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/docs/upgrade.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/examples/bundles/business-analyst/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/examples/bundles/business-analyst/bundle.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/examples/bundles/developer/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/examples/bundles/developer/bundle.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/examples/bundles/product-manager/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/examples/bundles/product-manager/bundle.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/examples/bundles/security-researcher/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/examples/bundles/security-researcher/bundle.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/EXTENSION-USER-GUIDE.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/agent-context/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/agent-context/agent-context-config.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/agent-context/agent-context-defaults.json +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/agent-context/extension.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/assess/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/assess/commands/speckit.assess.decide.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/assess/commands/speckit.assess.define.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/assess/commands/speckit.assess.intake.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/assess/commands/speckit.assess.research.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/assess/commands/speckit.assess.shape.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/assess/extension.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/bug/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/bug/commands/speckit.bug.assess.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/bug/commands/speckit.bug.fix.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/bug/commands/speckit.bug.test.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/bug/extension.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/catalog.json +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/commands/speckit.git.commit.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/commands/speckit.git.feature.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/commands/speckit.git.initialize.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/commands/speckit.git.remote.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/commands/speckit.git.validate.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/config-template.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/extension.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/git-config.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/bash/auto-commit.sh +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/bash/create-new-feature-branch.sh +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/bash/git-common.sh +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/python/auto_commit.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/python/create_new_feature_branch.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/python/git_common.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/git/scripts/python/initialize_repo.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/selftest/commands/selftest.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/selftest/extension.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/template/.gitignore +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/template/CHANGELOG.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/template/EXAMPLE-README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/template/LICENSE +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/template/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/template/commands/example.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/template/config-template.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/extensions/template/extension.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/integrations/CONTRIBUTING.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/integrations/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/integrations/catalog.community.json +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/media/bootstrap-claude-code.gif +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/media/logo_large.webp +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/media/logo_small.webp +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/media/spec-kit-video-header.jpg +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/media/specify_cli.gif +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/newsletters/2026-April.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/newsletters/2026-February.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/newsletters/2026-July.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/newsletters/2026-June.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/newsletters/2026-March.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/newsletters/2026-May.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/PUBLISHING.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/lean/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/lean/commands/speckit.constitution.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/lean/commands/speckit.implement.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/lean/commands/speckit.plan.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/lean/commands/speckit.specify.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/lean/commands/speckit.tasks.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/lean/preset.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/scaffold/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/scaffold/commands/speckit.specify.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/scaffold/preset.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/scaffold/templates/myext-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/scaffold/templates/spec-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/self-test/commands/speckit.specify.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/self-test/commands/speckit.wrap-test.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/self-test/preset.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/self-test/templates/checklist-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/self-test/templates/constitution-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/self-test/templates/plan-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/self-test/templates/spec-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/presets/self-test/templates/tasks-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/spec-driven.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/spec-kit.code-workspace +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/_agent_config.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/_assets.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/_console.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/_github_http.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/_init_options.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/_project.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/_toml_string.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/_version.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/agents.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/authentication/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/authentication/azure_devops.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/authentication/base.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/authentication/config.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/authentication/github.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/authentication/http.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/commands_impl/catalog_config.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/lib/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/lib/project.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/lib/versioning.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/lib/yamlio.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/models/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/models/catalog.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/models/manifest.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/models/records.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/services/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/services/adapters.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/services/catalog_stack.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/services/conflict.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/services/installer.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/services/packager.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/services/primitives.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/services/references.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/services/resolver.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/bundler/services/validator.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/catalogs.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/commands/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/commands/event.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/extensions/_commands.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integration_runtime.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integration_scaffold.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integration_state.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integration_status.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/_commands.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/_helpers.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/_install_commands.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/_migrate_commands.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/_query_commands.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/agy/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/alquimia/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/amp/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/auggie/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/base.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/bob/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/claude/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/cline/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/codex/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/copilot/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/devin/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/droid/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/firebender/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/forge/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/gemini/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/generic/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/goose/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/grok/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/junie/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/lingma/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/omp/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/opencode/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/pi/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/qwen/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/shai/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/trae/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/vibe/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/zcode/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/integrations/zed/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/base.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/catalog.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/engine.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/_commands.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/composer.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/layer_sources.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/merge.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/do_while/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/gate/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/if_then/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/shell/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/switch/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/while_loop/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/checklist-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/commands/analyze.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/commands/clarify.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/commands/converge.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/commands/implement.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/commands/plan.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/commands/specify.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/commands/taskstoissues.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/constitution-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/plan-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/spec-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/tasks-template.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/templates/vscode-settings.json +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/auth_helpers.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/bundler_helpers.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/conftest.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/contract/test_catalog_schema.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/contract/test_manifest_schema.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/contract/test_wheel_bundled_presets.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/assess/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/assess/test_assess_extension.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/bug/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/bug/test_bug_extension.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/git/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/git/test_git_extension.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/git/test_git_extension_python_parity.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/test_agent_context_cli_free.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/test_extension_agent_context.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/hooks/TESTING.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/hooks/plan.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/hooks/spec.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/hooks/tasks.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/http_helpers.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integration/test_bundler_catalog_stack.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integration/test_bundler_init_install.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integration/test_bundler_install_flow.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integration/test_bundler_offline.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integration/test_bundler_security_paths.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/__init__.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/conftest.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_base.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_extra_args.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_home_isolation.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_agy.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_alquimia.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_amp.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_auggie.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_bob.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_claude.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_codebuddy.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_codex.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_cursor_agent.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_devin.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_droid.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_firebender.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_forge.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_gemini.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_goose.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_grok.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_hermes.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_junie.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_kilocode.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_kimi.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_kiro_cli.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_lingma.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_omp.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_opencode.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_pi.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_qodercli.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_qwen.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_rovodev.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_scaffold.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_shai.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_state.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_subcommand.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_tabnine.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_trae.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_vibe.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_zcode.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_integration_zed.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/integrations/test_manifest.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/self_upgrade_helpers.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_authentication.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_branch_numbering.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_check_prerequisites_paths_only.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_check_tool.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_cli_version.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_commands_package.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_console_imports.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_extension_add_path_traversal.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_extension_registration.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_extension_skills.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_extension_update_hardening.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_github_http.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_init_dir.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_init_dir_cli.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_live_transient_windows.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_merge.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_post_process.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_ps1_encoding.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_registrar_path_traversal.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_security_workflow.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_self_upgrade_detection.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_self_upgrade_execution.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_self_upgrade_guidance.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_self_upgrade_verification.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_setup_plan_feature_json.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_setup_plan_no_overwrite.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_shared_infra_integrity.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_skill_placeholder_py.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_specify_template_numbering.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_timestamp_branches.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_upgrade.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_utils.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_utils_assets_imports.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_version_imports.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/test_workflow_run_without_project.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundle_download_url.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundler_adapters.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundler_catalog_config.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundler_conflict.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundler_packager.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundler_primitives.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundler_records.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundler_references.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundler_resolver.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundler_validator.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundler_versioning.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/unit/test_bundler_yamlio.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/workflows/conftest.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/workflows/test_overlay_commands.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/workflows/test_overlay_composer.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/workflows/test_overlay_layer_sources.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/workflows/test_overlay_merge.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/workflows/test_overlay_security.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/tests/workflows/test_resolver_integration.py +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/workflows/ARCHITECTURE.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/workflows/PUBLISHING.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/workflows/README.md +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/workflows/catalog.community.json +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/workflows/catalog.json +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/workflows/speckit/workflow.yml +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/workflows/step-catalog.community.json +0 -0
- {specify_cli-0.16.0 → specify_cli-0.16.2}/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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entries": {
|
|
3
|
-
"actions/checkout@
|
|
3
|
+
"actions/checkout@v7.0.1": {
|
|
4
4
|
"repo": "actions/checkout",
|
|
5
|
-
"version": "
|
|
6
|
-
"sha": "
|
|
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@
|
|
18
|
+
"actions/setup-node@v7.0.0": {
|
|
19
19
|
"repo": "actions/setup-node",
|
|
20
|
-
"version": "
|
|
21
|
-
"sha": "
|
|
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":"
|
|
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
|
# ___ _ _
|
{specify_cli-0.16.0 → specify_cli-0.16.2}/.github/workflows/add-community-extension.lock.yml
RENAMED
|
@@ -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":"
|
|
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":"
|
|
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":"
|
|
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":"
|
|
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":"
|
|
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":"
|
|
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
|
|
@@ -22,11 +22,11 @@ jobs:
|
|
|
22
22
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
23
23
|
|
|
24
24
|
- name: Initialize CodeQL
|
|
25
|
-
uses: github/codeql-action/init@
|
|
25
|
+
uses: github/codeql-action/init@d1ba80a13dd99fba24a470575428917156a28b43 # v4
|
|
26
26
|
with:
|
|
27
27
|
languages: ${{ matrix.language }}
|
|
28
28
|
|
|
29
29
|
- name: Perform CodeQL Analysis
|
|
30
|
-
uses: github/codeql-action/analyze@
|
|
30
|
+
uses: github/codeql-action/analyze@d1ba80a13dd99fba24a470575428917156a28b43 # v4
|
|
31
31
|
with:
|
|
32
32
|
category: "/language:${{ matrix.language }}"
|
|
@@ -37,7 +37,7 @@ jobs:
|
|
|
37
37
|
fi
|
|
38
38
|
|
|
39
39
|
- name: Run markdownlint-cli2
|
|
40
|
-
uses: DavidAnson/markdownlint-cli2-action@
|
|
40
|
+
uses: DavidAnson/markdownlint-cli2-action@21c1be1b93ad9ed58fa840aacc3f279cde2a72ff # v24.2.0
|
|
41
41
|
with:
|
|
42
42
|
globs: |
|
|
43
43
|
'**/*.md'
|
|
@@ -2,6 +2,57 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- insert new changelog below this comment -->
|
|
4
4
|
|
|
5
|
+
## [0.16.2] - 2026-08-10
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Add Command Code integration to spec-kit (#4019)
|
|
10
|
+
- fix(workflows): strip a resolved condition before the true/false check (#3883)
|
|
11
|
+
- fix(workflows): guard a non-string overlay edit 'operation' (#3881)
|
|
12
|
+
- fix: bound response read in integration catalog fetch (#3818)
|
|
13
|
+
- Fix bug-test Python dependency provisioning (#4030)
|
|
14
|
+
- fix(bundle): escape Rich markup in bundle CLI error and status output (#4023)
|
|
15
|
+
- fix(presets): skip an unreadable restore source in `preset remove` (#4020)
|
|
16
|
+
- Add Keel Discovery extension to community catalog (#4035)
|
|
17
|
+
- fix: show error details in preset catalog config read failure (#3840)
|
|
18
|
+
- Update Reconcile Extension to v1.1.0 (#4034)
|
|
19
|
+
- Add Model Routing Governance preset to community catalog (#4033)
|
|
20
|
+
- fix: use missing_ok=True in integration JSON removal (#3846)
|
|
21
|
+
- fix: use missing_ok=True in extension cache clear (#3845)
|
|
22
|
+
- fix(extensions): reject duplicate provides.templates/scripts names (#4016)
|
|
23
|
+
- feat(presets): resolve constitution templates at command time (#3984)
|
|
24
|
+
- [bug-fix] Fix preset-wrap-drops-argument-hint: inherit argument-hint from core template (#3996)
|
|
25
|
+
- docs: document installing specify-cli from a custom package index (#4032)
|
|
26
|
+
- feat(extensions): accept provides.templates and provides.scripts in manifest (#4012)
|
|
27
|
+
- fix(presets): treat an unreadable core template as missing (#3961)
|
|
28
|
+
- chore: release 0.16.1, begin 0.16.2.dev0 development (#4014)
|
|
29
|
+
|
|
30
|
+
## [0.16.1] - 2026-08-07
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- fix(integrations): wrap a non-UTF-8 catalog response (#4011)
|
|
35
|
+
- fix(events): skip an unreadable command template (#3956)
|
|
36
|
+
- fix(bundle): wrap malformed YAML in a local .zip bundle manifest (#4013)
|
|
37
|
+
- chore(deps): bump github/codeql-action/analyze from 4.37.3 to 4.37.5 (#4005)
|
|
38
|
+
- chore(deps): bump DavidAnson/markdownlint-cli2-action (#4006)
|
|
39
|
+
- fix(agent-context): recurse for nested plans in Python mtime fallback (#3757)
|
|
40
|
+
- fix: add utf-8 encoding to extension and preset registry file I/O (#3834)
|
|
41
|
+
- fix(init): escape user-supplied values in `specify init` output (#3787)
|
|
42
|
+
- fix: bound response read in integration catalog fetch (#3812)
|
|
43
|
+
- fix: use missing_ok for temp file cleanup to avoid masking errors (#3803)
|
|
44
|
+
- fix(workflows): handle an unreadable run state in `workflow status` (#3999)
|
|
45
|
+
- feat(init): scaffold managed .specify/.gitignore (#4000)
|
|
46
|
+
- fix(scripts): stop check-prerequisites text mode crashing on a legacy stdout code page (#3890)
|
|
47
|
+
- fix(presets): return None for an unreadable layer in resolve_content (#3959)
|
|
48
|
+
- fix(extensions): start fresh on a non-UTF-8 extension registry (#3998)
|
|
49
|
+
- Fix init-force-preset-desync: reapply presets/extensions on init --here --force (#3995)
|
|
50
|
+
- fix(skills): apply the line-anchored delimiter scan to hermes and kimi (#3739)
|
|
51
|
+
- fix(archives): wrap the bare EOFError a truncated tar.gz raises (#3938)
|
|
52
|
+
- test(integrations): guard multiline/control-char SKILL.md frontmatter escaping (#3392)
|
|
53
|
+
- fix(scripts): stop setup-tasks text mode crashing on a legacy code page (#3892)
|
|
54
|
+
- chore: release 0.16.0, begin 0.16.1.dev0 development (#3992)
|
|
55
|
+
|
|
5
56
|
## [0.16.0] - 2026-08-05
|
|
6
57
|
|
|
7
58
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specify-cli
|
|
3
|
-
Version: 0.16.
|
|
3
|
+
Version: 0.16.2
|
|
4
4
|
Summary: Specify CLI, part of GitHub Spec Kit. A tool to bootstrap your projects for Spec-Driven Development (SDD).
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Requires-Python: >=3.11
|
|
@@ -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
|
|
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
|
|
|
@@ -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
|
|
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
|
|
|
@@ -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) |
|
|
@@ -25,6 +25,7 @@ The following community-contributed presets customize how Spec Kit behaves — o
|
|
|
25
25
|
| iSAQB Architecture Governance | Adds iSAQB/CPSA-F and arc42 architecture governance with audit-ready evidence for goals, views, resumability, partial-failure scenarios, ADRs, risks, and technical debt. | 13 templates, 3 commands | — | [spec-kit-preset-isaqb-architecture-governance](https://github.com/hindermath/spec-kit-preset-isaqb-architecture-governance) |
|
|
26
26
|
| Jira Issue Tracking | Overrides `speckit.taskstoissues` to create Jira epics, stories, and tasks instead of GitHub Issues via Atlassian MCP tools | 1 command | — | [spec-kit-preset-jira](https://github.com/luno/spec-kit-preset-jira) |
|
|
27
27
|
| Model Driven Engineering | Focuses on streamlined commands, app repository support, cross-spec support, and capability-aware project memory for model-driven engineering workflows | 6 templates, 11 commands | MDE extension | [spec-kit-preset-mde](https://github.com/AI-MDE/spec-kit-preset-mde) |
|
|
28
|
+
| Model Routing Governance | Maps provider-neutral Spec Kit roles to validated harness-local runner profiles without storing model availability, credentials, or machine-specific selections in Git. | 4 templates, 2 commands, 2 scripts | — | [spec-kit-preset-model-routing-governance](https://github.com/hindermath/spec-kit-preset-model-routing-governance) |
|
|
28
29
|
| Multi-Repo Branching | Coordinates feature branch creation across multiple git repositories (independent repos and submodules) during plan and tasks phases | 2 commands | — | [spec-kit-preset-multi-repo-branching](https://github.com/sakitA/spec-kit-preset-multi-repo-branching) |
|
|
29
30
|
| Parallel Autonomous Run Governance | Coordinates permission-bounded autonomous campaigns while preserving the project's learner and accessibility contract across workers and consolidation. | 9 templates, 5 commands, 2 scripts | autonomous-run-governance >=0.2.2; optional: intake-review-governance >=0.1.0 | [spec-kit-preset-parallel-autonomous-run-governance](https://github.com/hindermath/spec-kit-preset-parallel-autonomous-run-governance) |
|
|
30
31
|
| Pirate Speak (Full) | Transforms all Spec Kit output into pirate speak — specs become "Voyage Manifests", plans become "Battle Plans", tasks become "Crew Assignments" | 6 templates, 9 commands | — | [spec-kit-presets](https://github.com/mnriem/spec-kit-presets) |
|
|
@@ -35,6 +35,27 @@ pipx install specify-cli==0.12.11
|
|
|
35
35
|
pip install specify-cli==0.12.11
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
+
## Install from a custom or private package index
|
|
39
|
+
|
|
40
|
+
Some environments (corporate networks, mirrors, proxies, or artifact feeds) require installing `specify-cli` from a package index other than the default public PyPI. Each Python tool exposes a way to point at a different index — configure it before running the install commands above. Substitute your own index URL for the placeholder shown here.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# uv — via environment variable (applies to the whole command)
|
|
44
|
+
UV_DEFAULT_INDEX=https://your-index.example.com/pypi/simple/ uv tool install specify-cli
|
|
45
|
+
|
|
46
|
+
# uv — via flag
|
|
47
|
+
uv tool install --default-index https://your-index.example.com/pypi/simple/ specify-cli
|
|
48
|
+
|
|
49
|
+
# pipx — pass a pip argument through
|
|
50
|
+
pipx install specify-cli --index-url https://your-index.example.com/pypi/simple/
|
|
51
|
+
|
|
52
|
+
# pip
|
|
53
|
+
pip install specify-cli --index-url https://your-index.example.com/pypi/simple/
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
> [!NOTE]
|
|
57
|
+
> The same index configuration applies to pinned installs, upgrades (`--force`/`--upgrade`), and one-time usage — set the environment variable or flag on those commands too. If your index requires authentication, follow your tool's documentation and prefer credential environment variables, keyring, or netrc; do not embed secrets in command-line URLs because they can leak through shell history, process listings, or logs. Avoid committing secrets. For fully offline installs, see the [air-gapped installation guide](air-gapped.md).
|
|
58
|
+
|
|
38
59
|
## Verify
|
|
39
60
|
|
|
40
61
|
```bash
|
|
@@ -50,7 +50,7 @@ pipx install specify-cli
|
|
|
50
50
|
pip install specify-cli
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
To install a specific release, pin the version — for example `uv tool install specify-cli==0.12.11`. See the [PyPI installation guide](install/pypi.md) for details, including how to upgrade.
|
|
53
|
+
To install a specific release, pin the version — for example `uv tool install specify-cli==0.12.11`. See the [PyPI installation guide](install/pypi.md) for details, including how to upgrade and how to [install from a custom or private package index](install/pypi.md#install-from-a-custom-or-private-package-index).
|
|
54
54
|
|
|
55
55
|
### One-time Usage
|
|
56
56
|
|
|
@@ -57,6 +57,8 @@ specify init my-project --integration copilot --preset compliance
|
|
|
57
57
|
|
|
58
58
|
> **Two resolution axes.** `SPECIFY_INIT_DIR` selects the **project** (which directory contains `.specify/`); `SPECIFY_FEATURE_DIRECTORY` / `.specify/feature.json` select the **feature** within that project. They are independent — project first, then feature.
|
|
59
59
|
|
|
60
|
+
> **Version control.** `specify init` scaffolds a managed `.specify/.gitignore` that excludes machine-local state — `feature.json` (the current-feature pointer, rewritten on every feature switch) and per-machine extension `extensions/*/local-config.yml` overrides — while leaving everything else under `.specify/` (constitution, templates, scripts, extension config) shareable so teams stay aligned. Like the rest of `.specify/`'s shared scripts and templates, the file is tracked in the shared-infrastructure manifest: your edits are preserved on re-init and `specify init --here --force` restores the managed content. It is intentionally left in place by `specify integration uninstall`, which only removes the uninstalled agent's own files.
|
|
61
|
+
|
|
60
62
|
> **Symlinked project roots.** `SPECIFY_INIT_DIR` relocates *where* the project is, not *how* a command treats symlinks: each command keeps its existing cwd-path stance. Commands that traverse and write project files through broad input paths (`bundle`, `workflow run <file>`) refuse a symlinked `.specify/` to preserve write confinement. Other project-scoped commands keep their existing behavior when `SPECIFY_INIT_DIR` points at a project root, which may include following a symlinked `.specify/`.
|
|
61
63
|
|
|
62
64
|
## Check Installed Tools
|
|
@@ -14,6 +14,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
|
|
|
14
14
|
| [Cline](https://github.com/cline/cline) | `cline` | IDE-based agent |
|
|
15
15
|
| [CodeBuddy CLI](https://www.codebuddy.cn/docs/cli/installation) | `codebuddy` | |
|
|
16
16
|
| [Codex CLI](https://github.com/openai/codex) | `codex` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `$speckit-<command>` |
|
|
17
|
+
| [Command Code](https://commandcode.ai/docs) | `command-code` | Skills-based integration; installs skills into `.commandcode/skills/` and invokes them as `$speckit-<command>` |
|
|
17
18
|
| [Cursor](https://cursor.sh/) | `cursor-agent` | |
|
|
18
19
|
| [Devin for Terminal](https://cli.devin.ai/docs) | `devin` | Skills-based integration; installs skills into `.devin/skills/` and invokes them as `/speckit-<command>` |
|
|
19
20
|
| [Factory Droid](https://docs.factory.ai/cli/getting-started/overview) | `droid` | Skills-based integration; installs skills into `.factory/skills/` and invokes them as `/speckit-<command>` |
|
|
@@ -279,6 +280,7 @@ The currently declared multi-install safe integrations are:
|
|
|
279
280
|
| `cline` | `.clinerules/workflows` |
|
|
280
281
|
| `codebuddy` | `.codebuddy/commands` |
|
|
281
282
|
| `codex` | `.agents/skills` |
|
|
283
|
+
| `command-code` | `.commandcode/skills` |
|
|
282
284
|
| `cursor-agent` | `.cursor/skills` |
|
|
283
285
|
| `droid` | `.factory/skills` |
|
|
284
286
|
| `firebender` | `.firebender/commands` |
|
|
@@ -40,12 +40,25 @@ requires:
|
|
|
40
40
|
required: boolean # Optional, default: false
|
|
41
41
|
|
|
42
42
|
provides:
|
|
43
|
-
commands: #
|
|
43
|
+
commands: # At least one of commands/templates/scripts/hooks/events required
|
|
44
44
|
- name: string # Required, pattern: ^speckit\.[a-z0-9-]+\.[a-z0-9-]+$
|
|
45
45
|
file: string # Required, relative path to command file
|
|
46
46
|
description: string # Required
|
|
47
47
|
aliases: [string] # Optional, same pattern as name; namespace must match extension.id and must not shadow core or installed extension commands
|
|
48
48
|
|
|
49
|
+
templates: # Optional, array of declared templates. Always resolve
|
|
50
|
+
# as "replace" -- 'strategy' is not an authorable field here.
|
|
51
|
+
- name: string # Required, pattern: ^[a-z0-9-]+$
|
|
52
|
+
file: string # Required, relative path to template file
|
|
53
|
+
description: string # Optional
|
|
54
|
+
|
|
55
|
+
scripts: # Optional, array of declared scripts. Always resolve
|
|
56
|
+
# as "replace" -- 'strategy' is not an authorable field here.
|
|
57
|
+
- name: string # Required, pattern: ^[a-z0-9-]+$
|
|
58
|
+
file: string # Required, relative path to script file
|
|
59
|
+
description: string # Optional
|
|
60
|
+
runtimes: [string] # Optional, subset of: bash, powershell, python
|
|
61
|
+
|
|
49
62
|
config: # Optional, array of config files
|
|
50
63
|
- name: string # Config file name
|
|
51
64
|
template: string # Template file path
|
|
@@ -111,6 +124,29 @@ defaults: # Optional, default configuration values
|
|
|
111
124
|
- **Examples**: `speckit.jira.specstoissues`, `speckit.linear.sync`
|
|
112
125
|
- **Invalid**: `jira.specstoissues`, `speckit.command`, `speckit.jira.CreateIssues`
|
|
113
126
|
|
|
127
|
+
#### `provides.templates[].name` / `provides.scripts[].name`
|
|
128
|
+
|
|
129
|
+
- **Type**: string
|
|
130
|
+
- **Pattern**: `^[a-z0-9-]+$`
|
|
131
|
+
- **Description**: Unlike commands, templates and scripts are not invoked by
|
|
132
|
+
name, so they use the same plain slug pattern as `extension.id` rather than
|
|
133
|
+
the namespaced command pattern.
|
|
134
|
+
- **Examples**: `myext-template`, `myext-collect`
|
|
135
|
+
|
|
136
|
+
#### `provides.templates[].strategy` / `provides.scripts[].strategy`
|
|
137
|
+
|
|
138
|
+
- Not an authorable field. Extension-contributed templates and scripts are
|
|
139
|
+
always resolved as `replace`; a manifest that includes a `strategy` key on
|
|
140
|
+
one of these entries is rejected with a `ValidationError`. Composable
|
|
141
|
+
strategies (`wrap`/`prepend`/`append`) are preset-only.
|
|
142
|
+
|
|
143
|
+
#### `provides.scripts[].runtimes`
|
|
144
|
+
|
|
145
|
+
- **Type**: array of strings
|
|
146
|
+
- **Values**: `bash`, `powershell`, `python`
|
|
147
|
+
- **Description**: Declares which runtimes the script supports. Purely
|
|
148
|
+
informational metadata — it is not used to select or invoke the script.
|
|
149
|
+
|
|
114
150
|
#### `hooks`
|
|
115
151
|
|
|
116
152
|
- **Type**: object
|
|
@@ -143,6 +179,8 @@ manifest.version # str: Version
|
|
|
143
179
|
manifest.description # str: Description
|
|
144
180
|
manifest.requires_speckit_version # str: Required spec-kit version
|
|
145
181
|
manifest.commands # List[Dict]: Command definitions
|
|
182
|
+
manifest.templates # List[Dict]: Declared template definitions
|
|
183
|
+
manifest.scripts # List[Dict]: Declared script definitions
|
|
146
184
|
manifest.hooks # Dict: Hook definitions
|
|
147
185
|
```
|
|
148
186
|
|