specify-cli 1.0.12__tar.gz → 1.0.13__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-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/agent_request.yml +1 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/bug_report.yml +1 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/feature_request.yml +1 -0
- specify_cli-1.0.13/.github/workflows/stale.yml +63 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/CHANGELOG.md +25 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/PKG-INFO +1 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/README.md +1 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/extensions.md +4 -2
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/friends.md +4 -0
- specify_cli-1.0.13/docs/guides/agentic-sdlc.md +285 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/monorepo.md +8 -2
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/index.md +8 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/installation.md +6 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/agentic-sdd.md +3 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/bundles.md +2 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/core.md +2 -2
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/integrations.md +2 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/presets.md +3 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/workflows.md +2 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/toc.yml +2 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/business-analyst/bundle.yml +1 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/developer/bundle.yml +1 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/product-manager/bundle.yml +1 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/security-researcher/bundle.yml +1 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/agent-context-defaults.json +1 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/extension.yml +1 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/catalog.community.json +88 -9
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/catalog.json +16 -2
- specify_cli-1.0.13/extensions/github/README.md +104 -0
- specify_cli-1.0.13/extensions/github/commands/speckit.github.taskstoissues.md +106 -0
- specify_cli-1.0.13/extensions/github/extension.yml +36 -0
- specify_cli-1.0.13/extensions/github/scripts/bash/resolve-tasks.sh +264 -0
- specify_cli-1.0.13/extensions/github/scripts/powershell/resolve-tasks.ps1 +236 -0
- specify_cli-1.0.13/extensions/github/scripts/python/resolve_tasks.py +261 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/integrations/catalog.json +10 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/catalog.community.json +6 -5
- {specify_cli-1.0.12 → specify_cli-1.0.13}/pyproject.toml +2 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/common.sh +23 -14
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/common.ps1 +10 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/common.py +210 -49
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_invocation_style.py +1 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/command_init.py +7 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/events/__init__.py +6 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/__init__.py +2 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/copilot/__init__.py +23 -8
- specify_cli-1.0.13/src/specify_cli/integrations/mcode/__init__.py +74 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/vibe/__init__.py +28 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/expressions.py +40 -4
- specify_cli-1.0.13/tests/extensions/github/test_github_extension.py +1422 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/test_update_agent_context_python_parity.py +27 -6
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_extra_args.py +53 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_copilot.py +31 -0
- specify_cli-1.0.13/tests/integrations/test_integration_mcode.py +145 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_vibe.py +48 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_zed.py +2 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_registry.py +1 -1
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/parity_helpers.py +107 -2
- specify_cli-1.0.13/tests/specify_cli/bundles/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/events/test_events.py +43 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_agent_config_consistency.py +25 -0
- specify_cli-1.0.13/tests/test_catalog_trust_docs.py +37 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_ps1_encoding.py +1 -0
- specify_cli-1.0.13/tests/test_resolve_template_python_parity.py +1510 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_workflows.py +48 -3
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/unit/test_condition_expression_block.py +15 -20
- {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/PUBLISHING.md +7 -6
- specify_cli-1.0.12/.github/workflows/stale.yml +0 -43
- specify_cli-1.0.12/tests/test_resolve_template_python_parity.py +0 -787
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.devcontainer/devcontainer.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.devcontainer/post-create.sh +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.editorconfig +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.gitattributes +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/CODEOWNERS +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/bundle_submission.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/aw/actions-lock.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/dependabot.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/scripts/check_extension_version_bump.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/scripts/check_security_requirements.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/security-audit-requirements.txt +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/skills/add-community-extension/SKILL.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/skills/code-review/SKILL.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/RELEASE-PROCESS.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-bundle.lock.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-bundle.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-extension.lock.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-extension.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-preset.lock.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/add-community-preset.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-assess.lock.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-assess.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-fix.lock.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-fix.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-test.lock.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/bug-test.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/catalog-assign.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/codeql.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/docs.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/extension-version-guard.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/feature-assess.lock.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/feature-assess.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/lint.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/publish-pypi.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/release-trigger.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/release.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/security.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.github/workflows/test.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.gitignore +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.markdownlint-cli2.jsonc +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.pre-commit-config.yaml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/.zenodo.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/AGENTS.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/CITATION.cff +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/CODE_OF_CONDUCT.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/CONTRIBUTING.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/DEVELOPMENT.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/LICENSE +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/README.ja.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/README.zh-CN.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/SECURITY.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/SUPPORT.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/assess/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/assess/bundle.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/bugfix/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/bugfix/bundle.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/catalog.community.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/bundles/catalog.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/design/cli.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/design/integration.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/design/workflow-step.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/.gitignore +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/bundles.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/overview.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/presets.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/community/walkthroughs.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/concepts/complex-features.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/concepts/sdd.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/concepts/spec-of-specs.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/concepts/spec-persistence.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/docfx.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/assessment.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/bugfix.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/contract-driven-development.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/customization.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/evolving-specs.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/guides/existing-projects.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/history.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/images/spec-kit-logo.webp +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/install/air-gapped.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/install/one-time.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/install/pipx.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/install/pypi.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/install/uv.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/local-development.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/quickstart.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/agentic-assessment.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/agentic-bugfix.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/artifacts.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/authentication.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/extensions.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/reference/overview.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/template/public/main.css +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/docs/upgrade.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/business-analyst/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/developer/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/product-manager/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/examples/bundles/security-researcher/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/EXTENSION-API-REFERENCE.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/EXTENSION-USER-GUIDE.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/agent-context-config.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/commands/speckit.assess.decide.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/commands/speckit.assess.define.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/commands/speckit.assess.intake.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/commands/speckit.assess.research.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/commands/speckit.assess.shape.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/assess/extension.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/bug/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/bug/commands/speckit.bug.assess.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/bug/commands/speckit.bug.fix.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/bug/commands/speckit.bug.test.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/bug/extension.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/commands/speckit.git.commit.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/commands/speckit.git.feature.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/commands/speckit.git.initialize.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/commands/speckit.git.remote.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/commands/speckit.git.validate.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/config-template.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/extension.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/git-config.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/bash/auto-commit.sh +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/bash/create-new-feature-branch.sh +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/bash/git-common.sh +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/python/auto_commit.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/python/create_new_feature_branch.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/python/git_common.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/git/scripts/python/initialize_repo.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/selftest/commands/selftest.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/selftest/extension.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/.gitignore +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/CHANGELOG.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/EXAMPLE-README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/LICENSE +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/commands/example.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/config-template.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/extensions/template/extension.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/integrations/CONTRIBUTING.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/integrations/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/integrations/catalog.community.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/media/bootstrap-claude-code.gif +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/media/logo_large.webp +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/media/logo_small.webp +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/media/spec-kit-video-header.jpg +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/media/specify_cli.gif +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-April.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-August.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-February.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-July.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-June.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-March.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/newsletters/2026-May.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/ARCHITECTURE.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/PUBLISHING.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/catalog.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/constitution-sync/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/constitution-sync/preset.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/commands/speckit.constitution.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/commands/speckit.implement.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/commands/speckit.plan.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/commands/speckit.specify.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/commands/speckit.tasks.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/lean/preset.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/commands/speckit.specify.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/preset.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/templates/myext-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/scaffold/templates/spec-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/commands/speckit.specify.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/commands/speckit.wrap-test.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/preset.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/templates/checklist-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/templates/constitution-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/templates/plan-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/templates/spec-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/presets/self-test/templates/tasks-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/check-prerequisites.sh +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/create-new-feature.sh +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/resolve-template.sh +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/setup-plan.sh +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/bash/setup-tasks.sh +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/check-prerequisites.ps1 +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/create-new-feature.ps1 +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/resolve-template.ps1 +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/setup-plan.ps1 +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/powershell/setup-tasks.ps1 +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/check_prerequisites.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/create_new_feature.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/resolve_template.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/setup_plan.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/scripts/python/setup_tasks.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/spec-driven.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/spec-kit.code-workspace +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_agent_config.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_assets.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_console.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_download_security.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_init_options.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_installed_list_json.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_project.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_toml_string.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_utils.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/_version.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/agents.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/_commands.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/_identifiers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/catalog.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/command_lookup.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/models.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/artifacts/resolution.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/azure_devops.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/base.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/bitbucket.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/config.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/github.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/github_http.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/authentication/http.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundler.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/_commands.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/adapters.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog_config.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalog_stack.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/catalogs.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_build.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_init.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_install.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_update.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/command_validate.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/conflict.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/installer.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/manifest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/packager.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/primitives.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/project.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/records.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/references.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/resolver.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/sources.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/validator.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/versioning.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/bundles/yamlio.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/catalogs.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/command_check.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/command_version.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/events/command_run.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/_command_update_artifacts.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/_command_update_discovery.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/_command_update_transaction.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/_commands.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/catalog/_helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/catalog/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/catalog/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/catalog/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_disable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_enable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_set_priority.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/extensions/command_update.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integration_runtime.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integration_state.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integration_status.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/_command_scaffold_generation.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/_command_upgrade_layout.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/_commands.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/_helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/agy/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/alquimia/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/amp/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/auggie/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/base.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/bob/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/catalog/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/catalog/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/catalog/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/claude/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/cline/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/codex/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_code/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_install.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_scaffold.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_status.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_switch.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_uninstall.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_upgrade.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/command_use.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/devin/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/docker_agent/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/droid/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/dsh/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/firebender/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/forge/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/gemini/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/generic/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/goose/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/grok/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/hermes/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/junie/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/kimi/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/lingma/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/manifest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/muse/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/omp/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/opencode/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/pi/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/qwen/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/shai/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/trae/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/zcode/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/integrations/zed/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_catalog.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_commands.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_manager.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_manager_commands.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_manager_skills.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_manifest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_registry.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/_resolver.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/catalog/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/catalog/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/catalog/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_disable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_enable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_resolve.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_set_priority.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/presets/command_update.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/selfs/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/selfs/command_check.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/selfs/command_upgrade.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/shared_infra.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/_command_resume_state.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/_command_run_ownership.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/_commands.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/base.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/catalog/_domain.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/catalog/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/catalog/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/catalog/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_disable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_enable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_resolve.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_resume.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_run.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_status.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/command_update.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/engine.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_disable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_enable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/command_set_priority.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/composer.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/layer_sources.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/merge.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/operations.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/resolver.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/overlay/schema.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/_helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/catalog/_domain.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/catalog/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/catalog/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/catalog/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/do_while/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/fan_in/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/fan_out/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/gate/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/if_then/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/init/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/prompt/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/shell/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/slot/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/switch/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/src/specify_cli/workflows/step/while_loop/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/checklist-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/analyze.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/checklist.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/clarify.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/constitution.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/converge.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/implement.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/plan.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/specify.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/tasks.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/commands/taskstoissues.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/constitution-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/plan-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/spec-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/tasks-template.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/templates/vscode-settings.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/conftest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_bundled_extension_update_delivery.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_bundled_extension_versions.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_catalog_schema.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_extension_version_guard_script.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_firstparty_bundle_catalog_consistency.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_manifest_schema.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_wheel_bundled_presets.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_wheel_bundled_workflows.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/assess/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/assess/test_assess_extension.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/bug/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/bug/test_bug_extension.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/git/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/git/test_git_extension.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/git/test_git_extension_python_parity.py +0 -0
- {specify_cli-1.0.12/tests/integrations → specify_cli-1.0.13/tests/extensions/github}/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/test_agent_context_cli_free.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/test_extension_agent_context.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/hooks/TESTING.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/hooks/plan.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/hooks/spec.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/hooks/tasks.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/http_helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integration/test_preset_update_workflow.py +0 -0
- {specify_cli-1.0.12/tests/specify_cli/bundles → specify_cli-1.0.13/tests/integrations}/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/conftest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_base.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_cli.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_home_isolation.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_agy.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_alquimia.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_amp.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_auggie.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_base_markdown.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_base_skills.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_base_toml.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_base_yaml.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_bob.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_claude.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_cline.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_codebuddy.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_codex.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_command_code.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_cursor_agent.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_devin.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_docker_agent.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_droid.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_dsh.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_firebender.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_forge.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_gemini.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_generic.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_goose.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_grok.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_hermes.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_junie.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_kilocode.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_kimi.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_kiro_cli.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_lingma.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_muse.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_omp.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_opencode.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_pi.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_qodercli.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_qwen.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_rovodev.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_shai.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_state.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_tabnine.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_trae.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_integration_zcode.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_manifest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/conftest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_catalog.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_catalog_parity.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_command_lookup.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/artifacts/test_registration.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/authentication/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/authentication/helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/authentication/test_authentication.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/authentication/test_github_http.py +0 -0
- {specify_cli-1.0.12/tests/specify_cli/bundles/catalog → specify_cli-1.0.13/tests/specify_cli/bundles}/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/_command_helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/catalog/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/catalog/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/catalog/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/conftest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_adapters.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_bundles.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_catalog_config.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_catalog_stack.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_build.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_init.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_install.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_update.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_command_validate.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_commands.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_conflict.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_installer.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_offline.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_packager.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_primitives.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_records.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_references.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_resolver.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_security_paths.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_sources.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_validator.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_versioning.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/bundles/test_yamlio.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/events/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/events/test_command_run.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/_helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/catalog/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/catalog/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/catalog/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/conftest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_add_path_traversal.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_disable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_enable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_set_priority.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_update.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_update_artifacts.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_update_discovery.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/extensions/test_command_update_transaction.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/_catalog_helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/_helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/_scaffold_helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/catalog/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/catalog/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/catalog/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/conftest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_catalog.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_install.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_scaffold.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_scaffold_generation.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_status.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_switch.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_uninstall.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_upgrade.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_upgrade_layout.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_command_use.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_lifecycle.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/integrations/test_registration.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/_fixtures.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/_helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/catalog/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/catalog/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/catalog/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/conftest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_catalog.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_disable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_enable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_resolve.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_set_priority.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_command_update.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_domain_exports.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_manager.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_manager_commands.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_manager_skills.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_manifest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_registration.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_registry.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/presets/test_resolver.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/self_upgrade_helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/selfs/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/selfs/test_command_check.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/selfs/test_command_upgrade.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_agent_config.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_check_tool.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_command_check.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_command_init.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_command_version.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_root_version_callback.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_detection.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_execution.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_guidance.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_imports.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_release.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/test_version_verification.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/catalog/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/catalog/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/catalog/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/conftest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/helpers.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_disable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_enable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/overlay/test_command_set_priority.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/catalog/__init__.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/catalog/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/catalog/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/catalog/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/test_command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/step/test_command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_add.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_disable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_enable.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_info.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_list.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_remove.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_resolve.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_resume.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_resume_state.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_run.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_run_ownership.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_search.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_status.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/specify_cli/workflows/test_command_update.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_branch_numbering.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_bug_fix_workflow.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_check_prerequisites_paths_only.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_check_prerequisites_python_parity.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_clarify_stage_gate.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_command_template_hooks.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_command_template_py_scripts.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_console_imports.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_constitution_template_sync_report.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_converge_template_scaffold.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_create_new_feature_python_parity.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_download_security.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_extension_registration.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_extension_skills.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_extensions.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_github_workflows.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_init_dir.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_init_dir_cli.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_installed_list_json.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_live_transient_windows.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_merge.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_post_process.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_presets.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_registrar_path_traversal.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_security_workflow.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_setup_plan_feature_json.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_setup_plan_no_overwrite.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_setup_plan_python_parity.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_setup_tasks.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_setup_tasks_python_parity.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_shared_infra_gitignore.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_shared_infra_integrity.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_skill_placeholder_py.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_specify_no_persist.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_specify_template_numbering.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_tasks_template_constraints.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_timestamp_branches.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_utils.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/test_utils_assets_imports.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/conftest.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_bundled_bugfix_assess_workflows.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_bundled_speckit_workflow.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_overlay_composer.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_overlay_layer_sources.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_overlay_merge.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_overlay_schema.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_resolver_integration.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/tests/workflows/test_slot_step.py +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/ARCHITECTURE.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/README.md +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/assess/workflow.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/bugfix/workflow.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/catalog.community.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/catalog.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/speckit/workflow.yml +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/step-catalog.community.json +0 -0
- {specify_cli-1.0.12 → specify_cli-1.0.13}/workflows/step-catalog.json +0 -0
|
@@ -8,7 +8,7 @@ body:
|
|
|
8
8
|
value: |
|
|
9
9
|
Thanks for requesting a new agent! Before submitting, please check if the agent is already supported.
|
|
10
10
|
|
|
11
|
-
**Currently supported agents**: Alquimia AI, Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Command Code, Cursor, Devin for Terminal, Docker Agent, Factory Droid, DeepSeek Harness, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Muse Code, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
|
|
11
|
+
**Currently supported agents**: Alquimia AI, Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Command Code, Cursor, Devin for Terminal, Docker Agent, Factory Droid, DeepSeek Harness, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, MiniMax Code, Mistral Vibe, Muse Code, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
|
|
12
12
|
|
|
13
13
|
- type: input
|
|
14
14
|
id: agent-name
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: 'Close stale issues and PRs'
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 0 * * *' # Run daily at midnight UTC
|
|
6
|
+
workflow_dispatch: # Allow manual triggering
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
actions: write
|
|
10
|
+
issues: write
|
|
11
|
+
pull-requests: write
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
stale:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
|
|
18
|
+
with:
|
|
19
|
+
# Days of inactivity before an issue or PR becomes stale
|
|
20
|
+
days-before-stale: 60
|
|
21
|
+
# Days of inactivity before a stale issue or PR is closed (after being marked stale)
|
|
22
|
+
days-before-close: 30
|
|
23
|
+
|
|
24
|
+
# Stale issue settings
|
|
25
|
+
stale-issue-message: >-
|
|
26
|
+
This issue has been automatically marked as stale because it has had no activity for 60 days.
|
|
27
|
+
It will be closed in 30 days unless there is a substantive update. If the problem still applies,
|
|
28
|
+
please provide updated context such as whether it is still reproducible, the affected version or
|
|
29
|
+
environment, its current impact, and any new reproduction details. A comment that only states that
|
|
30
|
+
the issue is "still relevant" does not give maintainers enough information to reconsider it.
|
|
31
|
+
close-issue-message: >-
|
|
32
|
+
This issue has been automatically closed after 90 days without activity. To request reconsideration,
|
|
33
|
+
please provide updated reproduction details, the currently affected version or environment, and the
|
|
34
|
+
present impact. Ask a maintainer to reopen this issue if it is fundamentally the same problem. If the
|
|
35
|
+
scope or reproduction has materially changed, create a new issue, link this one, and explain what has
|
|
36
|
+
changed.
|
|
37
|
+
stale-issue-label: 'stale'
|
|
38
|
+
|
|
39
|
+
# Stale PR settings
|
|
40
|
+
stale-pr-message: >-
|
|
41
|
+
This pull request has been automatically marked as stale because it has had no activity for 60 days.
|
|
42
|
+
It will be closed in 30 days unless there is a substantive update. If you intend to continue, please
|
|
43
|
+
describe the current status, address or acknowledge outstanding feedback, and confirm whether the
|
|
44
|
+
branch can be updated and the change remains ready for review. A comment that only states that the
|
|
45
|
+
pull request is "still relevant" does not provide enough context for maintainers.
|
|
46
|
+
close-pr-message: >-
|
|
47
|
+
This pull request has been automatically closed after 90 days without activity. To request
|
|
48
|
+
reconsideration, please explain why the change is still needed, confirm that the implementation is
|
|
49
|
+
current and ready for review, and address any outstanding feedback or conflicts. Ask a maintainer to
|
|
50
|
+
reopen this pull request if the existing branch and approach remain valid. Otherwise, create a new pull
|
|
51
|
+
request, link this one, and explain what has changed.
|
|
52
|
+
stale-pr-label: 'stale'
|
|
53
|
+
|
|
54
|
+
# Exempt issues and PRs with these labels from being marked as stale
|
|
55
|
+
exempt-issue-labels: 'pinned,security'
|
|
56
|
+
exempt-pr-labels: 'pinned,security'
|
|
57
|
+
|
|
58
|
+
# Only issues or PRs with all of these labels are checked
|
|
59
|
+
# Leave empty to check all issues and PRs
|
|
60
|
+
any-of-labels: ''
|
|
61
|
+
|
|
62
|
+
# Operations per run (helps avoid rate limits)
|
|
63
|
+
operations-per-run: 250
|
|
@@ -2,6 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- insert new changelog below this comment -->
|
|
4
4
|
|
|
5
|
+
## [1.0.13] - 2026-09-29
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- community: add Raaghu Spec Kit Azure DevOps extension to friends (#4782)
|
|
10
|
+
- feat(extensions): add bundled `github` extension for taskstoissues (#4488)
|
|
11
|
+
- fix(integrations): drop invalid --model/--output-format flags from Vibe dispatch (#4784)
|
|
12
|
+
- Update Superpowers Implementation Bridge extension to v1.3.0 (#4783)
|
|
13
|
+
- fix(workflows): evaluate parenthesised expressions (#4417)
|
|
14
|
+
- fix(workflows): resolve negative list indices in expressions (#4416)
|
|
15
|
+
- docs: explain how Spec Kit uses an agentic SDLC (#4774)
|
|
16
|
+
- fix(copilot): detect copilot.exe on Windows instead of assuming copilot.cmd (#4758)
|
|
17
|
+
- fix: keep non-ASCII text readable in merged JSON settings files (#4773)
|
|
18
|
+
- Added openspec extension (#4765)
|
|
19
|
+
- feat(integrations): add MiniMax Code (mcode) integration (#4644) (#4645)
|
|
20
|
+
- docs(community): add Specstride to Community Friends (#4762)
|
|
21
|
+
- docs: clarify feature directories may live outside the project root (#4739)
|
|
22
|
+
- fix(scripts): honor SPECKIT_PYTHON override for preset manifest parsing (#4445)
|
|
23
|
+
- chore: clarify stale issue and PR guidance (#4772)
|
|
24
|
+
- Update OWASP LLM Threat Model extension to v2.1.2 (#4771)
|
|
25
|
+
- docs: correct workflow publishing security-review claim, add catalog vetting notes (#4736)
|
|
26
|
+
- [preset] Update Intake Sequencing Governance preset to v0.2.6 (#4761)
|
|
27
|
+
- [extension] Add Test Validation extension to community catalog (#4760)
|
|
28
|
+
- chore: release 1.0.12, begin 1.0.13.dev0 development (#4759)
|
|
29
|
+
|
|
5
30
|
## [1.0.12] - 2026-09-25
|
|
6
31
|
|
|
7
32
|
### Changed
|
|
@@ -28,6 +28,7 @@ To build the documentation locally:
|
|
|
28
28
|
- `toc.yml` - Table of contents configuration
|
|
29
29
|
- `installation.md` - Installation guide
|
|
30
30
|
- `quickstart.md` - Spec-Driven Development walkthrough
|
|
31
|
+
- `guides/agentic-sdlc.md` - How Spec Kit applies agentic and conventional SDLC practices to itself
|
|
31
32
|
- `guides/bugfix.md` - Bug-fixing walkthrough
|
|
32
33
|
- `guides/assessment.md` - Idea assessment walkthrough
|
|
33
34
|
- `guides/customization.md` - Choosing and combining customization building blocks
|
|
@@ -113,10 +113,11 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
113
113
|
| .NET Framework to Modern .NET Migration | Orchestrate end-to-end .NET Framework to modern .NET migration across 7 phases, with SDD lifecycle integration | `process` | Read+Write | [spec-kit-fx-to-net](https://github.com/RogerBestMsft/spec-kit-FxToNet) |
|
|
114
114
|
| OKF Knowledge Bundle Generator | Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository. Mines git history for the rationale behind the code, parks what it cannot establish as open questions rather than guessing, and verifies that the bundle's claims are actually supported by the repository. | `docs` | Read+Write | [catalogify](https://github.com/alexcpn/catalogify) |
|
|
115
115
|
| Onboard | Contextual onboarding and progressive growth for developers new to spec-kit projects. Explains specs, maps dependencies, validates understanding, and guides the next step | `process` | Read+Write | [spec-kit-onboard](https://github.com/dmux/spec-kit-onboard) |
|
|
116
|
+
| OpenSpec | Adds a spec-driven change-management workflow (propose → implement → verify → archive) to Spec Kit projects, keeping specs, designs, and code in sync | `process` | Read+Write | [spec-kit-openspec](https://github.com/aaronrsun/spec-kit-openspec) |
|
|
116
117
|
| OpenUP Governed Lifecycle | Adds the OpenUP lifecycle to Spec Kit: phases, iterations, a seven-level WBS, an executable risk register, bi-directional traceability, and machine-checkable milestone gates. | `process` | Read+Write | [specup](https://github.com/anvigo12/specup) |
|
|
117
118
|
| Optimize | Audit and optimize AI governance for context efficiency — token budgets, rule health, interpretability, compression, coherence, and echo detection | `process` | Read+Write | [spec-kit-optimize](https://github.com/sakitA/spec-kit-optimize) |
|
|
118
119
|
| Orchestration Task Context Management | Adds subagent work-unit orchestration to generated Spec Kit task files | `process` | Read+Write | [spec-kit-orchestration-task-context-management](https://github.com/benizzio/spec-kit-orchestration-task-context-management) |
|
|
119
|
-
| OWASP LLM Threat Model | OWASP Top 10 for LLM Applications
|
|
120
|
+
| OWASP LLM Threat Model | OWASP Top 10 for LLM Applications 2026 threat analysis on agent artifacts | `code` | Read-only | [spec-kit-threatmodel](https://github.com/NaviaSamal/spec-kit-threatmodel) |
|
|
120
121
|
| PatchWarden Evidence Pack | Map Spec Kit tasks into a guarded PatchWarden Goal and export bounded, traceable evidence for an accepted lineage. | `process` | Read+Write | [spec-kit-patchwarden](https://github.com/jiezeng2004-design/spec-kit-patchwarden) |
|
|
121
122
|
| Plan Review Gate | Require spec.md and plan.md to be merged via MR/PR before allowing task generation | `process` | Read-only | [spec-kit-plan-review-gate](https://github.com/luno/spec-kit-plan-review-gate) |
|
|
122
123
|
| PR Bridge | Auto-generate pull request descriptions, checklists, and summaries from spec artifacts | `process` | Read-only | [spec-kit-pr-bridge-](https://github.com/Quratulain-bilal/spec-kit-pr-bridge-) |
|
|
@@ -175,13 +176,14 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
175
176
|
| Staff Review Extension | Staff-engineer-level code review that validates implementation against spec, checks security, performance, and test coverage | `code` | Read-only | [spec-kit-staff-review](https://github.com/arunt14/spec-kit-staff-review) |
|
|
176
177
|
| Status Report | Project status, feature progress, and next-action recommendations for spec-driven workflows | `visibility` | Read+Write | [Open-Agent-Tools/spec-kit-status](https://github.com/Open-Agent-Tools/spec-kit-status) |
|
|
177
178
|
| Superpowers Bridge | Bridges selected Superpowers disciplines into Spec Kit as evidence-first trust gates for agent workflows. | `process` | Read+Write | [superpowers-bridge](https://github.com/RbBtSn0w/spec-kit-extensions/tree/main/superpowers-bridge) |
|
|
178
|
-
| Superpowers Implementation Bridge | Thin orchestrator between Spec Kit
|
|
179
|
+
| Superpowers Implementation Bridge | Thin orchestrator between Spec Kit design artifacts and Superpowers implementation discipline. Cross-agent; verified for Codex and Claude Code. | `process` | Read+Write | [speckit-superpowers-bridge](https://github.com/lihan3238/speckit-superpowers-bridge) |
|
|
179
180
|
| Superspec | Bridges spec-kit with obra/superpowers (brainstorming, TDD, subagent, code-review) into a unified, resumable workflow with graceful degradation and session progress tracking | `process` | Read+Write | [superspec](https://github.com/WangX0111/superspec) |
|
|
180
181
|
| Taco Review | Packages Spec Kit features for human review and syncs edits and comments back. | `integration` | Read+Write | [taco](https://github.com/Arcadia822/taco) |
|
|
181
182
|
| Tasks to GitHub Project | Publish and synchronize Spec Kit tasks as cards on a GitHub Project (v2) kanban board, with priority and status sync between spec.md/tasks.md and the board. | `integration` | Read+Write | [spec-kit-tasks-to-project](https://github.com/mancioshell/spec-kit-tasks-to-project) |
|
|
182
183
|
| TDD Extension | Drives spec-kit implementation with tests: a language-agnostic red-green-refactor loop with a per-feature test list, recorded red and green evidence, and mutation-checked test strength. | `process` | Read+Write | [spec-kit-tdd](https://github.com/d0whc3r/spec-kit-tdd) |
|
|
183
184
|
| Team Assign | Assign tasks.md items to human engineers, split into subtasks, and generate a per-engineer workboard | `process` | Read+Write | [spec-kit-team-assign](https://github.com/tarunkumarbhati/spec-kit-team-assign) |
|
|
184
185
|
| Test Coverage Drift Control | Generate incremental coverage drift reports and planned remediation tasks after implementation | `code` | Read+Write | [spec-kit-test-coverage-drift-control](https://github.com/benizzio/spec-kit-test-coverage-drift-control) |
|
|
186
|
+
| Test Validation | Validate acceptance scenarios and run CSV-driven E2E tests against a live app via Playwright | `process` | Read+Write | [speckit-test-validate](https://github.com/andstepanuk/speckit-test-validate) |
|
|
185
187
|
| ThreatSpec | STRIDE and AI/ML threat modeling with threat-to-test traceability and security convergence | `process` | Read+Write | [spec-kit-threatspec](https://github.com/hupe1980/spec-kit-threatspec) |
|
|
186
188
|
| Time Machine | Retroactively apply the full SDD workflow to existing codebases — analyse, spec, and ship feature-by-feature | `process` | Read+Write | [spec-kit-time-machine](https://github.com/teeyo/spec-kit-time-machine) |
|
|
187
189
|
| TinySpec | Lightweight single-file workflow for small tasks — skip the heavy multi-step SDD process | `process` | Read+Write | [spec-kit-tinyspec](https://github.com/Quratulain-bilal/spec-kit-tinyspec) |
|
|
@@ -20,3 +20,7 @@ Community projects that extend, visualize, or build on Spec Kit:
|
|
|
20
20
|
- **[spec-kit-copilot](https://github.com/github/spec-kit-copilot)** — *First-party GitHub project.* A GitHub Copilot **skills plugin** that exposes the Spec Kit `specify` CLI to the Copilot agent in both the Copilot CLI and the GitHub Copilot app. It provides a focused skill per `specify` command group — setup, init, check, extensions, presets, bundles, workflows, workflow steps, and self-upgrade — so you can navigate and drive the entire Spec Kit ecosystem through natural language, letting Copilot decide when and how to run the right `specify` commands on your behalf.
|
|
21
21
|
|
|
22
22
|
- **[Spec Kit Workflow Cockpit](https://github.com/markuswondrak/spec-kit-workflow-cockpit)** — A terminal control panel for running Spec Kit workflows locally. It replaces the fragmented CLI flow with a single live view: see the whole workflow at a glance, follow progress node by node, read and edit feature documents at human review gates without leaving the terminal, and make gate decisions from clearly presented options with confirmation. It also provides a `cockpit-run-context` skill that connects your interactive coding session directly to the current workflow run.
|
|
23
|
+
|
|
24
|
+
- **[Specstride](https://github.com/mairp/specstride)** — A standalone implementation orchestrator that consumes a Spec Kit feature's `tasks.md` and uses its `spec.md`, `plan.md`, and contracts as read-only context. It runs a coding agent (Claude Code, Codex, or a local model) through the task phases one at a time. Each phase advances only when a separate LLM critic approves its evidence against the acceptance criteria and the code. Stuck phases get a diagnostician and a narrowed retry. An opt-in loop learns per-phase settings from run telemetry and reverts any change that makes things worse.
|
|
25
|
+
|
|
26
|
+
- **[Raaghu Spec Kit](https://marketplace.visualstudio.com/items?itemName=Waiin.raaghu-speckit)** — Raaghu Spec Kit brings specification-driven development into Azure DevOps. PMs, BAs, and QAs can generate, review, and manage structured specs, delivery plans, task breakdowns, and quality checklists — then create and refine Azure Boards work items — all from a guided AI workspace inside your project. Works with Azure DevOps Services and Azure DevOps Server (on-premises).
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
# How Spec Kit Develops Spec Kit: An Agentic SDLC
|
|
2
|
+
|
|
3
|
+
Spec Kit's own development combines agentic work with conventional software
|
|
4
|
+
delivery. Agents assess feature requests, help develop substantial changes,
|
|
5
|
+
and investigate reported bugs. The project also uses Spec Kit itself where
|
|
6
|
+
its processes fit, while deterministic tests and releases remain ordinary
|
|
7
|
+
GitHub Actions and maintainers make the decisions to proceed or merge.
|
|
8
|
+
|
|
9
|
+
Public workflows and a historical feature provide the evidence for this case
|
|
10
|
+
study. They show different paths through the project's SDLC, including where
|
|
11
|
+
the project uses Spec Kit itself.
|
|
12
|
+
|
|
13
|
+
## The project's software development life cycle
|
|
14
|
+
|
|
15
|
+
The traditional stages locate the project's practices across its SDLC.
|
|
16
|
+
|
|
17
|
+
```mermaid
|
|
18
|
+
flowchart LR
|
|
19
|
+
P["Planning"] --> Q["Requirements"] --> D["Design"] --> I["Development"]
|
|
20
|
+
I --> T["Testing"] --> R["Deployment"] --> M["Maintenance"]
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
These stages are a map, not a required sequence. Work can begin wherever
|
|
24
|
+
its starting material and goal call for it: a feature request in planning,
|
|
25
|
+
an existing change in testing, or a bug report in maintenance. Stages can
|
|
26
|
+
overlap, repeat, or be skipped; one feature issue can feed an assessment,
|
|
27
|
+
record requirements, and carry design discussion. The arrows show one
|
|
28
|
+
familiar path, not mandatory transitions between SDLC stages.
|
|
29
|
+
Feedback from maintenance can inform the next planning cycle.
|
|
30
|
+
|
|
31
|
+
## Who does the work
|
|
32
|
+
|
|
33
|
+
These modes illustrate how work gets done here; they are not an exhaustive
|
|
34
|
+
taxonomy or inventory of activities. A stage can combine them.
|
|
35
|
+
|
|
36
|
+
**Regular automation.** Scripts and bots follow predefined rules to run
|
|
37
|
+
checks, propose dependency updates, and publish releases. They do not
|
|
38
|
+
interpret feature requests or choose designs.
|
|
39
|
+
|
|
40
|
+
**Agent automation.** A coding agent interprets context and produces an
|
|
41
|
+
assessment, SDD artifacts, a proposed change, or a test report. It may run
|
|
42
|
+
through a contributor-invoked Spec Kit command, a contributor's own agent,
|
|
43
|
+
or a label-triggered repository workflow. Running an agent on GitHub
|
|
44
|
+
Actions does not make its reasoning a deterministic script.
|
|
45
|
+
|
|
46
|
+
A star (★) marks agentic work: before prose paragraphs and after
|
|
47
|
+
timeline items. A person (👤) highlights human contributions in the
|
|
48
|
+
stage narratives, including work done with an agent's help.
|
|
49
|
+
|
|
50
|
+
**Human work.** People can frame issues, discuss approaches, write or revise
|
|
51
|
+
changes, and review evidence, with or without an agent's help. Maintainers
|
|
52
|
+
apply labels to start repository workflows and decide whether to proceed
|
|
53
|
+
or merge. Those handoffs are human decisions, not evidence that people
|
|
54
|
+
authored every assessment, specification, fix, or test report.
|
|
55
|
+
|
|
56
|
+
## How the project works at each stage
|
|
57
|
+
|
|
58
|
+
### 1. Planning: assess feature requests
|
|
59
|
+
|
|
60
|
+
A feature can enter planning through the
|
|
61
|
+
[feature request form](https://github.com/github/spec-kit/blob/main/.github/ISSUE_TEMPLATE/feature_request.yml).
|
|
62
|
+
It asks for the problem, proposed solution, alternatives, component, and use
|
|
63
|
+
cases. The resulting issue starts with `needs-triage`; filing it does not
|
|
64
|
+
automatically launch an agent.
|
|
65
|
+
|
|
66
|
+
★ When a feature request is labeled for assessment, the
|
|
67
|
+
[feature-assess agentic workflow](https://github.com/github/spec-kit/blob/main/.github/workflows/feature-assess.md)
|
|
68
|
+
provisions the Specify CLI from the checkout, installs Spec Kit's bundled
|
|
69
|
+
[`assess` extension](assessment.md), and follows its intake, research, define,
|
|
70
|
+
shape, and decide stages. The agent posts its evidence and a `go`,
|
|
71
|
+
`needs-clarification`, or `kill` verdict to the issue. **This is an agentic
|
|
72
|
+
workflow using Spec Kit itself.**
|
|
73
|
+
|
|
74
|
+
👤 Contributors frame the request; maintainers decide whether to
|
|
75
|
+
initiate assessment and how to act on its verdict. A `go` finding informs
|
|
76
|
+
that planning decision; it does not automatically open a feature PR or
|
|
77
|
+
start SDD.
|
|
78
|
+
|
|
79
|
+
### 2. Requirements: record the intent in issues or specs
|
|
80
|
+
|
|
81
|
+
👤 Contributors can record early requirements in the same feature issue
|
|
82
|
+
through its problem statement, use cases, and acceptance criteria, then
|
|
83
|
+
clarify or revise the intent during discussion. For a bounded change, that
|
|
84
|
+
may be enough; it does not have to become an SDD `spec.md`.
|
|
85
|
+
|
|
86
|
+
★ For substantial changes, contributors can instead expand the requirements
|
|
87
|
+
with Spec Kit's core SDD commands against the project's constitution. Spec Kit
|
|
88
|
+
used this process on itself in the
|
|
89
|
+
[historical bundler work](https://github.com/github/spec-kit/commit/3fd1e54d4b237af6124bb967e2eae24c93685a89):
|
|
90
|
+
the commit contains a constitution and feature specification for the
|
|
91
|
+
`specify bundle` command. This is evidence of **SDD dogfooding for that
|
|
92
|
+
feature**; the bundler work is distinct from the current `feature-assess`
|
|
93
|
+
workflow. The
|
|
94
|
+
[contribution guide](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#does-spec-kit-use-spec-kit)
|
|
95
|
+
asks contributors to test relevant changes with SDD while allowing small fixes
|
|
96
|
+
to use the normal issue and PR process. Generated `specs/` artifacts are
|
|
97
|
+
normally gitignored; the linked commit preserves a historical snapshot.
|
|
98
|
+
|
|
99
|
+
### 3. Design: choose an approach at the right scale
|
|
100
|
+
|
|
101
|
+
👤 The feature form's proposed solution and alternatives can seed a
|
|
102
|
+
design discussion; contributors and maintainers can refine the approach
|
|
103
|
+
during PR review. A separate SDD plan is not required for every issue.
|
|
104
|
+
Larger changes need prior discussion and agreement with maintainers, as the
|
|
105
|
+
[contribution guide](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#submitting-a-pull-request)
|
|
106
|
+
explains. When decisions should remain useful across changes, the repository
|
|
107
|
+
keeps [CLI](https://github.com/github/spec-kit/blob/main/design/cli.md),
|
|
108
|
+
[integration](https://github.com/github/spec-kit/blob/main/design/integration.md),
|
|
109
|
+
and [workflow-step](https://github.com/github/spec-kit/blob/main/design/workflow-step.md)
|
|
110
|
+
design documents.
|
|
111
|
+
|
|
112
|
+
★ The [bundler SDD snapshot](https://github.com/github/spec-kit/commit/3fd1e54d4b237af6124bb967e2eae24c93685a89)
|
|
113
|
+
illustrates the deeper path: its plan, research, data model, contracts, and
|
|
114
|
+
tasks made the design actionable through `/speckit.plan` and
|
|
115
|
+
`/speckit.tasks`. This shows where Spec Kit itself was used without
|
|
116
|
+
presenting that level of detail as the default for every change.
|
|
117
|
+
|
|
118
|
+
### 4. Development: make reviewable changes
|
|
119
|
+
|
|
120
|
+
The [bundler implementation](https://github.com/github/spec-kit/pull/3070)
|
|
121
|
+
added `specify bundle` after the recorded SDD work. This is a concrete
|
|
122
|
+
specification-led feature in the project. Other bounded changes use the
|
|
123
|
+
ordinary issue, PR, review, and test process.
|
|
124
|
+
|
|
125
|
+
👤 Contributors can implement and revise changes directly or with an
|
|
126
|
+
agent's help. Maintainers review the resulting PR and its evidence, even
|
|
127
|
+
when an agent produced the proposed change.
|
|
128
|
+
|
|
129
|
+
★ Contributors can use their own agents, independently of the repository's
|
|
130
|
+
workflows. Because that work may not be visible in a diff, the
|
|
131
|
+
[contribution policy](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#ai-contributions-in-spec-kit)
|
|
132
|
+
requires disclosure of the tool, model, settings or mode, and extent of AI
|
|
133
|
+
assistance. Agent-authored commits and comments need their own attribution;
|
|
134
|
+
the known bug-fix and community-catalog workflows are exempt because their
|
|
135
|
+
agent identity is inherent. Disclosure provides provenance, not a lower
|
|
136
|
+
evidence or review bar.
|
|
137
|
+
|
|
138
|
+
### 5. Testing: verify both intent and behavior
|
|
139
|
+
|
|
140
|
+
★ The bundler work includes a
|
|
141
|
+
[convergence pass](https://github.com/github/spec-kit/commit/de1c8ce6765f07cd1c4728a251b95adbfa3a8d07)
|
|
142
|
+
that appended a missing task. This is one example of Spec Kit's SDD process
|
|
143
|
+
checking implementation against intent rather than treating the first pass
|
|
144
|
+
as complete. The
|
|
145
|
+
[bug-test workflow](https://github.com/github/spec-kit/blob/main/.github/workflows/bug-test.md)
|
|
146
|
+
uses an agent to select relevant tests, but the test commands themselves
|
|
147
|
+
still run deterministically.
|
|
148
|
+
|
|
149
|
+
Separately, conventional GitHub Actions run
|
|
150
|
+
[Python tests and Ruff](https://github.com/github/spec-kit/blob/main/.github/workflows/test.yml),
|
|
151
|
+
[Markdown linting for documentation and ShellCheck for shell scripts](https://github.com/github/spec-kit/blob/main/.github/workflows/lint.yml),
|
|
152
|
+
and [CodeQL](https://github.com/github/spec-kit/blob/main/.github/workflows/codeql.yml)
|
|
153
|
+
on PRs and pushes to `main`. Agentic convergence complements those
|
|
154
|
+
independent checks.
|
|
155
|
+
|
|
156
|
+
👤 Contributors supply tests and reproduction evidence for changes;
|
|
157
|
+
maintainers assess whether the patch and evidence address the stated need,
|
|
158
|
+
not just whether the checks passed.
|
|
159
|
+
|
|
160
|
+
### 6. Deployment: publish without an agent
|
|
161
|
+
|
|
162
|
+
The Spec Kit repository uses regular GitHub Actions for delivery. The
|
|
163
|
+
[manually dispatched release trigger](https://github.com/github/spec-kit/blob/main/.github/workflows/release-trigger.yml)
|
|
164
|
+
sets the version, creates a tag, and opens a release PR. The tag triggers a
|
|
165
|
+
conventional
|
|
166
|
+
[GitHub Release](https://github.com/github/spec-kit/blob/main/.github/workflows/release.yml).
|
|
167
|
+
A separately dispatched workflow
|
|
168
|
+
[builds and publishes to PyPI](https://github.com/github/spec-kit/blob/main/.github/workflows/publish-pypi.yml);
|
|
169
|
+
a `docs/` change on `main` triggers
|
|
170
|
+
[DocFX deployment](https://github.com/github/spec-kit/blob/main/.github/workflows/docs.yml).
|
|
171
|
+
These conventional Actions handle deterministic delivery without an agent
|
|
172
|
+
or a Spec Kit command.
|
|
173
|
+
|
|
174
|
+
👤 Maintainers choose when to start a release and whether to specify
|
|
175
|
+
a version rather than use the automatic patch increment. They later dispatch
|
|
176
|
+
PyPI publishing for that tag and review the release PR.
|
|
177
|
+
|
|
178
|
+
### 7. Maintenance: investigate, repair, and learn
|
|
179
|
+
|
|
180
|
+
👤 Reporters supply observed and expected behavior and reproduction
|
|
181
|
+
steps through the
|
|
182
|
+
[bug report form](https://github.com/github/spec-kit/blob/main/.github/ISSUE_TEMPLATE/bug_report.yml).
|
|
183
|
+
Maintainers triage the report, choose when to request each agentic step,
|
|
184
|
+
and review the proposed fix and test evidence before merging. Reports can
|
|
185
|
+
arise before or after release; a newly discovered need can feed the next
|
|
186
|
+
planning cycle instead of being folded into a repair.
|
|
187
|
+
|
|
188
|
+
★ The repository uses separate
|
|
189
|
+
[bug-assess](https://github.com/github/spec-kit/blob/main/.github/workflows/bug-assess.md),
|
|
190
|
+
[bug-fix](https://github.com/github/spec-kit/blob/main/.github/workflows/bug-fix.md),
|
|
191
|
+
and [bug-test](https://github.com/github/spec-kit/blob/main/.github/workflows/bug-test.md)
|
|
192
|
+
agentic workflows on issues. They separate diagnosis, remediation, and
|
|
193
|
+
verification with human-controlled handoffs; the fix is proposed as a draft
|
|
194
|
+
PR for maintainer review. **Today these project
|
|
195
|
+
workflows do not consume Spec Kit's bundled
|
|
196
|
+
[`bug` extension](bugfix.md)**, even though it offers a corresponding
|
|
197
|
+
assess, fix, test process for users. Having the workflows use that extension
|
|
198
|
+
is a direction for future work, not a current capability or a promised
|
|
199
|
+
release.
|
|
200
|
+
|
|
201
|
+
Agentic and conventional workflows both run on GitHub Actions. What changes
|
|
202
|
+
is whether an agent interprets evidence or proposes a change.
|
|
203
|
+
[Dependabot](https://github.com/github/spec-kit/blob/main/.github/dependabot.yml)
|
|
204
|
+
also proposes weekly pip and GitHub Actions dependency-update PRs for
|
|
205
|
+
maintainer review; it is conventional automation, not an agentic workflow.
|
|
206
|
+
|
|
207
|
+
## Extensibility and community practice
|
|
208
|
+
|
|
209
|
+
Extensibility cuts across this SDLC: the project builds and distributes
|
|
210
|
+
processes as well as using them. The team ships the
|
|
211
|
+
[`assess` bundle](https://github.com/github/spec-kit/tree/main/bundles/assess)
|
|
212
|
+
and [`bugfix` bundle](https://github.com/github/spec-kit/tree/main/bundles/bugfix),
|
|
213
|
+
each combining an extension with a resumable *Spec Kit workflow* and a human
|
|
214
|
+
review gate. It also ships the
|
|
215
|
+
[`lean` preset](https://github.com/github/spec-kit/tree/main/presets/lean)
|
|
216
|
+
to demonstrate an alternative way of shaping core SDD guidance. These are
|
|
217
|
+
Spec Kit's own [extensions, presets, workflows, and bundles](customization.md),
|
|
218
|
+
not the repository's GitHub Actions workflows.
|
|
219
|
+
|
|
220
|
+
★ Beyond core feature delivery, agentic community-submission workflows for
|
|
221
|
+
[extensions](https://github.com/github/spec-kit/blob/main/.github/workflows/add-community-extension.md),
|
|
222
|
+
[presets](https://github.com/github/spec-kit/blob/main/.github/workflows/add-community-preset.md),
|
|
223
|
+
and [bundles](https://github.com/github/spec-kit/blob/main/.github/workflows/add-community-bundle.md)
|
|
224
|
+
validate submission metadata and propose catalog changes in draft PRs for
|
|
225
|
+
maintainer review.
|
|
226
|
+
|
|
227
|
+
Catalog discovery does not audit or endorse community code; users must
|
|
228
|
+
review third-party components before use.
|
|
229
|
+
|
|
230
|
+
## How we went from SDLC to an agentic SDLC
|
|
231
|
+
|
|
232
|
+
Agentic practices were layered into an existing SDLC, not substituted for
|
|
233
|
+
conventional checks and releases. The commit history shows how that mix
|
|
234
|
+
emerged over time. These are selected milestones, not an exhaustive
|
|
235
|
+
changelog. The same star marks agentic milestones, including use of Spec
|
|
236
|
+
Kit's SDD process; conventional automation and policies are unmarked.
|
|
237
|
+
|
|
238
|
+
| Month | What changed |
|
|
239
|
+
| --- | --- |
|
|
240
|
+
| August 2025 | <ul><li><a href="https://github.com/github/spec-kit/commit/28fdfaa8">GitHub Release automation</a> was added.</li></ul> |
|
|
241
|
+
| September 2025 | <ul><li><a href="https://github.com/github/spec-kit/commit/4b98c20f">Documentation deployment</a> was added.</li><li><a href="https://github.com/github/spec-kit/commit/6f3e450c">Contribution guidelines</a> began requiring disclosure of AI assistance, including contributor-run agents.</li></ul> |
|
|
242
|
+
| October 2025 | <ul><li><a href="https://github.com/github/spec-kit/commit/33a07969">Markdown linting</a> was added to PR and <code>main</code> checks.</li></ul> |
|
|
243
|
+
| February 2026 | <ul><li><a href="https://github.com/github/spec-kit/pull/1622">Dependabot</a> began proposing weekly pip and GitHub Actions dependency-update PRs.</li><li>A <a href="https://github.com/github/spec-kit/commit/9402ebd0">CodeQL workflow</a> was added for code scanning.</li><li><a href="https://github.com/github/spec-kit/pull/1637">Pytest CI</a> began running tests on PRs and pushes to <code>main</code>.</li><li><a href="https://github.com/github/spec-kit/pull/1637">Ruff linting</a> was added to the Python CI workflow.</li></ul> |
|
|
244
|
+
| May 2026 | <ul><li><a href="https://github.com/github/spec-kit/pull/2655">Extension submissions</a> gained catalog validation and draft PRs. ★</li><li><a href="https://github.com/github/spec-kit/pull/2655">Preset submissions</a> gained catalog validation and draft PRs. ★</li></ul> |
|
|
245
|
+
| June 2026 | <ul><li>An <a href="https://github.com/github/spec-kit/pull/3023">agentic bug-assess workflow</a> was added. ★</li><li>The <a href="https://github.com/github/spec-kit/commit/3fd1e54d4b237af6124bb967e2eae24c93685a89">bundler feature</a> used Spec Kit's SDD process to produce its specification, plan, and tasks. ★</li><li><a href="https://github.com/github/spec-kit/pull/2915">PyPI publishing</a> gained a conventional workflow.</li><li><a href="https://github.com/github/spec-kit/pull/3126">ShellCheck</a> began checking shell scripts in CI.</li></ul> |
|
|
246
|
+
| July 2026 | <ul><li><a href="https://github.com/github/spec-kit/pull/3258">Bug-fix</a> extended the agentic issue workflow with a human handoff. ★</li><li><a href="https://github.com/github/spec-kit/pull/3257">Bug-test</a> added a separate verification stage. ★</li><li><a href="https://github.com/github/spec-kit/pull/3553">Bundle submissions</a> gained catalog automation. ★</li></ul> |
|
|
247
|
+
| August 2026 | <ul><li>The <a href="https://github.com/github/spec-kit/pull/4186">feature-assess workflow</a> began using Spec Kit's <code>assess</code> extension on feature requests. ★</li></ul> |
|
|
248
|
+
| September 2026 | <ul><li><a href="https://github.com/github/spec-kit/pull/4512">AI disclosure</a> began requiring agent, model, settings, and extent.</li><li><a href="https://github.com/github/spec-kit/pull/4752">Contribution guidance</a> added attribution for agent-authored commits and comments.</li></ul> |
|
|
249
|
+
|
|
250
|
+
This was not a handoff from conventional automation to agents. Tests, lint,
|
|
251
|
+
scanning, and publishing kept repeatable work in GitHub Actions, while
|
|
252
|
+
disclosure made contributor-run agents visible. The project added agentic
|
|
253
|
+
catalog and bug workflows for bounded tasks, used SDD on a substantial
|
|
254
|
+
feature, and later made feature assessment consume Spec Kit's `assess`
|
|
255
|
+
extension. These were separate additions, not steps every issue must follow.
|
|
256
|
+
|
|
257
|
+
Together they give the project choices. For features, `assess` can inform a
|
|
258
|
+
human decision about a request; substantial implementation work can use SDD
|
|
259
|
+
to specify and plan it, as the bundler did. There is no automatic handoff
|
|
260
|
+
between those processes. A small change can stay in an issue and PR, while
|
|
261
|
+
a bug can move through human-gated assessment, repair, and verification.
|
|
262
|
+
Code changes still face conventional checks and maintainer review; issue
|
|
263
|
+
verdicts and catalog proposals have their own human gates.
|
|
264
|
+
|
|
265
|
+
## A production practice, not a prescribed recipe
|
|
266
|
+
|
|
267
|
+
For this public open-source project, a new issue is untrusted input, not
|
|
268
|
+
permission to run an agent. A maintainer activates each repository-owned
|
|
269
|
+
agentic workflow with its label and decides when work advances; contributors
|
|
270
|
+
can also bring their own agents, subject to disclosure and review. These are
|
|
271
|
+
deliberate boundaries for this project, not inherent limits of Spec Kit.
|
|
272
|
+
|
|
273
|
+
A closed project with a different trust model could automate more handoffs
|
|
274
|
+
between assessment, specification, implementation, and testing, while
|
|
275
|
+
keeping permissions, evidence, and review appropriate to the risk. Spec Kit's
|
|
276
|
+
production mix is not a prescribed recipe: teams can adopt agents in
|
|
277
|
+
different places, with or without Spec Kit's processes. That mix can change
|
|
278
|
+
with the project's needs and practices.
|
|
279
|
+
|
|
280
|
+
Here, agentic does not mean human-free: contributors still bring problems,
|
|
281
|
+
requirements, and changes; maintainers steer product direction, guide
|
|
282
|
+
delivery, and review evidence. Conventional automation handles repeatable
|
|
283
|
+
checks and publishing, while agents help with bounded work that requires
|
|
284
|
+
interpretation. This division aims to focus human time on judgment, though
|
|
285
|
+
the timeline shows adoption rather than measured time savings.
|
|
@@ -78,8 +78,14 @@ ERROR: SPECIFY_INIT_DIR is not a Spec Kit project (no .specify/ directory): /hom
|
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
`SPECIFY_INIT_DIR` selects the **project**; `SPECIFY_FEATURE_DIRECTORY` selects
|
|
81
|
-
the **feature
|
|
82
|
-
|
|
81
|
+
the **feature**. A relative feature path is joined to that project root
|
|
82
|
+
without a containment check, so a value like `../shared-feature` still
|
|
83
|
+
resolves outside it; an absolute path is used as-is and may likewise point
|
|
84
|
+
outside the project root. Either way, the selected feature directory is not
|
|
85
|
+
required to live inside it — the project root identifies the Spec Kit project
|
|
86
|
+
and its command/configuration context, not a containment boundary for feature
|
|
87
|
+
documents. They compose: set both to pick a project and a feature
|
|
88
|
+
non-interactively. See the
|
|
83
89
|
[`SPECIFY_INIT_DIR` reference](../reference/core.md#environment-variables) for
|
|
84
90
|
the full contract and the two-axes model.
|
|
85
91
|
|
|
@@ -27,6 +27,9 @@ These are independent entry points, not mandatory phases. SDD ships in core.
|
|
|
27
27
|
Bug fixing and assessment are bundled, opt-in extensions. Assessment can stand
|
|
28
28
|
alone; a decision to proceed does not automatically start implementation.
|
|
29
29
|
|
|
30
|
+
See [how the Spec Kit project runs its agentic SDLC](guides/agentic-sdlc.md)
|
|
31
|
+
and where it uses Spec Kit itself.
|
|
32
|
+
|
|
30
33
|
Adding Spec Kit to an established codebase? Start with the
|
|
31
34
|
[existing-project guide](guides/existing-projects.md).
|
|
32
35
|
|
|
@@ -139,6 +142,10 @@ Community extensions like CI Guard and Architecture Guard add compliance gates a
|
|
|
139
142
|
## Explore the docs
|
|
140
143
|
|
|
141
144
|
<div class="nav-cards">
|
|
145
|
+
<a href="guides/agentic-sdlc.md" class="nav-card">
|
|
146
|
+
<strong>Spec Kit's Agentic SDLC</strong>
|
|
147
|
+
<span>How this project assesses, builds, tests, ships, and repairs changes</span>
|
|
148
|
+
</a>
|
|
142
149
|
<a href="quickstart.md" class="nav-card">
|
|
143
150
|
<strong>Spec-Driven Development</strong>
|
|
144
151
|
<span>Define, plan, implement, and converge on a feature</span>
|
|
@@ -198,4 +205,4 @@ Ready to start? [Choose your process](#choose-your-process).
|
|
|
198
205
|
|
|
199
206
|
</div>
|
|
200
207
|
|
|
201
|
-
<p class="text-end small text-body-secondary">Last updated: September
|
|
208
|
+
<p class="text-end small text-body-secondary">Last updated: September 28, 2026</p>
|
|
@@ -147,7 +147,12 @@ After initialization, you should see the following commands available in your co
|
|
|
147
147
|
- `/speckit.checklist` - Generate quality checklists
|
|
148
148
|
- `/speckit.constitution` - Create or update project principles
|
|
149
149
|
- `/speckit.converge` - Assess codebase against artifacts and append remaining tasks
|
|
150
|
-
- `/speckit.taskstoissues` - Convert tasks to issues
|
|
150
|
+
- `/speckit.taskstoissues` - Convert tasks to issues (moving to the bundled `github` extension as
|
|
151
|
+
`/speckit.github.taskstoissues`; install it with `specify extension add github`)
|
|
152
|
+
|
|
153
|
+
The `generic` integration scaffolds core commands or skills, but does not
|
|
154
|
+
register extension add-ons; installing `github` there does not make its
|
|
155
|
+
replacement command invokable. See the [GitHub extension's installation notes](https://github.com/github/spec-kit/blob/main/extensions/github/README.md#installation).
|
|
151
156
|
|
|
152
157
|
Scripts are installed into a variant subdirectory matching the chosen script type:
|
|
153
158
|
|
|
@@ -171,3 +171,6 @@ This command requires a GitHub `origin` remote and access to the GitHub MCP tool
|
|
|
171
171
|
for listing and creating issues. It creates issues only in the repository
|
|
172
172
|
identified by that remote and checks existing task IDs to avoid duplicates.
|
|
173
173
|
It is not required to implement tasks or converge on a feature.
|
|
174
|
+
|
|
175
|
+
> [!NOTE]
|
|
176
|
+
> GitHub issue tracking is moving out of core into the bundled, opt-in [`github` extension](https://github.com/github/spec-kit/blob/main/extensions/github/README.md). `/speckit.taskstoissues` still works and is unchanged, but its replacement, `/speckit.github.taskstoissues`, is available via `specify extension add github` for integrations that register extension add-ons. The `generic` integration does not register them in either commands or skills mode; see the [installation and migration notes](https://github.com/github/spec-kit/blob/main/extensions/github/README.md#installation).
|
|
@@ -174,6 +174,8 @@ from; `discovery-only` sources appear in `search` and `info` but refuse
|
|
|
174
174
|
installation. Inspect the active stack before installing a bundle from a
|
|
175
175
|
non-default source.
|
|
176
176
|
|
|
177
|
+
> **Vet both the bundle source and its component catalogs.** A project can supply its own bundle catalog and `install-allowed` component catalogs (extension, preset, workflow, and step) under `.specify/`; that project configuration existing is not evidence anything in it was reviewed. Before installing a bundle from an unfamiliar project, run `specify bundle catalog list` — and the equivalent `extension`/`preset`/`workflow catalog list` and `specify workflow step catalog list` commands for the components it pulls in — and treat any source you didn't add yourself as unvetted until you've reviewed it.
|
|
178
|
+
|
|
177
179
|
### List the Catalog Stack
|
|
178
180
|
|
|
179
181
|
```bash
|
|
@@ -52,11 +52,11 @@ specify init my-project --integration copilot --preset compliance
|
|
|
52
52
|
| ----------------- | ------------------------------------------------------------------------ |
|
|
53
53
|
| `SPECKIT_INTEGRATION_DEFAULT` | Override the fallback integration used by `specify init` when `--integration` is omitted (interactive prompt default and non-interactive fallback). Set it to any registered integration key (e.g. `gemini`, `claude`). An unrecognized value is ignored with a warning and the built-in default (`copilot`) is used. An explicit `--integration <key>` always takes precedence. |
|
|
54
54
|
| `SPECIFY_INIT_DIR` | Target a member project from outside its directory (e.g. a monorepo root) without `cd`, for non-interactive / CI use. Set it to the **project root** — the directory *containing* `.specify/` (relative paths resolve against the current directory). The path must exist and contain `.specify/`, otherwise the command errors and does **not** fall back to the current directory. Resolved once in the core root helper (`get_repo_root` in Bash, `Get-RepoRoot` in PowerShell), so it is honored by the core feature scripts (`/speckit.plan`, `/speckit.tasks`, …) and the Git extension's feature-branch creation, which inherit it. The `specify` CLI applies the **same** validation rules to every project-scoped subcommand (`specify integration …`, `specify extension …`, `specify workflow …`, `specify preset …`, and the rest that operate on a `.specify/` project), so those can target a member project too. When unset, Bash/PowerShell helpers keep their existing upward search; the `specify` CLI keeps its project-scoped resolver cwd-only unless a command explicitly defines broader detection (for example, bundle commands). |
|
|
55
|
-
| `SPECIFY_FEATURE_DIRECTORY` | Override the active feature directory
|
|
55
|
+
| `SPECIFY_FEATURE_DIRECTORY` | Override the active feature directory (takes precedence over `.specify/feature.json`). A relative path is joined to the project root without a containment check, so a value like `../shared-feature` still resolves outside it; an absolute path is used as-is and may likewise point outside the project root. The project root still identifies the Spec Kit project and its command/configuration context, but the selected feature directory itself is not required to live under it. Combine with `SPECIFY_INIT_DIR` to pick both the project and the feature non-interactively. |
|
|
56
56
|
| `SPECIFY_FEATURE` | Explicitly override the active feature **label** (e.g. `001-photo-albums`) — the identifier the core helpers report as the current feature/branch (`get_current_branch` in Bash, `Get-CurrentBranch` in PowerShell). Those helpers never inspect Git: when the variable is set they return it verbatim, and when it is unset they return an empty string. The basename fallback happens later — `get_feature_paths` / `Get-FeaturePathsEnv` substitute the resolved feature directory's basename so the reported label is still usable — so calling the named helpers directly does **not** give you that fallback. You set it yourself: the Bash and Python feature scripts only **print** a commented `export SPECIFY_FEATURE=…` / `$env:SPECIFY_FEATURE = …` hint for you to run, because a child process cannot change its parent's environment, and `/speckit.specify` persists `feature_directory` to `.specify/feature.json` instead of setting this variable. (The PowerShell feature scripts do assign `$env:SPECIFY_FEATURE`, but that only reaches you when the script runs inside your current PowerShell session.) It does **not** locate the feature directory: with only `SPECIFY_FEATURE` set, `get_feature_paths` fails with *"Feature directory not found. Set `SPECIFY_FEATURE_DIRECTORY` or run the specify command to create `.specify/feature.json`."* Use `SPECIFY_FEATURE_DIRECTORY` (above) or `.specify/feature.json` to select the directory. |
|
|
57
57
|
| `SPECIFY_FEATURE_NO_PERSIST` | Set to `1` or `true` to stop every core script from writing `.specify/feature.json`, even when it would otherwise persist `SPECIFY_FEATURE_DIRECTORY` on read. Useful when multiple agents run concurrently against the same checkout, each with its own `SPECIFY_FEATURE_DIRECTORY`: without it, each invocation's persist step can overwrite another agent's pinned feature directory. |
|
|
58
58
|
|
|
59
|
-
> **Two resolution axes.** `SPECIFY_INIT_DIR` selects the **project** (which directory contains `.specify/`); `SPECIFY_FEATURE_DIRECTORY` / `.specify/feature.json` select the **feature**
|
|
59
|
+
> **Two resolution axes.** `SPECIFY_INIT_DIR` selects the **project** (which directory contains `.specify/`); `SPECIFY_FEATURE_DIRECTORY` / `.specify/feature.json` select the **feature** — its default location is under `specs/` in that project, but an explicitly selected feature directory is not restricted to living inside it. They are independent — project first, then feature.
|
|
60
60
|
>
|
|
61
61
|
> **Version control.** `specify init` scaffolds a managed `.specify/.gitignore` that excludes machine-local state — `feature.json` (the current-feature pointer, rewritten on every feature switch) and per-machine extension `extensions/*/local-config.yml` overrides — while leaving everything else under `.specify/` (constitution, templates, scripts, extension config) shareable so teams stay aligned. Like the rest of `.specify/`'s shared scripts and templates, the file is tracked in the shared-infrastructure manifest: your edits are preserved on re-init and `specify init --here --force` restores the managed content. It is intentionally left in place by `specify integration uninstall`, which only removes the uninstalled agent's own files.
|
|
62
62
|
>
|
|
@@ -33,6 +33,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
|
|
|
33
33
|
| [Kimi Code](https://code.kimi.com/) | `kimi` | Skills-based integration; installs into `.kimi-code/skills/`. `--migrate-legacy` moves old `.kimi/skills/` installs to the new paths |
|
|
34
34
|
| [Kiro CLI](https://kiro.dev/docs/cli/) | `kiro-cli` | Kiro CLI does not substitute `$ARGUMENTS` in file-based prompts, so Spec Kit ships a prose fallback at render time (see [Manage prompts](https://kiro.dev/docs/cli/chat/manage-prompts/) and issue [#1926](https://github.com/github/spec-kit/issues/1926)). Alias: `--integration kiro` |
|
|
35
35
|
| [Lingma](https://lingma.aliyun.com/) | `lingma` | Skills-based integration; skills are installed automatically |
|
|
36
|
+
| [MiniMax Code](https://github.com/MiniMax-AI/minimax-code) | `mcode` | Skills-based integration; installs skills into `.minimax/skills` and invokes them as `/speckit-<command>`. Headless workflow dispatch uses `--permission full` so tool actions are not blocked by headless permission gating; set `SPECKIT_INTEGRATION_MCODE_EXTRA_ARGS="--permission smart"` to use MiniMax Code's stricter policy. |
|
|
36
37
|
| [Mistral Vibe](https://github.com/mistralai/mistral-vibe) | `vibe` | |
|
|
37
38
|
| [Muse Code](https://dev.meta.ai/docs/muse-code) | `muse` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `/speckit-<command>` |
|
|
38
39
|
| [Oh My Pi](https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent) | `omp` | Installs slash commands into `.omp/commands` |
|
|
@@ -317,6 +318,7 @@ The currently declared multi-install safe integrations are:
|
|
|
317
318
|
| `kilocode` | `.kilo/commands` |
|
|
318
319
|
| `kiro-cli` | `.kiro/prompts` |
|
|
319
320
|
| `lingma` | `.lingma/skills` |
|
|
321
|
+
| `mcode` | `.minimax/skills` |
|
|
320
322
|
| `omp` | `.omp/commands` |
|
|
321
323
|
| `opencode` | `.opencode/commands` |
|
|
322
324
|
| `pi` | `.pi/prompts` |
|
|
@@ -138,6 +138,8 @@ Changes the resolution priority of an installed preset. Lower numbers take prece
|
|
|
138
138
|
|
|
139
139
|
Preset catalogs control where `search` and `add` look for presets. Catalogs are checked in priority order (lower number = higher precedence).
|
|
140
140
|
|
|
141
|
+
> **A project's `.specify/preset-catalogs.yml` can point `add` and `search` at a catalog you didn't choose.** Before installing a preset in an unfamiliar project, run `specify preset catalog list` and inspect any catalog marked install-allowed — a project supplying that config, or marking a catalog install-allowed, is not evidence its presets were reviewed. Only mark a catalog `install_allowed` for one you authored or have vetted yourself; leave unfamiliar and community catalogs discovery-only.
|
|
142
|
+
|
|
141
143
|
### List Catalogs
|
|
142
144
|
|
|
143
145
|
```bash
|
|
@@ -156,7 +158,7 @@ specify preset catalog add <url>
|
|
|
156
158
|
| -------------------------------------------- | -------------------------------------------------- |
|
|
157
159
|
| `--name <name>` | Required. Unique name for the catalog |
|
|
158
160
|
| `--priority <N>` | Priority (default: 10; lower = higher precedence) |
|
|
159
|
-
| `--install-allowed / --no-install-allowed` | Whether presets can be installed from this catalog (default: discovery only) |
|
|
161
|
+
| `--install-allowed / --no-install-allowed` | Whether presets can be installed from this catalog (default: discovery only). Only enable for a catalog you own and vet; never enable it for an unvetted public catalog. |
|
|
160
162
|
| `--description <text>` | Optional description |
|
|
161
163
|
|
|
162
164
|
Adds a catalog to the project's `.specify/preset-catalogs.yml`.
|