specify-cli 0.16.5__tar.gz → 1.0.1__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.5 → specify_cli-1.0.1}/.github/aw/actions-lock.json +3 -3
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/bug-test.lock.yml +4 -4
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/bug-test.md +1 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/codeql.yml +2 -2
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/feature-assess.lock.yml +12 -13
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/feature-assess.md +2 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/publish-pypi.yml +2 -2
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/security.yml +2 -2
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/test.yml +2 -2
- {specify_cli-0.16.5 → specify_cli-1.0.1}/CHANGELOG.md +50 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/PKG-INFO +81 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/README.md +80 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/community/extensions.md +7 -4
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/community/presets.md +4 -2
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/docfx.json +2 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/guides/evolving-specs.md +4 -0
- specify_cli-1.0.1/docs/guides/existing-projects.md +106 -0
- specify_cli-1.0.1/docs/history.md +173 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/index.md +24 -10
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/quickstart.md +3 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/reference/integrations.md +1 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/template/public/main.css +14 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/toc.yml +6 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/catalog.community.json +322 -83
- specify_cli-1.0.1/media/logo_large.webp +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/catalog.community.json +74 -15
- {specify_cli-0.16.5 → specify_cli-1.0.1}/pyproject.toml +1 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/_invocation_style.py +3 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/_utils.py +1 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/models/manifest.py +6 -4
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/commands/bundle/__init__.py +14 -2
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/extensions/__init__.py +77 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/base.py +6 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/catalog.py +29 -5
- specify_cli-1.0.1/src/specify_cli/integrations/qodercli/__init__.py +28 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/presets/__init__.py +19 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/presets/_commands.py +12 -2
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/engine.py +56 -5
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/expressions.py +536 -15
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/do_while/__init__.py +33 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/if_then/__init__.py +34 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/switch/__init__.py +27 -3
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/while_loop/__init__.py +34 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/contract/test_bundle_cli.py +32 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/contract/test_manifest_schema.py +19 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_catalog.py +34 -0
- specify_cli-1.0.1/tests/integrations/test_integration_qodercli.py +39 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_subcommand.py +60 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_zed.py +2 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_github_workflows.py +1 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_merge.py +26 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_presets.py +71 -1
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_workflows.py +277 -0
- specify_cli-1.0.1/tests/unit/test_condition_expression_block.py +758 -0
- specify_cli-0.16.5/src/specify_cli/integrations/qodercli/__init__.py +0 -21
- specify_cli-0.16.5/tests/integrations/test_integration_qodercli.py +0 -10
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.devcontainer/devcontainer.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.devcontainer/post-create.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.editorconfig +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.gitattributes +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/CODEOWNERS +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/ISSUE_TEMPLATE/agent_request.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/ISSUE_TEMPLATE/bundle_submission.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/dependabot.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/scripts/check_security_requirements.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/security-audit-requirements.txt +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/skills/add-community-extension/SKILL.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/RELEASE-PROCESS.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/add-community-bundle.lock.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/add-community-bundle.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/add-community-extension.lock.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/add-community-extension.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/add-community-preset.lock.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/add-community-preset.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/bug-assess.lock.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/bug-assess.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/bug-fix.lock.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/bug-fix.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/catalog-assign.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/docs.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/lint.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/release-trigger.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/release.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.github/workflows/stale.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.gitignore +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.markdownlint-cli2.jsonc +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.pre-commit-config.yaml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/.zenodo.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/AGENTS.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/CITATION.cff +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/CODE_OF_CONDUCT.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/CONTRIBUTING.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/DEVELOPMENT.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/LICENSE +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/README.zh-CN.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/SECURITY.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/SUPPORT.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/bundles/catalog.community.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/.gitignore +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/community/bundles.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/community/friends.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/community/overview.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/community/walkthroughs.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/concepts/complex-features.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/concepts/sdd.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/concepts/spec-of-specs.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/concepts/spec-persistence.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/guides/monorepo.md +0 -0
- /specify_cli-0.16.5/media/logo_large.webp → /specify_cli-1.0.1/docs/images/spec-kit-logo.webp +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/install/air-gapped.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/install/one-time.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/install/pipx.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/install/pypi.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/install/uv.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/installation.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/local-development.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/reference/agentic-bugfix.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/reference/agentic-sdd.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/reference/authentication.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/reference/bundles.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/reference/core.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/reference/extensions.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/reference/overview.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/reference/presets.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/reference/workflows.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/docs/upgrade.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/examples/bundles/business-analyst/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/examples/bundles/business-analyst/bundle.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/examples/bundles/developer/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/examples/bundles/developer/bundle.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/examples/bundles/product-manager/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/examples/bundles/product-manager/bundle.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/examples/bundles/security-researcher/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/examples/bundles/security-researcher/bundle.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/EXTENSION-API-REFERENCE.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/EXTENSION-USER-GUIDE.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/agent-context/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/agent-context/agent-context-config.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/agent-context/agent-context-defaults.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/agent-context/extension.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/assess/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/assess/commands/speckit.assess.decide.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/assess/commands/speckit.assess.define.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/assess/commands/speckit.assess.intake.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/assess/commands/speckit.assess.research.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/assess/commands/speckit.assess.shape.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/assess/extension.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/bug/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/bug/commands/speckit.bug.assess.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/bug/commands/speckit.bug.fix.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/bug/commands/speckit.bug.test.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/bug/extension.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/catalog.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/commands/speckit.git.commit.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/commands/speckit.git.feature.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/commands/speckit.git.initialize.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/commands/speckit.git.remote.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/commands/speckit.git.validate.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/config-template.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/extension.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/git-config.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/bash/auto-commit.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/bash/create-new-feature-branch.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/bash/git-common.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/python/auto_commit.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/python/create_new_feature_branch.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/python/git_common.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/git/scripts/python/initialize_repo.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/selftest/commands/selftest.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/selftest/extension.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/template/.gitignore +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/template/CHANGELOG.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/template/EXAMPLE-README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/template/LICENSE +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/template/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/template/commands/example.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/template/config-template.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/extensions/template/extension.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/integrations/CONTRIBUTING.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/integrations/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/integrations/catalog.community.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/integrations/catalog.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/media/bootstrap-claude-code.gif +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/media/logo_small.webp +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/media/spec-kit-video-header.jpg +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/media/specify_cli.gif +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/newsletters/2026-April.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/newsletters/2026-February.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/newsletters/2026-July.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/newsletters/2026-June.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/newsletters/2026-March.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/newsletters/2026-May.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/ARCHITECTURE.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/PUBLISHING.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/catalog.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/constitution-sync/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/constitution-sync/preset.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/lean/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/lean/commands/speckit.constitution.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/lean/commands/speckit.implement.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/lean/commands/speckit.plan.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/lean/commands/speckit.specify.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/lean/commands/speckit.tasks.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/lean/preset.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/scaffold/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/scaffold/commands/speckit.specify.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/scaffold/preset.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/scaffold/templates/myext-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/scaffold/templates/spec-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/self-test/commands/speckit.specify.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/self-test/commands/speckit.wrap-test.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/self-test/preset.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/self-test/templates/checklist-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/self-test/templates/constitution-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/self-test/templates/plan-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/self-test/templates/spec-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/presets/self-test/templates/tasks-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/bash/check-prerequisites.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/bash/common.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/bash/create-new-feature.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/bash/resolve-template.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/bash/setup-plan.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/bash/setup-tasks.sh +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/powershell/check-prerequisites.ps1 +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/powershell/common.ps1 +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/powershell/create-new-feature.ps1 +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/powershell/resolve-template.ps1 +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/powershell/setup-plan.ps1 +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/powershell/setup-tasks.ps1 +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/python/check_prerequisites.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/python/common.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/python/create_new_feature.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/python/resolve_template.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/python/setup_plan.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/scripts/python/setup_tasks.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/spec-driven.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/spec-kit.code-workspace +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/_agent_config.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/_assets.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/_console.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/_download_security.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/_github_http.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/_init_options.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/_project.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/_toml_string.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/_version.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/agents.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/authentication/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/authentication/azure_devops.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/authentication/base.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/authentication/config.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/authentication/github.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/authentication/http.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/commands_impl/catalog_config.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/lib/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/lib/project.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/lib/versioning.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/lib/yamlio.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/models/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/models/catalog.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/models/records.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/services/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/services/adapters.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/services/catalog_stack.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/services/conflict.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/services/installer.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/services/packager.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/services/primitives.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/services/references.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/services/resolver.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/bundler/services/validator.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/catalogs.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/commands/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/commands/event.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/commands/init.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/events.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/extensions/_commands.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integration_runtime.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integration_scaffold.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integration_state.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integration_status.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/_commands.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/_helpers.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/_install_commands.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/_migrate_commands.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/_query_commands.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/agy/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/alquimia/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/amp/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/auggie/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/bob/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/claude/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/cline/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/codex/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/command_code/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/copilot/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/devin/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/droid/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/firebender/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/forge/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/gemini/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/generic/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/goose/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/grok/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/hermes/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/junie/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/kimi/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/lingma/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/manifest.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/omp/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/opencode/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/pi/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/qwen/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/shai/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/trae/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/vibe/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/zcode/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/integrations/zed/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/shared_infra.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/_commands.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/base.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/catalog.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/overlays/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/overlays/_commands.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/overlays/composer.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/overlays/layer_sources.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/overlays/merge.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/overlays/schema.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/gate/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/src/specify_cli/workflows/steps/shell/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/checklist-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/commands/analyze.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/commands/checklist.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/commands/clarify.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/commands/constitution.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/commands/converge.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/commands/implement.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/commands/plan.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/commands/specify.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/commands/tasks.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/commands/taskstoissues.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/constitution-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/plan-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/spec-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/tasks-template.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/templates/vscode-settings.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/auth_helpers.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/bundler_helpers.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/conftest.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/contract/test_catalog_schema.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/contract/test_wheel_bundled_presets.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/assess/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/assess/test_assess_extension.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/bug/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/bug/test_bug_extension.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/git/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/git/test_git_extension.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/git/test_git_extension_python_parity.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/test_agent_context_cli_free.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/test_extension_agent_context.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/extensions/test_update_agent_context_python_parity.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/hooks/TESTING.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/hooks/plan.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/hooks/spec.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/hooks/tasks.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/http_helpers.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integration/test_bundler_catalog_stack.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integration/test_bundler_init_install.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integration/test_bundler_install_flow.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integration/test_bundler_local_install.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integration/test_bundler_offline.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integration/test_bundler_security_paths.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/__init__.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/conftest.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_base.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_cli.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_events.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_extra_args.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_home_isolation.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_agy.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_alquimia.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_amp.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_auggie.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_base_markdown.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_base_skills.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_base_toml.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_base_yaml.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_bob.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_claude.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_cline.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_codebuddy.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_codex.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_command_code.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_copilot.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_cursor_agent.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_devin.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_droid.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_firebender.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_forge.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_gemini.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_generic.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_goose.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_grok.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_hermes.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_junie.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_kilocode.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_kimi.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_kiro_cli.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_lingma.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_omp.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_opencode.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_pi.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_qwen.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_rovodev.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_scaffold.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_shai.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_state.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_tabnine.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_trae.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_vibe.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_integration_zcode.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_manifest.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_registry.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/parity_helpers.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/self_upgrade_helpers.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_agent_config_consistency.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_authentication.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_branch_numbering.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_check_prerequisites_paths_only.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_check_prerequisites_python_parity.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_check_tool.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_cli_version.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_command_template_py_scripts.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_commands_package.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_console_imports.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_create_new_feature_python_parity.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_download_security.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_extension_add_path_traversal.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_extension_registration.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_extension_skills.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_extension_update_hardening.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_extensions.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_github_http.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_init_dir.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_init_dir_cli.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_init_output_markup.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_live_transient_windows.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_post_process.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_ps1_encoding.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_registrar_path_traversal.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_resolve_template_python_parity.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_security_workflow.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_self_upgrade_detection.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_self_upgrade_execution.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_self_upgrade_guidance.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_self_upgrade_verification.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_setup_plan_feature_json.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_setup_plan_no_overwrite.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_setup_plan_python_parity.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_setup_tasks.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_setup_tasks_python_parity.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_shared_infra_gitignore.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_shared_infra_integrity.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_skill_placeholder_py.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_specify_template_numbering.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_timestamp_branches.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_upgrade.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_utils.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_utils_assets_imports.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_version_imports.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/test_workflow_run_without_project.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundle_download_url.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundler_adapters.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundler_catalog_config.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundler_conflict.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundler_packager.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundler_primitives.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundler_records.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundler_references.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundler_resolver.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundler_validator.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundler_versioning.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/unit/test_bundler_yamlio.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/workflows/conftest.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/workflows/test_overlay_commands.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/workflows/test_overlay_composer.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/workflows/test_overlay_layer_sources.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/workflows/test_overlay_merge.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/workflows/test_overlay_schema.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/workflows/test_overlay_security.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/tests/workflows/test_resolver_integration.py +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/workflows/ARCHITECTURE.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/workflows/PUBLISHING.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/workflows/README.md +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/workflows/catalog.community.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/workflows/catalog.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/workflows/speckit/workflow.yml +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/workflows/step-catalog.community.json +0 -0
- {specify_cli-0.16.5 → specify_cli-1.0.1}/workflows/step-catalog.json +0 -0
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
"version": "v7.0.0",
|
|
26
26
|
"sha": "5fda3b95a4ea91299a34e894583c3862153e4b97"
|
|
27
27
|
},
|
|
28
|
-
"astral-sh/setup-uv@
|
|
28
|
+
"astral-sh/setup-uv@v10.0.1": {
|
|
29
29
|
"repo": "astral-sh/setup-uv",
|
|
30
|
-
"version": "
|
|
31
|
-
"sha": "
|
|
30
|
+
"version": "v10.0.1",
|
|
31
|
+
"sha": "20cfd1bf945f4377ade1205e4dbc17946fc9a30d"
|
|
32
32
|
},
|
|
33
33
|
"actions/upload-artifact@v7.0.1": {
|
|
34
34
|
"repo": "actions/upload-artifact",
|
|
@@ -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":"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":"
|
|
1
|
+
# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"ec50d44af032f2f0c04073858a24d73cb1fa9036515b3bc7ee4dcfe02138f34a","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":"20cfd1bf945f4377ade1205e4dbc17946fc9a30d","version":"v10.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
|
# ___ _ _
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
# - actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
|
39
39
|
# - actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
40
40
|
# - actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
41
|
-
# - astral-sh/setup-uv@
|
|
41
|
+
# - astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
42
42
|
# - github/gh-aw-actions/setup@c0338fef4749d08c21f8f975fb0e37efa17dda47 # v0.79.8
|
|
43
43
|
#
|
|
44
44
|
# Container images used:
|
|
@@ -438,7 +438,7 @@ jobs:
|
|
|
438
438
|
persist-credentials: false
|
|
439
439
|
fetch-depth: 0
|
|
440
440
|
- name: Setup uv
|
|
441
|
-
uses: astral-sh/setup-uv@
|
|
441
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
442
442
|
- name: Create gh-aw temp directory
|
|
443
443
|
run: bash "${RUNNER_TEMP}/gh-aw/actions/create_gh_aw_tmp_dir.sh"
|
|
444
444
|
- name: Configure gh CLI for GitHub Enterprise
|
|
@@ -68,7 +68,7 @@ network:
|
|
|
68
68
|
|
|
69
69
|
steps:
|
|
70
70
|
- name: Setup uv
|
|
71
|
-
uses: astral-sh/setup-uv@
|
|
71
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
72
72
|
- name: Set up Python
|
|
73
73
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
74
74
|
with:
|
|
@@ -22,11 +22,11 @@ jobs:
|
|
|
22
22
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
23
23
|
|
|
24
24
|
- name: Initialize CodeQL
|
|
25
|
-
uses: github/codeql-action/init@
|
|
25
|
+
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4
|
|
26
26
|
with:
|
|
27
27
|
languages: ${{ matrix.language }}
|
|
28
28
|
|
|
29
29
|
- name: Perform CodeQL Analysis
|
|
30
|
-
uses: github/codeql-action/analyze@
|
|
30
|
+
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4
|
|
31
31
|
with:
|
|
32
32
|
category: "/language:${{ matrix.language }}"
|
|
@@ -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":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/setup-python","sha":"5fda3b95a4ea91299a34e894583c3862153e4b97","version":"5fda3b95a4ea91299a34e894583c3862153e4b97"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"astral-sh/setup-uv","sha":"
|
|
1
|
+
# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"669e5f4d2956792cf5b7a2dfbbda10e7ef26f25fc8283f5b3db1cc838f05d940","body_hash":"6d78e8c183819f6f12a07f0c9cb28a83cc2471ac20c6df6999e503a0d731da4b","compiler_version":"v0.79.8","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
|
|
2
|
+
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GITHUB_TOKEN"],"actions":[{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/setup-python","sha":"5fda3b95a4ea91299a34e894583c3862153e4b97","version":"5fda3b95a4ea91299a34e894583c3862153e4b97"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"astral-sh/setup-uv","sha":"20cfd1bf945f4377ade1205e4dbc17946fc9a30d","version":"v10.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
|
# ___ _ _
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
# - GITHUB_TOKEN
|
|
33
33
|
#
|
|
34
34
|
# Custom actions used:
|
|
35
|
-
# - actions/checkout@
|
|
35
|
+
# - actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
36
36
|
# - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
37
37
|
# - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
|
38
|
-
# - actions/setup-node@
|
|
38
|
+
# - actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
|
39
39
|
# - actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # 5fda3b95a4ea91299a34e894583c3862153e4b97
|
|
40
40
|
# - actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
41
|
-
# - astral-sh/setup-uv@
|
|
41
|
+
# - astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
42
42
|
# - github/gh-aw-actions/setup@c0338fef4749d08c21f8f975fb0e37efa17dda47 # v0.79.8
|
|
43
43
|
#
|
|
44
44
|
# Container images used:
|
|
@@ -78,7 +78,7 @@ jobs:
|
|
|
78
78
|
actions: read
|
|
79
79
|
contents: read
|
|
80
80
|
env:
|
|
81
|
-
GH_AW_MAX_DAILY_AI_CREDITS:
|
|
81
|
+
GH_AW_MAX_DAILY_AI_CREDITS: "20000"
|
|
82
82
|
outputs:
|
|
83
83
|
body: ${{ steps.sanitized.outputs.body }}
|
|
84
84
|
comment_id: ""
|
|
@@ -149,7 +149,7 @@ jobs:
|
|
|
149
149
|
GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
|
150
150
|
GH_AW_WORKFLOW_DISPATCH_AW_CONTEXT: ${{ github.event.inputs.aw_context || '' }}
|
|
151
151
|
GH_AW_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
152
|
-
GH_AW_MAX_DAILY_AI_CREDITS:
|
|
152
|
+
GH_AW_MAX_DAILY_AI_CREDITS: "20000"
|
|
153
153
|
with:
|
|
154
154
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
155
155
|
script: |
|
|
@@ -163,7 +163,7 @@ jobs:
|
|
|
163
163
|
env:
|
|
164
164
|
COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
|
|
165
165
|
- name: Checkout .github and .agents folders
|
|
166
|
-
uses: actions/checkout@
|
|
166
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
167
167
|
with:
|
|
168
168
|
persist-credentials: false
|
|
169
169
|
sparse-checkout: |
|
|
@@ -432,12 +432,12 @@ jobs:
|
|
|
432
432
|
echo "GH_AW_SAFE_OUTPUTS_TOOLS_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/tools.json"
|
|
433
433
|
} >> "$GITHUB_OUTPUT"
|
|
434
434
|
- name: Checkout repository
|
|
435
|
-
uses: actions/checkout@
|
|
435
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
436
436
|
with:
|
|
437
437
|
persist-credentials: false
|
|
438
438
|
fetch-depth: 0
|
|
439
439
|
- name: Setup uv
|
|
440
|
-
uses: astral-sh/setup-uv@
|
|
440
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
441
441
|
- name: Create gh-aw temp directory
|
|
442
442
|
run: bash "${RUNNER_TEMP}/gh-aw/actions/create_gh_aw_tmp_dir.sh"
|
|
443
443
|
- name: Configure gh CLI for GitHub Enterprise
|
|
@@ -1333,7 +1333,7 @@ jobs:
|
|
|
1333
1333
|
echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_OUTPUT"
|
|
1334
1334
|
- name: Checkout repository for patch context
|
|
1335
1335
|
if: needs.agent.outputs.has_patch == 'true'
|
|
1336
|
-
uses: actions/checkout@
|
|
1336
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
1337
1337
|
with:
|
|
1338
1338
|
persist-credentials: false
|
|
1339
1339
|
# --- Threat Detection ---
|
|
@@ -1400,7 +1400,7 @@ jobs:
|
|
|
1400
1400
|
mkdir -p /tmp/gh-aw/threat-detection
|
|
1401
1401
|
touch /tmp/gh-aw/threat-detection/detection.log
|
|
1402
1402
|
- name: Setup Node.js
|
|
1403
|
-
uses: actions/setup-node@
|
|
1403
|
+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
|
1404
1404
|
with:
|
|
1405
1405
|
node-version: '24'
|
|
1406
1406
|
package-manager-cache: false
|
|
@@ -1675,4 +1675,3 @@ jobs:
|
|
|
1675
1675
|
/tmp/gh-aw/safe-output-items.jsonl
|
|
1676
1676
|
/tmp/gh-aw/temporary-id-map.json
|
|
1677
1677
|
if-no-files-found: ignore
|
|
1678
|
-
|
|
@@ -9,6 +9,7 @@ on:
|
|
|
9
9
|
skip-bots: [github-actions, copilot, dependabot]
|
|
10
10
|
|
|
11
11
|
engine: copilot
|
|
12
|
+
max-daily-ai-credits: 20K
|
|
12
13
|
|
|
13
14
|
tools:
|
|
14
15
|
bash: ["echo", "cat", "head", "tail", "grep", "wc", "sort", "uniq", "python3", "pip", "pip3", "jq", "date", "ls", "find", "mkdir", "sed", "env", "which", "curl", "sh", "bash", "uv", "uvx", "specify", "git"]
|
|
@@ -38,7 +39,7 @@ checkout:
|
|
|
38
39
|
steps:
|
|
39
40
|
- name: Setup uv
|
|
40
41
|
continue-on-error: true
|
|
41
|
-
uses: astral-sh/setup-uv@
|
|
42
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
42
43
|
- name: Set up Python
|
|
43
44
|
continue-on-error: true
|
|
44
45
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
@@ -32,7 +32,7 @@ jobs:
|
|
|
32
32
|
ref: refs/tags/${{ inputs.tag }}
|
|
33
33
|
|
|
34
34
|
- name: Install uv
|
|
35
|
-
uses: astral-sh/setup-uv@
|
|
35
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
36
36
|
|
|
37
37
|
- name: Set up Python
|
|
38
38
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
@@ -74,7 +74,7 @@ jobs:
|
|
|
74
74
|
path: dist/
|
|
75
75
|
|
|
76
76
|
- name: Install uv
|
|
77
|
-
uses: astral-sh/setup-uv@
|
|
77
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
78
78
|
|
|
79
79
|
- name: Publish to PyPI
|
|
80
80
|
run: uv publish
|
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
fetch-depth: 0
|
|
25
25
|
|
|
26
26
|
- name: Install uv
|
|
27
|
-
uses: astral-sh/setup-uv@
|
|
27
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
28
28
|
|
|
29
29
|
- name: Set up Python
|
|
30
30
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
@@ -55,7 +55,7 @@ jobs:
|
|
|
55
55
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
56
56
|
|
|
57
57
|
- name: Install uv
|
|
58
|
-
uses: astral-sh/setup-uv@
|
|
58
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
59
59
|
|
|
60
60
|
- name: Set up Python ${{ matrix.python-version }}
|
|
61
61
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
@@ -16,7 +16,7 @@ jobs:
|
|
|
16
16
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
17
17
|
|
|
18
18
|
- name: Install uv
|
|
19
|
-
uses: astral-sh/setup-uv@
|
|
19
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
20
20
|
|
|
21
21
|
- name: Set up Python
|
|
22
22
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
@@ -37,7 +37,7 @@ jobs:
|
|
|
37
37
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
38
38
|
|
|
39
39
|
- name: Install uv
|
|
40
|
-
uses: astral-sh/setup-uv@
|
|
40
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
41
41
|
|
|
42
42
|
- name: Set up Python ${{ matrix.python-version }}
|
|
43
43
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
@@ -2,6 +2,56 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- insert new changelog below this comment -->
|
|
4
4
|
|
|
5
|
+
## [1.0.1] - 2026-08-21
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- docs: flatten project history navigation (#4265)
|
|
10
|
+
- docs: use Spec Kit branding on documentation site (#4264)
|
|
11
|
+
- docs: add existing project adoption guide (#4263)
|
|
12
|
+
- docs: add project history page (#4262)
|
|
13
|
+
- docs: mark Spec Kit's first anniversary (#4260)
|
|
14
|
+
- docs: add workflow quickstarts (#4258)
|
|
15
|
+
- chore(deps): bump astral-sh/setup-uv from 9.0.0 to 10.0.1 (#4244)
|
|
16
|
+
- Update SpecAssay Check extension to v0.4.12 (#4254)
|
|
17
|
+
- fix(workflows): require a 'cases' block on switch steps (#4144)
|
|
18
|
+
- fix(workflows): strip the resolved value before matching switch cases (#4143)
|
|
19
|
+
- fix(bundler): reject non-string manifest list members (#4091)
|
|
20
|
+
- fix(presets): reject non-mapping catalog mutations (#4094)
|
|
21
|
+
- fix(workflows): stop offering a condition correction that inverts it (#4230)
|
|
22
|
+
- fix: use chunked read for integration and preset manifest hash (#3843)
|
|
23
|
+
- docs: update landing page stats for 1.0.0 (#4251)
|
|
24
|
+
- Add Azure Cosmos DB extension to community catalog (#4247)
|
|
25
|
+
- chore(deps): bump actions/checkout from 6.0.3 to 7.0.1 (#4243)
|
|
26
|
+
- chore(deps): bump actions/setup-node from 6.4.0 to 7.0.0 (#4242)
|
|
27
|
+
- chore(deps): bump the codeql-action group with 2 updates (#4241)
|
|
28
|
+
- chore: release 1.0.0, begin 1.0.1.dev0 development (#4246)
|
|
29
|
+
|
|
30
|
+
## [1.0.0] - 2026-08-21
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- [extension] Update Security Review extension to v2.0.0 (#4223)
|
|
35
|
+
- fix(presets): reject duplicate provides.templates name+type entries (#4191)
|
|
36
|
+
- fix(bundler): decode a downloaded (non-zip) bundle manifest as UTF-8 (#4190)
|
|
37
|
+
- Update Intake Sequencing Governance preset to v0.2.3 (#4235)
|
|
38
|
+
- Update MAQA — Multi-Agent & Quality Assurance extension to v0.1.6 (#4234)
|
|
39
|
+
- [bug-fix] Fix qodercli-skills-migration: migrate QodercliIntegration to SkillsIntegration (#4205)
|
|
40
|
+
- [preset] Add Inventory Alignment preset to community catalog (#4229)
|
|
41
|
+
- [extension] Add Spec Inventory extension to community catalog (#4228)
|
|
42
|
+
- [extension] Update Architecture Guard extension to v2.3.6 (#4224)
|
|
43
|
+
- Update SpecKit Companion extension to v0.20.2 (#4225)
|
|
44
|
+
- fix(workflows): reject a condition that has no {{ }} block (#4182)
|
|
45
|
+
- fix: raise feature assessment credit budget (#4222)
|
|
46
|
+
- [extension] Add AgentDocx extension to community catalog (#4184)
|
|
47
|
+
- fix(integrations): report a falsy non-mapping integration descriptor as a shape error (#4187)
|
|
48
|
+
- Update Autonomous Run Governance preset to v0.4.1 (#4203)
|
|
49
|
+
- fix(workflows): validate dispatch defaults (#4181)
|
|
50
|
+
- Update Atlas extension display name in community catalog (#4202)
|
|
51
|
+
- Add Closed Vocabulary Check preset to community catalog (#4201)
|
|
52
|
+
- fix(utils): narrow bare except Exception in merge_json_files (#4189)
|
|
53
|
+
- chore: release 0.16.5, begin 0.16.6.dev0 development (#4206)
|
|
54
|
+
|
|
5
55
|
## [0.16.5] - 2026-08-19
|
|
6
56
|
|
|
7
57
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: specify-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.1
|
|
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
|
|
@@ -40,11 +40,22 @@ Description-Content-Type: text/markdown
|
|
|
40
40
|
<a href="./README.zh-CN.md">简体中文</a>
|
|
41
41
|
</p>
|
|
42
42
|
|
|
43
|
+
> [!NOTE]
|
|
44
|
+
> **One year of Spec Kit — and 1.0.0**
|
|
45
|
+
>
|
|
46
|
+
> One year after the first commit, Spec Kit has reached [1.0.0](https://github.com/github/spec-kit/releases/tag/v1.0.0) — not because the work is finished or its shape is frozen, but because the project has grown into something coherent, useful, and shaped by far more people than those who started it.
|
|
47
|
+
>
|
|
48
|
+
> The lead maintainer's personal anniversary post, [*Spec Kit Turns One — and Ships 1.0.0*](https://www.manorrock.com/blog/2026/08/21/spec_kit_turns_one.html), defines what 1.0.0 actually means for the project: **it is now just a number**. As agents make adapting to change dramatically cheaper, the value moves from stability to adaptability.
|
|
49
|
+
>
|
|
50
|
+
> To everyone who has used Spec Kit, challenged its assumptions, reported a problem, contributed code or documentation, created an extension or preset, shared an idea, or helped someone else get started: **thank you**. This milestone belongs to the community that carried the project through its first year and continues to shape where it goes next.
|
|
51
|
+
|
|
43
52
|
---
|
|
44
53
|
|
|
45
54
|
## Table of Contents
|
|
46
55
|
|
|
47
56
|
- [🤔 What is Spec-Driven Development?](#-what-is-spec-driven-development)
|
|
57
|
+
- [🐞 Bug Fixing with Spec Kit](#-bug-fixing-with-spec-kit)
|
|
58
|
+
- [💡 Assessing Ideas with Spec Kit](#-assessing-ideas-with-spec-kit)
|
|
48
59
|
- [⚡ Get Started](#-get-started)
|
|
49
60
|
- [📽️ Video Overview](#️-video-overview)
|
|
50
61
|
- [🌍 Community](#-community)
|
|
@@ -65,6 +76,75 @@ Description-Content-Type: text/markdown
|
|
|
65
76
|
|
|
66
77
|
Spec-Driven Development **flips the script** on traditional software development. For decades, code has been king — specifications were just scaffolding we built and discarded once the "real work" of coding began. Spec-Driven Development changes this: **specifications become executable**, directly generating working implementations rather than just guiding them.
|
|
67
78
|
|
|
79
|
+
### SDD Quickstart
|
|
80
|
+
|
|
81
|
+
Replace `vX.Y.Z` with the [latest release tag](https://github.com/github/spec-kit/releases), keeping the leading `v`.
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
|
|
85
|
+
specify init my-project --integration copilot
|
|
86
|
+
cd my-project
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Launch your coding agent in the project directory, then:
|
|
90
|
+
|
|
91
|
+
0. **Establish** your project principles once (`/speckit-constitution`). This is a one-time step per project.
|
|
92
|
+
1. **Specify** what you want to build (`/speckit-specify`).
|
|
93
|
+
2. **Plan** how you will build it (`/speckit-plan`).
|
|
94
|
+
3. **Break down** the plan into actionable tasks (`/speckit-tasks`).
|
|
95
|
+
4. **Implement** the tasks (`/speckit-implement`).
|
|
96
|
+
5. **Converge** the implementation against the spec, plan, and tasks (`/speckit-converge`).
|
|
97
|
+
|
|
98
|
+
> [!NOTE]
|
|
99
|
+
> Repeat steps 4 and 5 until `/speckit-converge` reports **Converged**.
|
|
100
|
+
|
|
101
|
+
## 🐞 Bug Fixing with Spec Kit
|
|
102
|
+
|
|
103
|
+
Bug fixes are risky when an agent jumps straight from a report to a patch without validating the diagnosis or confirming that the fix resolves the original symptom. The bundled, opt-in bug extension provides a repeatable **assess → fix → test** workflow that keeps each fix scoped, evidence-based, and documented from root cause through verification.
|
|
104
|
+
|
|
105
|
+
### Bug Fix Quickstart
|
|
106
|
+
|
|
107
|
+
Replace `vX.Y.Z` with the [latest release tag](https://github.com/github/spec-kit/releases), keeping the leading `v`.
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
|
|
111
|
+
specify init my-project --integration copilot
|
|
112
|
+
cd my-project
|
|
113
|
+
specify extension add bug
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Launch your coding agent in the project directory, then:
|
|
117
|
+
|
|
118
|
+
1. **Assess** the bug (`/speckit-bug-assess "<bug report>" slug=login-crash`).
|
|
119
|
+
2. **Fix** the assessed cause (`/speckit-bug-fix slug=login-crash`).
|
|
120
|
+
3. **Test** the fix (`/speckit-bug-test slug=login-crash`).
|
|
121
|
+
|
|
122
|
+
## 💡 Assessing Ideas with Spec Kit
|
|
123
|
+
|
|
124
|
+
Good ideas deserve evidence before commitment, whether or not they become software. The bundled, opt-in assess extension turns a raw idea into a documented **go / needs-clarification / kill** decision through an independent **intake → research → define → shape → decide** workflow.
|
|
125
|
+
|
|
126
|
+
### Idea Assessment Quickstart
|
|
127
|
+
|
|
128
|
+
Replace `vX.Y.Z` with the [latest release tag](https://github.com/github/spec-kit/releases), keeping the leading `v`.
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
|
|
132
|
+
specify init my-project --integration copilot
|
|
133
|
+
cd my-project
|
|
134
|
+
specify extension add assess
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Launch your coding agent in the project directory, then:
|
|
138
|
+
|
|
139
|
+
1. **Intake** the idea (`/speckit-assess-intake "<idea>" slug=offline-mode`).
|
|
140
|
+
2. **Research** supporting and opposing evidence (`/speckit-assess-research slug=offline-mode`).
|
|
141
|
+
3. **Define** the problem, goals, and success metrics (`/speckit-assess-define slug=offline-mode`).
|
|
142
|
+
4. **Shape** possible solutions and their trade-offs (`/speckit-assess-shape slug=offline-mode`).
|
|
143
|
+
5. **Decide** whether to proceed, clarify, or stop (`/speckit-assess-decide slug=offline-mode`).
|
|
144
|
+
|
|
145
|
+
> [!NOTE]
|
|
146
|
+
> Idea assessment is standalone. If you choose to build an idea with a **go** decision, you can hand it off to `/speckit-specify`.
|
|
147
|
+
|
|
68
148
|
## ⚡ Get Started
|
|
69
149
|
|
|
70
150
|
### 1. Install Specify CLI
|
|
@@ -20,11 +20,22 @@
|
|
|
20
20
|
<a href="./README.zh-CN.md">简体中文</a>
|
|
21
21
|
</p>
|
|
22
22
|
|
|
23
|
+
> [!NOTE]
|
|
24
|
+
> **One year of Spec Kit — and 1.0.0**
|
|
25
|
+
>
|
|
26
|
+
> One year after the first commit, Spec Kit has reached [1.0.0](https://github.com/github/spec-kit/releases/tag/v1.0.0) — not because the work is finished or its shape is frozen, but because the project has grown into something coherent, useful, and shaped by far more people than those who started it.
|
|
27
|
+
>
|
|
28
|
+
> The lead maintainer's personal anniversary post, [*Spec Kit Turns One — and Ships 1.0.0*](https://www.manorrock.com/blog/2026/08/21/spec_kit_turns_one.html), defines what 1.0.0 actually means for the project: **it is now just a number**. As agents make adapting to change dramatically cheaper, the value moves from stability to adaptability.
|
|
29
|
+
>
|
|
30
|
+
> To everyone who has used Spec Kit, challenged its assumptions, reported a problem, contributed code or documentation, created an extension or preset, shared an idea, or helped someone else get started: **thank you**. This milestone belongs to the community that carried the project through its first year and continues to shape where it goes next.
|
|
31
|
+
|
|
23
32
|
---
|
|
24
33
|
|
|
25
34
|
## Table of Contents
|
|
26
35
|
|
|
27
36
|
- [🤔 What is Spec-Driven Development?](#-what-is-spec-driven-development)
|
|
37
|
+
- [🐞 Bug Fixing with Spec Kit](#-bug-fixing-with-spec-kit)
|
|
38
|
+
- [💡 Assessing Ideas with Spec Kit](#-assessing-ideas-with-spec-kit)
|
|
28
39
|
- [⚡ Get Started](#-get-started)
|
|
29
40
|
- [📽️ Video Overview](#️-video-overview)
|
|
30
41
|
- [🌍 Community](#-community)
|
|
@@ -45,6 +56,75 @@
|
|
|
45
56
|
|
|
46
57
|
Spec-Driven Development **flips the script** on traditional software development. For decades, code has been king — specifications were just scaffolding we built and discarded once the "real work" of coding began. Spec-Driven Development changes this: **specifications become executable**, directly generating working implementations rather than just guiding them.
|
|
47
58
|
|
|
59
|
+
### SDD Quickstart
|
|
60
|
+
|
|
61
|
+
Replace `vX.Y.Z` with the [latest release tag](https://github.com/github/spec-kit/releases), keeping the leading `v`.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
|
|
65
|
+
specify init my-project --integration copilot
|
|
66
|
+
cd my-project
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Launch your coding agent in the project directory, then:
|
|
70
|
+
|
|
71
|
+
0. **Establish** your project principles once (`/speckit-constitution`). This is a one-time step per project.
|
|
72
|
+
1. **Specify** what you want to build (`/speckit-specify`).
|
|
73
|
+
2. **Plan** how you will build it (`/speckit-plan`).
|
|
74
|
+
3. **Break down** the plan into actionable tasks (`/speckit-tasks`).
|
|
75
|
+
4. **Implement** the tasks (`/speckit-implement`).
|
|
76
|
+
5. **Converge** the implementation against the spec, plan, and tasks (`/speckit-converge`).
|
|
77
|
+
|
|
78
|
+
> [!NOTE]
|
|
79
|
+
> Repeat steps 4 and 5 until `/speckit-converge` reports **Converged**.
|
|
80
|
+
|
|
81
|
+
## 🐞 Bug Fixing with Spec Kit
|
|
82
|
+
|
|
83
|
+
Bug fixes are risky when an agent jumps straight from a report to a patch without validating the diagnosis or confirming that the fix resolves the original symptom. The bundled, opt-in bug extension provides a repeatable **assess → fix → test** workflow that keeps each fix scoped, evidence-based, and documented from root cause through verification.
|
|
84
|
+
|
|
85
|
+
### Bug Fix Quickstart
|
|
86
|
+
|
|
87
|
+
Replace `vX.Y.Z` with the [latest release tag](https://github.com/github/spec-kit/releases), keeping the leading `v`.
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
|
|
91
|
+
specify init my-project --integration copilot
|
|
92
|
+
cd my-project
|
|
93
|
+
specify extension add bug
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Launch your coding agent in the project directory, then:
|
|
97
|
+
|
|
98
|
+
1. **Assess** the bug (`/speckit-bug-assess "<bug report>" slug=login-crash`).
|
|
99
|
+
2. **Fix** the assessed cause (`/speckit-bug-fix slug=login-crash`).
|
|
100
|
+
3. **Test** the fix (`/speckit-bug-test slug=login-crash`).
|
|
101
|
+
|
|
102
|
+
## 💡 Assessing Ideas with Spec Kit
|
|
103
|
+
|
|
104
|
+
Good ideas deserve evidence before commitment, whether or not they become software. The bundled, opt-in assess extension turns a raw idea into a documented **go / needs-clarification / kill** decision through an independent **intake → research → define → shape → decide** workflow.
|
|
105
|
+
|
|
106
|
+
### Idea Assessment Quickstart
|
|
107
|
+
|
|
108
|
+
Replace `vX.Y.Z` with the [latest release tag](https://github.com/github/spec-kit/releases), keeping the leading `v`.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
|
|
112
|
+
specify init my-project --integration copilot
|
|
113
|
+
cd my-project
|
|
114
|
+
specify extension add assess
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Launch your coding agent in the project directory, then:
|
|
118
|
+
|
|
119
|
+
1. **Intake** the idea (`/speckit-assess-intake "<idea>" slug=offline-mode`).
|
|
120
|
+
2. **Research** supporting and opposing evidence (`/speckit-assess-research slug=offline-mode`).
|
|
121
|
+
3. **Define** the problem, goals, and success metrics (`/speckit-assess-define slug=offline-mode`).
|
|
122
|
+
4. **Shape** possible solutions and their trade-offs (`/speckit-assess-shape slug=offline-mode`).
|
|
123
|
+
5. **Decide** whether to proceed, clarify, or stop (`/speckit-assess-decide slug=offline-mode`).
|
|
124
|
+
|
|
125
|
+
> [!NOTE]
|
|
126
|
+
> Idea assessment is standalone. If you choose to build an idea with a **go** decision, you can hand it off to `/speckit-specify`.
|
|
127
|
+
|
|
48
128
|
## ⚡ Get Started
|
|
49
129
|
|
|
50
130
|
### 1. Install Specify CLI
|
|
@@ -28,17 +28,19 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
28
28
|
| adrkit — decision memory for spec-driven development | Pulls the decisions governing this work into agent context, checks produced plans against them, and drafts an ADR from a plan artifact | `process` | Read+Write | [adrkit](https://github.com/mbeacom/adrkit) |
|
|
29
29
|
| Agent Assign | Assign specialized Claude Code agents to spec-kit tasks for targeted execution | `process` | Read+Write | [spec-kit-agent-assign](https://github.com/xymelon/spec-kit-agent-assign) |
|
|
30
30
|
| Agent Governance | Generate agent-platform repository governance files from Spec Kit metadata | `process` | Read+Write | [spec-kit-agent-governance](https://github.com/bigsmartben/spec-kit-agent-governance) |
|
|
31
|
+
| AgentDocx | Full-stack multi-agent specification pipeline with VS Code extension control, automated Kanban/Jira sync, and React monitoring dashboard | `integration` | Read+Write | [extension-github-spec-kit](https://github.com/abir-ommezzine/extension-github-spec-kit) |
|
|
31
32
|
| AgentPay x402 — Spend Controls for Spec Kit Agents | Set USDC spending caps and execute x402 payments to paid APIs during spec implementation. Zero platform fee on Base L2 | `integration` | Read+Write | [spec-kit-pay-x402](https://github.com/shawnhvac/spec-kit-pay-x402) |
|
|
32
33
|
| AI-Driven Engineering (AIDE) | A structured 7-step workflow for building new projects from scratch with AI assistants — from vision through implementation | `process` | Read+Write | [aide](https://github.com/mnriem/spec-kit-extensions/tree/main/aide) |
|
|
33
34
|
| Analytics | Measure what your AI builds, and how much time it saves you | `visibility` | Read+Write | [spec-kit-analytics](https://github.com/Fyloss/spec-kit-analytics) |
|
|
34
35
|
| API Evolve | Managed API contract evolution — breaking-change detection, semver enforcement, deprecation orchestration, and lifecycle gates across REST, GraphQL, and gRPC | `process` | Read+Write | [spec-kit-api-evolve](https://github.com/Quratulain-bilal/spec-kit-api-evolve) |
|
|
35
36
|
| Architect Impact Previewer | Predicts architectural impact, complexity, and risks of proposed changes before implementation. | `visibility` | Read-only | [spec-kit-architect-preview](https://github.com/UmmeHabiba1312/spec-kit-architect-preview) |
|
|
36
37
|
| Architecture Governance | Keep specs, code & ADRs in sync: citation slots + a read-only, fail-closed validator | `docs` | Read+Write | [spec-kit-arch-governance](https://github.com/ashbrener/spec-kit-arch-governance) |
|
|
37
|
-
| Architecture Guard | Framework-agnostic architecture
|
|
38
|
+
| Architecture Guard | Framework-agnostic architecture governance for Spec Kit workflows, detecting drift, enforcing architectural rules, and generating actionable refactor tasks | `process` | Read+Write | [architecture-guard](https://github.com/DyanGalih/architecture-guard) |
|
|
38
39
|
| Architecture Workflow | Generate or reverse project-level 4+1 architecture views with per-view and full-workflow commands | `docs` | Read+Write | [spec-kit-arch](https://github.com/bigsmartben/spec-kit-arch) |
|
|
39
40
|
| Archive Extension | Archive merged features into main project memory, resolving gaps and conflicts. | `docs` | Read+Write | [spec-kit-archive](https://github.com/stn1slv/spec-kit-archive) |
|
|
40
41
|
| ASCII Diagram Renderer | Renders hand-drawn ASCII/Unicode diagrams (state machine, architecture, flow, coverage map) of what spec/plan/tasks/analyze already say — plain text, no Mermaid renderer needed | `docs` | Read+Write | [spec-kit-ascii-diagram](https://github.com/MRZHUH/spec-kit-ascii-diagram) |
|
|
41
|
-
|
|
|
42
|
+
| Atlas | Synthesize spec-kit specs into faithful, interactive architecture storybooks & doc portals. | `docs` | Read-only | [spec-kit-atlas](https://github.com/ashbrener/spec-kit-atlas) |
|
|
43
|
+
| Azure Cosmos DB | Best-practice Azure Cosmos DB code generation and review for any AI coding agent | `code` | Read+Write | [spec-kit-cosmosdb](https://github.com/AzureCosmosDB/spec-kit-cosmosdb) |
|
|
42
44
|
| Azure DevOps Integration | Sync user stories and tasks to Azure DevOps work items using OAuth authentication | `integration` | Read+Write | [spec-kit-azure-devops](https://github.com/pragya247/spec-kit-azure-devops) |
|
|
43
45
|
| Blueprint | Stay code-literate in AI-driven development: review a complete code blueprint for every task from spec artifacts before /speckit.implement runs | `docs` | Read+Write | [spec-kit-blueprint](https://github.com/chordpli/spec-kit-blueprint) |
|
|
44
46
|
| Blueprint Index — Living Architecture Map | A living architecture map for spec-driven projects, kept honest by a deterministic, low-friction, machine-first CI gate (JSON, self-healable) that blocks only when the map contradicts the specs or code. Brownfield or greenfield. | `process` | Read+Write | [spec-kit-blueprint](https://github.com/ogil109/spec-kit-blueprint) |
|
|
@@ -128,12 +130,13 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
128
130
|
| Review Extension | Post-implementation comprehensive code review with specialized agents for code quality, comments, tests, error handling, type design, and simplification | `code` | Read-only | [spec-kit-review](https://github.com/ismaelJimenez/spec-kit-review) |
|
|
129
131
|
| Ripple | Detect side effects that tests can't catch after implementation — surface hidden ripple effects across 9 analysis categories | `code` | Read+Write | [spec-kit-ripple](https://github.com/chordpli/spec-kit-ripple) |
|
|
130
132
|
| SDD Utilities | Resume interrupted workflows, validate project health, and verify spec-to-task traceability | `process` | Read+Write | [speckit-utils](https://github.com/mvanhorn/speckit-utils) |
|
|
131
|
-
| Security Review | Full-project secure-by-design security audits plus staged, branch/PR, plan, task, follow-up, and apply reviews | `code` | Read+Write | [
|
|
133
|
+
| Security Review | Full-project secure-by-design security audits plus staged, branch/PR, plan, task, follow-up, and apply reviews | `code` | Read+Write | [security-review](https://github.com/DyanGalih/security-review) |
|
|
132
134
|
| SFSpeckit | Enterprise Salesforce SDLC with 18 commands for the full SDD lifecycle. | `process` | Read+Write | [spec-kit-sf](https://github.com/ysumanth06/spec-kit-sf) |
|
|
133
135
|
| Ship Release Extension | Automates release pipeline: pre-flight checks, branch sync, changelog generation, CI verification, and PR creation | `process` | Read+Write | [spec-kit-ship](https://github.com/arunt14/spec-kit-ship) |
|
|
134
136
|
| Spec Changelog | Auto-generate changelogs and release notes from spec git history and requirement diffs | `docs` | Read-only | [spec-kit-changelog](https://github.com/Quratulain-bilal/spec-kit-changelog) |
|
|
135
137
|
| Spec Critique Extension | Dual-lens critical review of spec and plan from product strategy and engineering risk perspectives | `docs` | Read-only | [spec-kit-critique](https://github.com/arunt14/spec-kit-critique) |
|
|
136
138
|
| Spec Diagram | Auto-generate Mermaid diagrams of SDD workflow state, feature progress, and task dependencies | `visibility` | Read-only | [spec-kit-diagram-](https://github.com/Quratulain-bilal/spec-kit-diagram-) |
|
|
139
|
+
| Spec Inventory | Read-only inventory of live requirement and task IDs, with focused per-task context packs instead of whole-file dumps | `visibility` | Read-only | [spec-kit-inventory-alignment](https://github.com/Yash-Chindam/spec-kit-inventory-alignment) |
|
|
137
140
|
| Spec Kit Discovery Extension | Run technical discovery commands for feasibility, technology selection, scenario-specific technical decisions, legacy codebase assessment, implementation understanding, and proof-of-concept validation | `process` | Read+Write | [spec-kit-discovery](https://github.com/bigsmartben/spec-kit-discovery) |
|
|
138
141
|
| Spec Kit Figma | Agent-agnostic SpecKit extension that grounds spec, plan & task generation in Figma design context — REST + optional MCP, single/mono/multi-repo, macOS/Linux/Windows. | `integration` | Read+Write | [spec-kit-figma](https://github.com/Fyloss/spec-kit-figma) |
|
|
139
142
|
| Spec Kit Memory | Recalls prior specs and decisions from configurable memory tools (e.g. memsearch) before SDLC stages, so planning and specification start from what the project already knows | `docs` | Read+Write | [spec-kit-memory](https://github.com/zaytsevand/spec-kit-memory) |
|
|
@@ -152,7 +155,7 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
152
155
|
| Spec2Cloud | Spec-driven workflow tuned for shipping to Azure | `process` | Read+Write | [spec2cloud](https://github.com/Azure-Samples/Spec2Cloud) |
|
|
153
156
|
| SpecAssay Check | Gate 2 refuses silent gaps and emits a trace-manifest (trace-manifest.json). | `visibility` | Read+Write | [specassay](https://github.com/rdryfoos/specassay) |
|
|
154
157
|
| SpecJudge — right-size the model before you implement | Recommends the model that fits your tasks, citing the spec fragment behind every level. | `process` | Read-only | [SpecJudge](https://github.com/JoaquinRuiz/SpecJudge) |
|
|
155
|
-
| SpecKit Companion | Live spec-driven progress — lifecycle capture, status, resume, and
|
|
158
|
+
| SpecKit Companion | Live spec-driven progress — lifecycle capture, status, resume, living specs, and composable commands with hooks and recipes | `process` | Read+Write | [speckit-companion](https://github.com/alfredoperez/speckit-companion) |
|
|
156
159
|
| SpecKit Grill Me | Exhaustively resolve specification ambiguities and decisions before planning | `process` | Read+Write | [speckit-grill-me](https://github.com/yoshi1220/speckit-grill-me) |
|
|
157
160
|
| SpecTest | Auto-generate test scaffolds from spec criteria, map coverage, and find untested requirements | `code` | Read+Write | [spec-kit-spectest](https://github.com/Quratulain-bilal/spec-kit-spectest) |
|
|
158
161
|
| Squad Bridge | Bootstrap and synchronize a Squad agent team from your Speckit spec and tasks. | `process` | Read+Write | [spec-kit-squad](https://github.com/jwill824/spec-kit-squad) |
|
|
@@ -11,9 +11,10 @@ The following community-contributed presets customize how Spec Kit behaves — o
|
|
|
11
11
|
| Agent Parity Governance | Adds shared-guidance parity, fleet-completion evidence, secret-free runner metadata, audit-ready Spec Kit evidence, and agent-neutral model routing across declared AI-agent surfaces. | 7 templates, 3 commands | — | [spec-kit-preset-agent-parity-governance](https://github.com/hindermath/spec-kit-preset-agent-parity-governance) |
|
|
12
12
|
| AIDE In-Place Migration | Adapts the AIDE extension workflow for in-place technology migrations (X → Y pattern) — adds migration objectives, verification gates, knowledge documents, and behavioral equivalence criteria | 2 templates, 8 commands | AIDE extension | [spec-kit-presets](https://github.com/mnriem/spec-kit-presets) |
|
|
13
13
|
| Architecture Governance | Adds secure architecture, STRIDE/CAPEC threat modeling, arc42/S-ADR guidance, Zero Trust, SAMM, BSI cloud assurance, audit evidence, and provider-neutral model routing. | 14 templates, 3 commands | — | [spec-kit-preset-architecture-governance](https://github.com/hindermath/spec-kit-preset-architecture-governance) |
|
|
14
|
-
| Autonomous Run Governance | Adds permission-bounded autonomous delivery
|
|
14
|
+
| Autonomous Run Governance | Adds permission-bounded autonomous delivery with validated delivery sets, semantic phase completion, and lifecycle-bound exact-head evidence. | 15 templates, 5 commands, 11 scripts | — | [spec-kit-preset-autonomous-run-governance](https://github.com/hindermath/spec-kit-preset-autonomous-run-governance) |
|
|
15
15
|
| Canon Core | Adapts original Spec Kit workflow to work together with Canon extension | 2 templates, 8 commands | — | [spec-kit-canon](https://github.com/maximiliamus/spec-kit-canon) |
|
|
16
16
|
| Claude AskUserQuestion | Upgrades `/speckit.clarify` and `/speckit.checklist` on Claude Code from Markdown-table prompts to the native AskUserQuestion picker, with a recommended option and reasoning on every question | 2 commands | — | [spec-kit-preset-claude-ask-questions](https://github.com/0xrafasec/spec-kit-preset-claude-ask-questions) |
|
|
17
|
+
| Closed Vocabulary Check | Adds a pass to /speckit.analyze that flags closed sets of values enumerated more than once with different members, and reports its own coverage. | 1 command | — | [spec-kit-preset-closed-vocabulary](https://github.com/yunusdim/spec-kit-preset-closed-vocabulary) |
|
|
17
18
|
| Command Density | Compacts the nine core Spec Kit command prompts while preserving scripts, handoffs, placeholders, hook output blocks, and rule structure | 9 commands | — | [spec-kit-preset-command-density](https://github.com/Xopoko/spec-kit-preset-command-density) |
|
|
18
19
|
| Cross-Platform Governance | Adds Bash/PowerShell parity, read-only checks, path and native-override review, Unix man pages, bilingual PowerShell help, and provider-neutral model routing. | 9 templates, 3 commands | — | [spec-kit-preset-cross-platform-governance](https://github.com/hindermath/spec-kit-preset-cross-platform-governance) |
|
|
19
20
|
| Explicit Task Dependencies | Adds explicit `(depends on T###)` dependency declarations and an Execution Wave DAG to tasks.md for parallel scheduling | 1 template, 1 command | — | [spec-kit-preset-explicit-task-dependencies](https://github.com/Quratulain-bilal/spec-kit-preset-explicit-task-dependencies) |
|
|
@@ -21,7 +22,8 @@ The following community-contributed presets customize how Spec Kit behaves — o
|
|
|
21
22
|
| Game Narrative Writing | Preset for game narrative design and interactive storytelling. It adapts the Spec-Driven Development workflow for game narratives: features become story mechanics, specs become narrative briefs, plans become story maps, and tasks become dialogue and scene-writing tasks. Supports branching narratives, player agency systems, state machines, and interactive dialogue trees. | 37 templates, 34 commands, 5 scripts | — | [speckit-preset-game-narrative-writing](https://github.com/adaumann/speckit-preset-game-narrative-writing) |
|
|
22
23
|
| Intake Authoring Governance | Governs traceable intake CRUD, language-aware requirements collections, bounded public HTTPS sources, and explicitly approved single or series authoring. | 13 templates, 5 commands, 7 scripts | — | [spec-kit-preset-intake-authoring-governance](https://github.com/hindermath/spec-kit-preset-intake-authoring-governance) |
|
|
23
24
|
| Intake Review Governance | Reviews single, series, campaign, and language-aware requirements collections before Spec Kit execution. | 9 templates, 3 commands, 5 scripts | — | [spec-kit-preset-intake-review-governance](https://github.com/hindermath/spec-kit-preset-intake-review-governance) |
|
|
24
|
-
| Intake Sequencing Governance | Manages language-aware intake-series order, typed dependencies, lifecycle, and authority-neutral next-candidate selection. |
|
|
25
|
+
| Intake Sequencing Governance | Manages language-aware intake-series order, typed dependencies, lifecycle, and authority-neutral next-candidate selection. | 12 templates, 6 commands, 8 scripts | — | [spec-kit-preset-intake-sequencing-governance](https://github.com/hindermath/spec-kit-preset-intake-sequencing-governance) |
|
|
26
|
+
| Inventory Alignment | Classifies each requirement against a read-only inventory of live IDs before writing, so reworded requirements are updated instead of duplicated. | 1 template, 2 commands | speckit-inventory extension | [spec-kit-inventory-alignment](https://github.com/Yash-Chindam/spec-kit-inventory-alignment) |
|
|
25
27
|
| iSAQB Architecture Governance | Adds iSAQB/CPSA-F and arc42 architecture governance, architecture views, quality scenarios, ADRs, risks, technical-debt evidence, and provider-neutral model routing. | 14 templates, 3 commands | — | [spec-kit-preset-isaqb-architecture-governance](https://github.com/hindermath/spec-kit-preset-isaqb-architecture-governance) |
|
|
26
28
|
| 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
29
|
| 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) |
|
|
@@ -64,6 +64,8 @@
|
|
|
64
64
|
"globalMetadata": {
|
|
65
65
|
"_appTitle": "Spec Kit Documentation",
|
|
66
66
|
"_appName": "Spec Kit",
|
|
67
|
+
"_appLogoPath": "images/spec-kit-logo.webp",
|
|
68
|
+
"_appFaviconPath": "images/spec-kit-logo.webp",
|
|
67
69
|
"_appFooter": "Spec Kit - A specification-driven development toolkit",
|
|
68
70
|
"_enableSearch": true,
|
|
69
71
|
"_disableContribution": false,
|