specify-cli 0.16.1__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.1 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/agent_request.yml +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/bug_report.yml +1 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/feature_request.yml +1 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/aw/actions-lock.json +16 -6
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/add-community-bundle.lock.yml +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/add-community-extension.lock.yml +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/add-community-preset.lock.yml +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/bug-assess.lock.yml +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/bug-fix.lock.yml +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/bug-test.lock.yml +18 -7
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/bug-test.md +16 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/CHANGELOG.md +25 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/PKG-INFO +2 -2
- {specify_cli-0.16.1 → specify_cli-0.16.2}/README.md +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/community/extensions.md +1 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/community/presets.md +1 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/install/pypi.md +21 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/installation.md +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/reference/integrations.md +2 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/EXTENSION-API-REFERENCE.md +39 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +24 -2
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/catalog.community.json +38 -4
- {specify_cli-0.16.1 → specify_cli-0.16.2}/integrations/catalog.json +9 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/ARCHITECTURE.md +13 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/README.md +10 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/catalog.community.json +30 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/catalog.json +2 -2
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/constitution-sync/README.md +15 -6
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/constitution-sync/preset.yml +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/pyproject.toml +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/scripts/bash/check-prerequisites.sh +43 -8
- {specify_cli-0.16.1 → specify_cli-0.16.2}/scripts/bash/common.sh +319 -105
- {specify_cli-0.16.1 → 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.1 → specify_cli-0.16.2}/scripts/bash/setup-plan.sh +6 -4
- {specify_cli-0.16.1 → specify_cli-0.16.2}/scripts/bash/setup-tasks.sh +7 -4
- {specify_cli-0.16.1 → specify_cli-0.16.2}/scripts/powershell/check-prerequisites.ps1 +18 -2
- {specify_cli-0.16.1 → specify_cli-0.16.2}/scripts/powershell/common.ps1 +239 -82
- {specify_cli-0.16.1 → 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.1 → specify_cli-0.16.2}/scripts/powershell/setup-plan.ps1 +2 -4
- {specify_cli-0.16.1 → specify_cli-0.16.2}/scripts/powershell/setup-tasks.ps1 +8 -2
- {specify_cli-0.16.1 → specify_cli-0.16.2}/scripts/python/check_prerequisites.py +55 -4
- specify_cli-0.16.2/scripts/python/common.py +554 -0
- {specify_cli-0.16.1 → 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.1 → specify_cli-0.16.2}/scripts/python/setup_plan.py +17 -6
- {specify_cli-0.16.1 → specify_cli-0.16.2}/scripts/python/setup_tasks.py +17 -4
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/_invocation_style.py +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/commands/bundle/__init__.py +40 -20
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/extensions/__init__.py +146 -2
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/__init__.py +2 -0
- specify_cli-0.16.2/src/specify_cli/integrations/command_code/__init__.py +41 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/presets/__init__.py +190 -52
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/presets/_commands.py +23 -5
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/expressions.py +13 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/schema.py +6 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/commands/checklist.md +5 -5
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/commands/constitution.md +19 -6
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/commands/tasks.md +2 -2
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/contract/test_bundle_cli.py +111 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_base_markdown.py +2 -2
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_base_skills.py +2 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_base_toml.py +2 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_base_yaml.py +2 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_cline.py +2 -0
- specify_cli-0.16.2/tests/integrations/test_integration_command_code.py +47 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_copilot.py +3 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_generic.py +2 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_registry.py +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/parity_helpers.py +61 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_agent_config_consistency.py +1 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_check_prerequisites_python_parity.py +82 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_command_template_py_scripts.py +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_create_new_feature_python_parity.py +99 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_extensions.py +262 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_github_workflows.py +35 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_presets.py +715 -33
- specify_cli-0.16.2/tests/test_resolve_template_python_parity.py +753 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_setup_plan_python_parity.py +69 -11
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_setup_tasks.py +1 -1
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_setup_tasks_python_parity.py +38 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_workflows.py +33 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/workflows/test_overlay_schema.py +38 -0
- specify_cli-0.16.1/scripts/python/common.py +0 -293
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.devcontainer/devcontainer.json +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.devcontainer/post-create.sh +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.editorconfig +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.gitattributes +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/CODEOWNERS +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/bundle_submission.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/dependabot.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/scripts/check_security_requirements.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/security-audit-requirements.txt +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/skills/add-community-extension/SKILL.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/RELEASE-PROCESS.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/add-community-bundle.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/add-community-extension.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/add-community-preset.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/bug-assess.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/bug-fix.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/catalog-assign.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/codeql.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/docs.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/lint.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/publish-pypi.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/release-trigger.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/release.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/security.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/stale.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.github/workflows/test.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.gitignore +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.markdownlint-cli2.jsonc +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.pre-commit-config.yaml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/.zenodo.json +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/AGENTS.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/CITATION.cff +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/CODE_OF_CONDUCT.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/CONTRIBUTING.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/DEVELOPMENT.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/LICENSE +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/README.zh-CN.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/SECURITY.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/SUPPORT.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/bundles/catalog.community.json +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/.gitignore +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/community/bundles.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/community/friends.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/community/overview.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/community/walkthroughs.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/concepts/complex-features.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/concepts/sdd.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/concepts/spec-of-specs.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/concepts/spec-persistence.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/docfx.json +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/guides/evolving-specs.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/guides/monorepo.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/index.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/install/air-gapped.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/install/one-time.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/install/pipx.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/install/uv.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/local-development.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/quickstart.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/reference/agentic-bugfix.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/reference/agentic-sdd.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/reference/authentication.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/reference/bundles.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/reference/core.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/reference/extensions.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/reference/overview.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/reference/presets.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/reference/workflows.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/template/public/main.css +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/toc.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/docs/upgrade.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/examples/bundles/business-analyst/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/examples/bundles/business-analyst/bundle.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/examples/bundles/developer/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/examples/bundles/developer/bundle.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/examples/bundles/product-manager/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/examples/bundles/product-manager/bundle.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/examples/bundles/security-researcher/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/examples/bundles/security-researcher/bundle.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/EXTENSION-USER-GUIDE.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/agent-context/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/agent-context/agent-context-config.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/agent-context/agent-context-defaults.json +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/agent-context/extension.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/assess/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/assess/commands/speckit.assess.decide.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/assess/commands/speckit.assess.define.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/assess/commands/speckit.assess.intake.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/assess/commands/speckit.assess.research.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/assess/commands/speckit.assess.shape.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/assess/extension.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/bug/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/bug/commands/speckit.bug.assess.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/bug/commands/speckit.bug.fix.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/bug/commands/speckit.bug.test.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/bug/extension.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/catalog.json +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/commands/speckit.git.commit.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/commands/speckit.git.feature.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/commands/speckit.git.initialize.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/commands/speckit.git.remote.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/commands/speckit.git.validate.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/config-template.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/extension.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/git-config.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/bash/auto-commit.sh +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/bash/create-new-feature-branch.sh +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/bash/git-common.sh +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/python/auto_commit.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/python/create_new_feature_branch.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/python/git_common.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/git/scripts/python/initialize_repo.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/selftest/commands/selftest.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/selftest/extension.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/template/.gitignore +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/template/CHANGELOG.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/template/EXAMPLE-README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/template/LICENSE +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/template/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/template/commands/example.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/template/config-template.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/extensions/template/extension.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/integrations/CONTRIBUTING.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/integrations/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/integrations/catalog.community.json +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/media/bootstrap-claude-code.gif +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/media/logo_large.webp +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/media/logo_small.webp +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/media/spec-kit-video-header.jpg +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/media/specify_cli.gif +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/newsletters/2026-April.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/newsletters/2026-February.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/newsletters/2026-July.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/newsletters/2026-June.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/newsletters/2026-March.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/newsletters/2026-May.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/PUBLISHING.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/lean/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/lean/commands/speckit.constitution.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/lean/commands/speckit.implement.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/lean/commands/speckit.plan.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/lean/commands/speckit.specify.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/lean/commands/speckit.tasks.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/lean/preset.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/scaffold/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/scaffold/commands/speckit.specify.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/scaffold/preset.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/scaffold/templates/myext-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/scaffold/templates/spec-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/self-test/commands/speckit.specify.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/self-test/commands/speckit.wrap-test.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/self-test/preset.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/self-test/templates/checklist-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/self-test/templates/constitution-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/self-test/templates/plan-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/self-test/templates/spec-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/presets/self-test/templates/tasks-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/spec-driven.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/spec-kit.code-workspace +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/_agent_config.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/_assets.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/_console.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/_download_security.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/_github_http.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/_init_options.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/_project.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/_toml_string.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/_utils.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/_version.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/agents.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/authentication/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/authentication/azure_devops.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/authentication/base.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/authentication/config.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/authentication/github.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/authentication/http.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/commands_impl/catalog_config.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/lib/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/lib/project.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/lib/versioning.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/lib/yamlio.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/models/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/models/catalog.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/models/manifest.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/models/records.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/services/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/services/adapters.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/services/catalog_stack.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/services/conflict.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/services/installer.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/services/packager.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/services/primitives.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/services/references.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/services/resolver.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/bundler/services/validator.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/catalogs.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/commands/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/commands/event.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/commands/init.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/events.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/extensions/_commands.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integration_runtime.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integration_scaffold.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integration_state.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integration_status.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/_commands.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/_helpers.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/_install_commands.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/_migrate_commands.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/_query_commands.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/agy/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/alquimia/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/amp/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/auggie/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/base.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/bob/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/catalog.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/claude/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/cline/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/codex/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/copilot/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/devin/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/droid/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/firebender/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/forge/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/gemini/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/generic/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/goose/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/grok/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/hermes/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/junie/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/kimi/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/lingma/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/manifest.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/omp/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/opencode/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/pi/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/qwen/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/shai/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/trae/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/vibe/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/zcode/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/integrations/zed/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/shared_infra.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/_commands.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/base.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/catalog.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/engine.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/_commands.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/composer.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/layer_sources.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/overlays/merge.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/do_while/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/gate/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/if_then/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/shell/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/switch/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/src/specify_cli/workflows/steps/while_loop/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/checklist-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/commands/analyze.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/commands/clarify.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/commands/converge.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/commands/implement.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/commands/plan.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/commands/specify.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/commands/taskstoissues.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/constitution-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/plan-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/spec-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/tasks-template.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/templates/vscode-settings.json +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/auth_helpers.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/bundler_helpers.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/conftest.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/contract/test_catalog_schema.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/contract/test_manifest_schema.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/contract/test_wheel_bundled_presets.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/assess/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/assess/test_assess_extension.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/bug/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/bug/test_bug_extension.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/git/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/git/test_git_extension.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/git/test_git_extension_python_parity.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/test_agent_context_cli_free.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/test_extension_agent_context.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/extensions/test_update_agent_context_python_parity.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/hooks/TESTING.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/hooks/plan.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/hooks/spec.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/hooks/tasks.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/http_helpers.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integration/test_bundler_catalog_stack.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integration/test_bundler_init_install.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integration/test_bundler_install_flow.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integration/test_bundler_local_install.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integration/test_bundler_offline.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integration/test_bundler_security_paths.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/__init__.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/conftest.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_base.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_cli.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_events.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_extra_args.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_home_isolation.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_agy.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_alquimia.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_amp.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_auggie.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_bob.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_catalog.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_claude.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_codebuddy.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_codex.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_cursor_agent.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_devin.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_droid.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_firebender.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_forge.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_gemini.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_goose.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_grok.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_hermes.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_junie.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_kilocode.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_kimi.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_kiro_cli.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_lingma.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_omp.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_opencode.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_pi.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_qodercli.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_qwen.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_rovodev.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_scaffold.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_shai.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_state.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_subcommand.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_tabnine.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_trae.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_vibe.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_zcode.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_integration_zed.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_manifest.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/self_upgrade_helpers.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_authentication.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_branch_numbering.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_check_prerequisites_paths_only.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_check_tool.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_cli_version.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_commands_package.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_console_imports.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_download_security.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_extension_add_path_traversal.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_extension_registration.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_extension_skills.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_extension_update_hardening.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_github_http.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_init_dir.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_init_dir_cli.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_init_output_markup.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_live_transient_windows.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_merge.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_post_process.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_ps1_encoding.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_registrar_path_traversal.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_security_workflow.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_self_upgrade_detection.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_self_upgrade_execution.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_self_upgrade_guidance.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_self_upgrade_verification.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_setup_plan_feature_json.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_setup_plan_no_overwrite.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_shared_infra_gitignore.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_shared_infra_integrity.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_skill_placeholder_py.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_specify_template_numbering.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_timestamp_branches.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_upgrade.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_utils.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_utils_assets_imports.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_version_imports.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/test_workflow_run_without_project.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundle_download_url.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundler_adapters.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundler_catalog_config.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundler_conflict.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundler_packager.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundler_primitives.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundler_records.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundler_references.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundler_resolver.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundler_validator.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundler_versioning.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/unit/test_bundler_yamlio.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/workflows/conftest.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/workflows/test_overlay_commands.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/workflows/test_overlay_composer.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/workflows/test_overlay_layer_sources.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/workflows/test_overlay_merge.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/workflows/test_overlay_security.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/tests/workflows/test_resolver_integration.py +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/workflows/ARCHITECTURE.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/workflows/PUBLISHING.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/workflows/README.md +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/workflows/catalog.community.json +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/workflows/catalog.json +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/workflows/speckit/workflow.yml +0 -0
- {specify_cli-0.16.1 → specify_cli-0.16.2}/workflows/step-catalog.community.json +0 -0
- {specify_cli-0.16.1 → 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.1 → 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
|
|
@@ -2,6 +2,31 @@
|
|
|
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
|
+
|
|
5
30
|
## [0.16.1] - 2026-08-07
|
|
6
31
|
|
|
7
32
|
### 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
|
|
|
@@ -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
|
|
|
@@ -177,9 +177,16 @@ Compatibility requirements.
|
|
|
177
177
|
|
|
178
178
|
What the extension provides.
|
|
179
179
|
|
|
180
|
-
**Optional sub-fields
|
|
180
|
+
**Optional sub-fields:**
|
|
181
|
+
|
|
182
|
+
- `commands`: Array of command objects
|
|
183
|
+
- `templates`: Array of template objects
|
|
184
|
+
- `scripts`: Array of script objects
|
|
181
185
|
|
|
182
|
-
|
|
186
|
+
`hooks` and `events` are separate top-level manifest fields (siblings of
|
|
187
|
+
`provides`, not nested under it — see [`hooks`](#hooks) below). At least one
|
|
188
|
+
of `provides.commands`, `provides.templates`, `provides.scripts`, `hooks`, or
|
|
189
|
+
`events` is required.
|
|
183
190
|
|
|
184
191
|
**Command object**:
|
|
185
192
|
|
|
@@ -188,6 +195,21 @@ What the extension provides.
|
|
|
188
195
|
- `description`: Command description (optional)
|
|
189
196
|
- `aliases`: Alternative command names (optional, array; each must match `speckit.{ext-id}.{command}`)
|
|
190
197
|
|
|
198
|
+
**Template object**:
|
|
199
|
+
|
|
200
|
+
- `name`: Template name (lowercase, alphanumeric, hyphens — e.g. `myext-template`)
|
|
201
|
+
- `file`: Path to template file (relative to extension root)
|
|
202
|
+
- `description`: Template description (optional)
|
|
203
|
+
|
|
204
|
+
**Script object**:
|
|
205
|
+
|
|
206
|
+
- `name`: Script name (lowercase, alphanumeric, hyphens — e.g. `myext-collect`)
|
|
207
|
+
- `file`: Path to script file (relative to extension root)
|
|
208
|
+
- `description`: Script description (optional)
|
|
209
|
+
- `runtimes`: Runtimes the script supports (optional, array; subset of `bash`, `powershell`, `python` — informational only, not used to select or invoke the script)
|
|
210
|
+
|
|
211
|
+
Extension-provided templates and scripts always resolve as `replace`; a manifest that includes a `strategy` key on one of these entries is rejected with a `ValidationError`. Composable strategies (`wrap`/`prepend`/`append`) are preset-only.
|
|
212
|
+
|
|
191
213
|
### Optional Fields
|
|
192
214
|
|
|
193
215
|
#### `hooks`
|