specify-cli 0.11.5__tar.gz → 0.11.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/ISSUE_TEMPLATE/agent_request.yml +1 -1
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/ISSUE_TEMPLATE/bug_report.yml +30 -12
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/ISSUE_TEMPLATE/feature_request.yml +30 -12
- {specify_cli-0.11.5 → specify_cli-0.11.7}/CHANGELOG.md +30 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/CONTRIBUTING.md +1 -1
- {specify_cli-0.11.5 → specify_cli-0.11.7}/PKG-INFO +2 -2
- {specify_cli-0.11.5 → specify_cli-0.11.7}/README.md +1 -1
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/community/extensions.md +4 -2
- specify_cli-0.11.7/docs/guides/monorepo.md +111 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/installation.md +2 -1
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/reference/integrations.md +3 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/reference/workflows.md +2 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/toc.yml +2 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/upgrade.md +5 -1
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/EXTENSION-PUBLISHING-GUIDE.md +1 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/catalog.community.json +90 -15
- {specify_cli-0.11.5 → specify_cli-0.11.7}/integrations/catalog.json +19 -1
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/PUBLISHING.md +1 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/pyproject.toml +11 -1
- {specify_cli-0.11.5 → specify_cli-0.11.7}/scripts/powershell/check-prerequisites.ps1 +6 -6
- {specify_cli-0.11.5 → specify_cli-0.11.7}/scripts/powershell/create-new-feature.ps1 +5 -2
- {specify_cli-0.11.5 → specify_cli-0.11.7}/spec-driven.md +6 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/_utils.py +21 -4
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/agents.py +34 -4
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/extensions/__init__.py +14 -5
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/__init__.py +4 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/base.py +3 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/codex/__init__.py +1 -0
- specify_cli-0.11.7/src/specify_cli/integrations/firebender/__init__.py +33 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/manifest.py +24 -0
- specify_cli-0.11.7/src/specify_cli/integrations/omp/__init__.py +45 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/presets/__init__.py +5 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/shared_infra.py +144 -2
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/engine.py +51 -3
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/shell/__init__.py +1 -1
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_cli.py +200 -0
- specify_cli-0.11.7/tests/integrations/test_integration_firebender.py +45 -0
- specify_cli-0.11.7/tests/integrations/test_integration_omp.py +31 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_manifest.py +28 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_registry.py +1 -1
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_agent_config_consistency.py +151 -1
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_check_prerequisites_paths_only.py +60 -4
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_extension_skills.py +78 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_extensions.py +255 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_presets.py +84 -0
- specify_cli-0.11.7/tests/test_shared_infra_integrity.py +101 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_timestamp_branches.py +46 -0
- specify_cli-0.11.7/tests/test_utils.py +15 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_workflows.py +142 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/workflows/PUBLISHING.md +12 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.devcontainer/devcontainer.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.devcontainer/post-create.sh +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.editorconfig +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.gitattributes +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/CODEOWNERS +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/aw/actions-lock.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/dependabot.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/skills/add-community-extension/SKILL.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/RELEASE-PROCESS.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/add-community-extension.lock.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/add-community-extension.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/add-community-preset.lock.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/add-community-preset.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/bug-assess.lock.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/bug-assess.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/catalog-assign.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/codeql.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/docs.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/lint.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/publish-pypi.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/release-trigger.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/release.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/stale.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.github/workflows/test.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.gitignore +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.markdownlint-cli2.jsonc +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/.zenodo.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/AGENTS.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/CITATION.cff +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/CODE_OF_CONDUCT.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/DEVELOPMENT.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/LICENSE +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/SECURITY.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/SUPPORT.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/.gitignore +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/community/friends.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/community/overview.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/community/presets.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/community/walkthroughs.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/concepts/complex-features.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/concepts/sdd.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/concepts/spec-persistence.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/docfx.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/guides/evolving-specs.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/index.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/install/air-gapped.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/install/one-time.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/install/pipx.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/install/uv.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/local-development.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/quickstart.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/reference/authentication.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/reference/bundles.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/reference/core.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/reference/extensions.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/reference/overview.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/reference/presets.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/docs/template/public/main.css +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/examples/bundles/business-analyst/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/examples/bundles/business-analyst/bundle.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/examples/bundles/developer/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/examples/bundles/developer/bundle.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/examples/bundles/product-manager/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/examples/bundles/product-manager/bundle.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/examples/bundles/security-researcher/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/examples/bundles/security-researcher/bundle.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/EXTENSION-API-REFERENCE.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/EXTENSION-USER-GUIDE.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/agent-context/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/agent-context/agent-context-config.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/agent-context/extension.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/bug/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/bug/commands/speckit.bug.assess.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/bug/commands/speckit.bug.fix.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/bug/commands/speckit.bug.test.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/bug/extension.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/catalog.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/commands/speckit.git.commit.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/commands/speckit.git.feature.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/commands/speckit.git.initialize.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/commands/speckit.git.remote.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/commands/speckit.git.validate.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/config-template.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/extension.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/git-config.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/scripts/bash/auto-commit.sh +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/scripts/bash/create-new-feature-branch.sh +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/scripts/bash/git-common.sh +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/selftest/commands/selftest.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/selftest/extension.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/template/.gitignore +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/template/CHANGELOG.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/template/EXAMPLE-README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/template/LICENSE +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/template/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/template/commands/example.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/template/config-template.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/extensions/template/extension.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/integrations/CONTRIBUTING.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/integrations/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/integrations/catalog.community.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/media/bootstrap-claude-code.gif +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/media/logo_large.webp +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/media/logo_small.webp +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/media/spec-kit-video-header.jpg +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/media/specify_cli.gif +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/newsletters/2026-April.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/newsletters/2026-February.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/newsletters/2026-March.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/newsletters/2026-May.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/ARCHITECTURE.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/catalog.community.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/catalog.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/lean/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/lean/commands/speckit.constitution.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/lean/commands/speckit.implement.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/lean/commands/speckit.plan.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/lean/commands/speckit.specify.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/lean/commands/speckit.tasks.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/lean/preset.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/scaffold/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/scaffold/commands/speckit.specify.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/scaffold/preset.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/scaffold/templates/myext-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/scaffold/templates/spec-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/self-test/commands/speckit.specify.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/self-test/commands/speckit.wrap-test.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/self-test/preset.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/self-test/templates/agent-file-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/self-test/templates/checklist-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/self-test/templates/constitution-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/self-test/templates/plan-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/self-test/templates/spec-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/presets/self-test/templates/tasks-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/scripts/bash/check-prerequisites.sh +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/scripts/bash/common.sh +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/scripts/bash/create-new-feature.sh +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/scripts/bash/setup-plan.sh +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/scripts/bash/setup-tasks.sh +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/scripts/powershell/common.ps1 +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/scripts/powershell/setup-plan.ps1 +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/scripts/powershell/setup-tasks.ps1 +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/spec-kit.code-workspace +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/_agent_config.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/_assets.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/_console.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/_github_http.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/_init_options.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/_invocation_style.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/_version.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/authentication/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/authentication/azure_devops.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/authentication/base.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/authentication/config.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/authentication/github.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/authentication/http.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/commands_impl/catalog_config.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/lib/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/lib/project.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/lib/versioning.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/lib/yamlio.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/models/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/models/catalog.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/models/manifest.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/models/records.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/services/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/services/adapters.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/services/catalog_stack.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/services/conflict.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/services/installer.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/services/packager.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/services/primitives.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/services/references.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/services/resolver.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/bundler/services/validator.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/catalogs.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/commands/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/commands/bundle/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/commands/init.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/extensions/_commands.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integration_runtime.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integration_scaffold.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integration_state.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integration_status.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/_commands.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/_helpers.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/_install_commands.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/_migrate_commands.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/_query_commands.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/agy/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/amp/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/auggie/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/bob/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/catalog.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/claude/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/cline/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/copilot/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/devin/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/forge/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/gemini/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/generic/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/goose/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/hermes/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/iflow/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/junie/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/kimi/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/lingma/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/opencode/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/pi/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/qwen/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/roo/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/rovodev/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/shai/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/trae/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/vibe/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/windsurf/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/zcode/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/integrations/zed/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/presets/_commands.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/base.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/catalog.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/expressions.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/do_while/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/gate/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/if_then/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/switch/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/src/specify_cli/workflows/steps/while_loop/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/checklist-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/commands/analyze.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/commands/checklist.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/commands/clarify.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/commands/constitution.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/commands/converge.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/commands/implement.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/commands/plan.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/commands/specify.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/commands/tasks.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/commands/taskstoissues.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/constitution-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/plan-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/spec-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/tasks-template.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/templates/vscode-settings.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/auth_helpers.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/bundler_helpers.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/conftest.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/contract/test_bundle_cli.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/contract/test_catalog_schema.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/contract/test_manifest_schema.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/extensions/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/extensions/bug/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/extensions/bug/test_bug_extension.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/extensions/git/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/extensions/git/test_git_extension.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/extensions/test_extension_agent_context.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/hooks/TESTING.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/hooks/plan.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/hooks/spec.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/hooks/tasks.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/http_helpers.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integration/test_bundler_catalog_stack.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integration/test_bundler_init_install.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integration/test_bundler_install_flow.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integration/test_bundler_local_install.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integration/test_bundler_offline.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integration/test_bundler_security_paths.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/__init__.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/conftest.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_base.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_extra_args.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_agy.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_amp.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_auggie.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_base_markdown.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_base_skills.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_base_toml.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_base_yaml.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_bob.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_catalog.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_claude.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_cline.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_codebuddy.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_codex.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_copilot.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_cursor_agent.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_devin.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_forge.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_gemini.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_generic.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_goose.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_hermes.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_iflow.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_junie.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_kilocode.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_kimi.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_kiro_cli.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_lingma.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_opencode.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_pi.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_qodercli.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_qwen.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_roo.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_rovodev.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_scaffold.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_shai.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_state.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_subcommand.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_tabnine.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_trae.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_vibe.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_windsurf.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_zcode.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/integrations/test_integration_zed.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/self_upgrade_helpers.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_authentication.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_branch_numbering.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_check_tool.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_cli_version.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_commands_package.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_console_imports.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_extension_registration.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_extension_update_hardening.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_github_http.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_init_dir.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_live_transient_windows.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_merge.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_ps1_encoding.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_registrar_path_traversal.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_self_upgrade_detection.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_self_upgrade_execution.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_self_upgrade_guidance.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_self_upgrade_verification.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_setup_plan_feature_json.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_setup_plan_no_overwrite.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_setup_tasks.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_upgrade.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_utils_assets_imports.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_version_imports.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/test_workflow_run_without_project.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/unit/test_bundler_adapters.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/unit/test_bundler_catalog_config.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/unit/test_bundler_conflict.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/unit/test_bundler_packager.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/unit/test_bundler_primitives.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/unit/test_bundler_records.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/unit/test_bundler_references.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/unit/test_bundler_resolver.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/unit/test_bundler_validator.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/tests/unit/test_bundler_versioning.py +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/workflows/ARCHITECTURE.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/workflows/README.md +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/workflows/catalog.community.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/workflows/catalog.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/workflows/speckit/workflow.yml +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/workflows/step-catalog.community.json +0 -0
- {specify_cli-0.11.5 → specify_cli-0.11.7}/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**: Claude Code,
|
|
11
|
+
**Currently supported agents**: Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Cursor, Devin for Terminal, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Hermes Agent, IBM Bob, iFlow CLI, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, Roo Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, Windsurf, ZCode, Zed
|
|
12
12
|
|
|
13
13
|
- type: input
|
|
14
14
|
id: agent-name
|
|
@@ -62,24 +62,42 @@ body:
|
|
|
62
62
|
label: AI Agent
|
|
63
63
|
description: Which AI agent are you using?
|
|
64
64
|
options:
|
|
65
|
+
- Amp
|
|
66
|
+
- Antigravity
|
|
67
|
+
- Auggie CLI
|
|
65
68
|
- Claude Code
|
|
69
|
+
- Cline
|
|
70
|
+
- CodeBuddy
|
|
71
|
+
- Codex CLI
|
|
72
|
+
- Cursor
|
|
73
|
+
- Devin for Terminal
|
|
74
|
+
- Firebender
|
|
75
|
+
- Forge
|
|
66
76
|
- Gemini CLI
|
|
67
77
|
- GitHub Copilot
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
78
|
+
- Goose
|
|
79
|
+
- Hermes Agent
|
|
80
|
+
- IBM Bob
|
|
81
|
+
- iFlow CLI
|
|
82
|
+
- Junie
|
|
73
83
|
- Kilo Code
|
|
74
|
-
-
|
|
75
|
-
- Roo Code
|
|
76
|
-
- CodeBuddy
|
|
77
|
-
- Qoder CLI
|
|
84
|
+
- Kimi Code
|
|
78
85
|
- Kiro CLI
|
|
79
|
-
-
|
|
86
|
+
- Lingma
|
|
87
|
+
- Mistral Vibe
|
|
88
|
+
- Oh My Pi
|
|
89
|
+
- opencode
|
|
90
|
+
- Pi Coding Agent
|
|
91
|
+
- Qoder CLI
|
|
92
|
+
- Qwen Code
|
|
93
|
+
- Roo Code
|
|
94
|
+
- RovoDev ACLI
|
|
80
95
|
- SHAI
|
|
81
|
-
-
|
|
82
|
-
-
|
|
96
|
+
- Tabnine CLI
|
|
97
|
+
- Trae
|
|
98
|
+
- Windsurf
|
|
99
|
+
- ZCode
|
|
100
|
+
- Zed
|
|
83
101
|
- Not applicable
|
|
84
102
|
validations:
|
|
85
103
|
required: true
|
|
@@ -56,24 +56,42 @@ body:
|
|
|
56
56
|
description: Does this feature relate to a specific AI agent?
|
|
57
57
|
options:
|
|
58
58
|
- All agents
|
|
59
|
+
- Amp
|
|
60
|
+
- Antigravity
|
|
61
|
+
- Auggie CLI
|
|
59
62
|
- Claude Code
|
|
63
|
+
- Cline
|
|
64
|
+
- CodeBuddy
|
|
65
|
+
- Codex CLI
|
|
66
|
+
- Cursor
|
|
67
|
+
- Devin for Terminal
|
|
68
|
+
- Firebender
|
|
69
|
+
- Forge
|
|
60
70
|
- Gemini CLI
|
|
61
71
|
- GitHub Copilot
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
72
|
+
- Goose
|
|
73
|
+
- Hermes Agent
|
|
74
|
+
- IBM Bob
|
|
75
|
+
- iFlow CLI
|
|
76
|
+
- Junie
|
|
67
77
|
- Kilo Code
|
|
68
|
-
-
|
|
69
|
-
- Roo Code
|
|
70
|
-
- CodeBuddy
|
|
71
|
-
- Qoder CLI
|
|
78
|
+
- Kimi Code
|
|
72
79
|
- Kiro CLI
|
|
73
|
-
-
|
|
80
|
+
- Lingma
|
|
81
|
+
- Mistral Vibe
|
|
82
|
+
- Oh My Pi
|
|
83
|
+
- opencode
|
|
84
|
+
- Pi Coding Agent
|
|
85
|
+
- Qoder CLI
|
|
86
|
+
- Qwen Code
|
|
87
|
+
- Roo Code
|
|
88
|
+
- RovoDev ACLI
|
|
74
89
|
- SHAI
|
|
75
|
-
-
|
|
76
|
-
-
|
|
90
|
+
- Tabnine CLI
|
|
91
|
+
- Trae
|
|
92
|
+
- Windsurf
|
|
93
|
+
- ZCode
|
|
94
|
+
- Zed
|
|
77
95
|
- Not applicable
|
|
78
96
|
|
|
79
97
|
- type: textarea
|
|
@@ -2,6 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- insert new changelog below this comment -->
|
|
4
4
|
|
|
5
|
+
## [0.11.7] - 2026-06-24
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- feat(extensions): verify catalog archive sha256 before install (#3080)
|
|
10
|
+
- fix(workflows): validate requires keys and reject phantom permissions gate (#3079)
|
|
11
|
+
- fix(scripts): use case-sensitive match for acronym retention in PS branch names (#3130)
|
|
12
|
+
- feat(integrations): add omp support (#3107)
|
|
13
|
+
- fix: render valid TOML when a command body contains backslashes (#3135)
|
|
14
|
+
- harden: reject shell=True in run_command (#3132)
|
|
15
|
+
- docs: add monorepo guide (#3084)
|
|
16
|
+
- fix(scripts): send check-prerequisites.ps1 errors to stderr (#3123)
|
|
17
|
+
- fix: write Codex dev skills as files (#2988)
|
|
18
|
+
- chore: release 0.11.6, begin 0.11.7.dev0 development (#3121)
|
|
19
|
+
|
|
20
|
+
## [0.11.6] - 2026-06-23
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- [extension] Update Spec Kit Preview extension to v1.1.0 and sync Firebender agent lists (#3116)
|
|
25
|
+
- Add Spec Kit Discovery Extension to community catalog (#3119)
|
|
26
|
+
- Update Architecture Workflow extension to v1.2.1 (#3118)
|
|
27
|
+
- docs: clarify project-defined constitution articles (#2994)
|
|
28
|
+
- Add Intake extension to community catalog (#3117)
|
|
29
|
+
- feat: add Firebender integration (Android Studio / IntelliJ) (#3077)
|
|
30
|
+
- Update DocGuard — CDD Enforcement extension to v0.28.0 (#3115)
|
|
31
|
+
- chore: sync issue template agent lists (#3052)
|
|
32
|
+
- fix(shared-infra): remove stale managed scripts the core no longer ships (#3076) (#3098)
|
|
33
|
+
- chore: release 0.11.5, begin 0.11.6.dev0 development (#3105)
|
|
34
|
+
|
|
5
35
|
## [0.11.5] - 2026-06-22
|
|
6
36
|
|
|
7
37
|
### Changed
|
|
@@ -167,7 +167,7 @@ the command templates in templates/commands/ to understand what each command
|
|
|
167
167
|
invokes. Use these mapping rules:
|
|
168
168
|
|
|
169
169
|
- templates/commands/X.md → the command it defines
|
|
170
|
-
- scripts/bash/Y.sh or scripts/powershell/Y.ps1 → every command that invokes that script (grep templates/commands/ for the script name). Also check transitive dependencies: if the changed script is sourced by other scripts (e.g., common.sh is sourced by create-new-feature.sh, check-prerequisites.sh, setup-plan.sh
|
|
170
|
+
- scripts/bash/Y.sh or scripts/powershell/Y.ps1 → every command that invokes that script (grep templates/commands/ for the script name). Also check transitive dependencies: if the changed script is sourced by other scripts (e.g., common.sh is sourced by create-new-feature.sh, check-prerequisites.sh, setup-plan.sh), then every command invoking those downstream scripts is also affected
|
|
171
171
|
- templates/Z-template.md → every command that consumes that template during execution
|
|
172
172
|
- src/specify_cli/*.py → CLI commands (`specify init`, `specify check`, `specify extension *`, `specify preset *`); test the affected CLI command and, for init/scaffolding changes, at minimum test /speckit.specify
|
|
173
173
|
- extensions/X/commands/* → the extension command it defines
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specify-cli
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.7
|
|
4
4
|
Summary: Specify CLI, part of GitHub Spec Kit. A tool to bootstrap your projects for Spec-Driven Development (SDD).
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Requires-Python: >=3.11
|
|
@@ -423,7 +423,7 @@ specify init . --force --integration copilot
|
|
|
423
423
|
specify init --here --force --integration copilot
|
|
424
424
|
```
|
|
425
425
|
|
|
426
|
-
The CLI will check if you have Claude Code, Gemini CLI, Cursor CLI, Qwen CLI, opencode, Codex CLI, Qoder CLI, Tabnine CLI, Kiro CLI, Pi, Forge, Goose, Mistral Vibe, or ZCode installed. If you do not, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command:
|
|
426
|
+
The CLI will check if you have Claude Code, Gemini CLI, Cursor CLI, Qwen CLI, opencode, Codex CLI, Qoder CLI, Tabnine CLI, Kiro CLI, Pi, Oh My Pi, Forge, Goose, Mistral Vibe, or ZCode installed. If you do not, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command:
|
|
427
427
|
|
|
428
428
|
```bash
|
|
429
429
|
specify init <project_name> --integration copilot --ignore-agent-tools
|
|
@@ -403,7 +403,7 @@ specify init . --force --integration copilot
|
|
|
403
403
|
specify init --here --force --integration copilot
|
|
404
404
|
```
|
|
405
405
|
|
|
406
|
-
The CLI will check if you have Claude Code, Gemini CLI, Cursor CLI, Qwen CLI, opencode, Codex CLI, Qoder CLI, Tabnine CLI, Kiro CLI, Pi, Forge, Goose, Mistral Vibe, or ZCode installed. If you do not, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command:
|
|
406
|
+
The CLI will check if you have Claude Code, Gemini CLI, Cursor CLI, Qwen CLI, opencode, Codex CLI, Qoder CLI, Tabnine CLI, Kiro CLI, Pi, Oh My Pi, Forge, Goose, Mistral Vibe, or ZCode installed. If you do not, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command:
|
|
407
407
|
|
|
408
408
|
```bash
|
|
409
409
|
specify init <project_name> --integration copilot --ignore-agent-tools
|
|
@@ -31,7 +31,7 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
31
31
|
| API Evolve | Managed API contract evolution — breaking-change detection, semver enforcement, deprecation orchestration, and lifecycle gates across REST, GraphQL, and gRPC | `process` | Read+Write | [spec-kit-api-evolve](https://github.com/Quratulain-bilal/spec-kit-api-evolve) |
|
|
32
32
|
| Architect Impact Previewer | Predicts architectural impact, complexity, and risks of proposed changes before implementation. | `visibility` | Read-only | [spec-kit-architect-preview](https://github.com/UmmeHabiba1312/spec-kit-architect-preview) |
|
|
33
33
|
| Architecture Guard | Framework-agnostic architecture review extension for validating implementation against governance and architecture constitutions, detecting architectural drift, and generating non-blocking refactor tasks | `process` | Read+Write | [spec-kit-architecture-guard](https://github.com/DyanGalih/spec-kit-architecture-guard) |
|
|
34
|
-
| Architecture Workflow | Generate or reverse project-level 4+1 architecture
|
|
34
|
+
| Architecture Workflow | Generate or reverse project-level 4+1 architecture views as separate commands | `docs` | Read+Write | [spec-kit-arch](https://github.com/bigsmartben/spec-kit-arch) |
|
|
35
35
|
| Archive Extension | Archive merged features into main project memory. | `docs` | Read+Write | [spec-kit-archive](https://github.com/stn1slv/spec-kit-archive) |
|
|
36
36
|
| Azure DevOps Integration | Sync user stories and tasks to Azure DevOps work items using OAuth authentication | `integration` | Read+Write | [spec-kit-azure-devops](https://github.com/pragya247/spec-kit-azure-devops) |
|
|
37
37
|
| Blueprint | Stay code-literate in AI-driven development: review a complete code blueprint for every task from spec artifacts before /speckit.implement runs | `docs` | Read+Write | [spec-kit-blueprint](https://github.com/chordpli/spec-kit-blueprint) |
|
|
@@ -57,7 +57,7 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
57
57
|
| GitHub Issues Integration 1 | Generate spec artifacts from GitHub Issues - import issues, sync updates, and maintain bidirectional traceability | `integration` | Read+Write | [spec-kit-github-issues](https://github.com/Fatima367/spec-kit-github-issues) |
|
|
58
58
|
| GitHub Issues Integration 2 | Creates and syncs local specs from an existing GitHub issue | `integration` | Read+Write | [spec-kit-issue](https://github.com/aaronrsun/spec-kit-issue) |
|
|
59
59
|
| Improve Extension | Audits any codebase as a senior advisor and writes prioritized, self-contained spec prompts under specs/ that the spec-kit lifecycle can process | `process` | Read+Write | [spec-kit-improve](https://github.com/d0whc3r/spec-kit-improve) |
|
|
60
|
-
|
|
|
60
|
+
| Intake | Normalize PRD, design, and test-case evidence into SDD-ready intake artifacts | `docs` | Read+Write | [spec-kit-intake](https://github.com/bigsmartben/spec-kit-intake) |
|
|
61
61
|
| Intelligent Agent Orchestrator | Cross-catalog agent discovery and intelligent prompt-to-command routing | `process` | Read+Write | [spec-kit-orchestrator](https://github.com/pragya247/spec-kit-orchestrator) |
|
|
62
62
|
| Iterate | Iterate on spec documents with a two-phase define-and-apply workflow — refine specs mid-implementation and go straight back to building | `docs` | Read+Write | [spec-kit-iterate](https://github.com/imviancagrace/spec-kit-iterate) |
|
|
63
63
|
| Jira Integration | Create Jira Epics, Stories, and Issues from spec-kit specifications and task breakdowns with configurable hierarchy and custom field support | `integration` | Read+Write | [spec-kit-jira](https://github.com/mbachorik/spec-kit-jira) |
|
|
@@ -110,6 +110,8 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
110
110
|
| Spec Changelog | Auto-generate changelogs and release notes from spec git history and requirement diffs | `docs` | Read-only | [spec-kit-changelog](https://github.com/Quratulain-bilal/spec-kit-changelog) |
|
|
111
111
|
| Spec Critique Extension | Dual-lens critical review of spec and plan from product strategy and engineering risk perspectives | `docs` | Read-only | [spec-kit-critique](https://github.com/arunt14/spec-kit-critique) |
|
|
112
112
|
| Spec Diagram | Auto-generate Mermaid diagrams of SDD workflow state, feature progress, and task dependencies | `visibility` | Read-only | [spec-kit-diagram-](https://github.com/Quratulain-bilal/spec-kit-diagram-) |
|
|
113
|
+
| Spec Kit Discovery Extension | Run technical discovery commands for feasibility, technology selection, scenario-specific technical decisions, legacy codebase assessment, implementation understanding, and proof-of-concept validation | `process` | Read+Write | [spec-kit-discovery](https://github.com/bigsmartben/spec-kit-discovery) |
|
|
114
|
+
| Spec Kit Preview | Generate evidence-backed low, mid, or high fidelity previews from Spec Kit artifacts as Markdown or self-contained HTML | `docs` | Read+Write | [spec-kit-preview](https://github.com/bigsmartben/spec-kit-preview) |
|
|
113
115
|
| Spec Kit Schedule | Optimal multi-agent task scheduling via CP-SAT — DAG precedence, hallucination-aware caps, file-conflict avoidance, stochastic durations, replanning, and interactive HTML output | `process` | Read+Write | [spec-kit-schedule](https://github.com/jfranc38/spec-kit-schedule) |
|
|
114
116
|
| Spec Kit TLDR | Render a feature's spec.md / plan.md into a review-oriented TLDR (self-contained HTML dashboard + PR-native Markdown) that surfaces risks for faster PR review. | `visibility` | Read+Write | [speckit-tldr](https://github.com/qurore/speckit-tldr) |
|
|
115
117
|
| Spec Orchestrator | Cross-feature orchestration — track state, select tasks, and detect conflicts across parallel specs | `process` | Read-only | [spec-kit-orchestrator](https://github.com/Quratulain-bilal/spec-kit-orchestrator) |
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Using Spec Kit in a Monorepo
|
|
2
|
+
|
|
3
|
+
A Spec Kit project is **directory-scoped**: the project is whichever directory
|
|
4
|
+
contains `.specify/`. A monorepo can hold several independent Spec Kit projects
|
|
5
|
+
under one repository root, each with its own `.specify/`, `specs/`, constitution,
|
|
6
|
+
and feature numbering.
|
|
7
|
+
|
|
8
|
+
Root resolution already prefers the **nearest** `.specify/` over the Git
|
|
9
|
+
toplevel, so commands run from inside a member project resolve to that project,
|
|
10
|
+
not the repo root.
|
|
11
|
+
|
|
12
|
+
## Layout
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
my-monorepo/
|
|
16
|
+
├── .git/ # one Git repository at the root
|
|
17
|
+
├── apps/
|
|
18
|
+
│ ├── web/
|
|
19
|
+
│ │ └── .specify/ # Spec Kit project "web"
|
|
20
|
+
│ │ └── memory/constitution.md
|
|
21
|
+
│ └── api/
|
|
22
|
+
│ └── .specify/ # Spec Kit project "api"
|
|
23
|
+
│ └── memory/constitution.md
|
|
24
|
+
└── packages/
|
|
25
|
+
└── ui/
|
|
26
|
+
└── .specify/ # Spec Kit project "ui"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Initialize each member project independently:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
specify init apps/web --integration claude
|
|
33
|
+
specify init apps/api --integration claude
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Each project keeps its own `specs/` directory and numbers features
|
|
37
|
+
independently (`apps/web/specs/001-…`, `apps/api/specs/001-…`).
|
|
38
|
+
|
|
39
|
+
## Working inside a member project
|
|
40
|
+
|
|
41
|
+
The default workflow is unchanged: change into the project directory and run the
|
|
42
|
+
slash commands. Root resolution finds the nearest `.specify/`.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
cd apps/web
|
|
46
|
+
# then run /speckit.specify, /speckit.plan, … in your agent
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Targeting a member project from the repo root
|
|
50
|
+
|
|
51
|
+
For non-interactive or CI runs where you do not want to `cd`, set
|
|
52
|
+
**`SPECIFY_INIT_DIR`** to the member project root (the directory *containing*
|
|
53
|
+
`.specify/`). Relative paths resolve against the current directory.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# operate on apps/web from the monorepo root (no cd required)
|
|
57
|
+
export SPECIFY_INIT_DIR=apps/web
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
The path must exist and contain `.specify/`. If it does not, the command
|
|
61
|
+
**errors and does not fall back** to the current directory or the Git toplevel.
|
|
62
|
+
This is deliberate: a typo never writes specs into the wrong project. A
|
|
63
|
+
nonexistent path is reported as you typed it; a path that exists but is not a
|
|
64
|
+
Spec Kit project is reported as its resolved absolute path:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
# SPECIFY_INIT_DIR=apps/wbe (typo: no such directory)
|
|
68
|
+
ERROR: SPECIFY_INIT_DIR does not point to an existing directory: apps/wbe
|
|
69
|
+
|
|
70
|
+
# SPECIFY_INIT_DIR=apps (exists, but has no .specify/ of its own)
|
|
71
|
+
ERROR: SPECIFY_INIT_DIR is not a Spec Kit project (no .specify/ directory): /home/you/my-monorepo/apps
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
`SPECIFY_INIT_DIR` selects the **project**; `SPECIFY_FEATURE_DIRECTORY` selects
|
|
75
|
+
the **feature** within it. They compose: set both to pick a project and a
|
|
76
|
+
feature non-interactively. See the
|
|
77
|
+
[`SPECIFY_INIT_DIR` reference](../reference/core.md#environment-variables) for
|
|
78
|
+
the full contract and the two-axes model.
|
|
79
|
+
|
|
80
|
+
## How `SPECIFY_INIT_DIR` reaches your agent
|
|
81
|
+
|
|
82
|
+
`SPECIFY_INIT_DIR` is read by the shell scripts that the slash commands invoke
|
|
83
|
+
(`get_repo_root` in Bash, `Get-RepoRoot` in PowerShell). It takes effect only
|
|
84
|
+
when it is present in the environment of the shell that runs those scripts.
|
|
85
|
+
|
|
86
|
+
- **Scripted / CI runs:** export it in the same shell that drives the commands;
|
|
87
|
+
it is reliable there.
|
|
88
|
+
- **Interactive agents:** whether an exported variable reaches the shell tool an
|
|
89
|
+
agent uses is agent-specific. Export `SPECIFY_INIT_DIR` *before* launching the
|
|
90
|
+
agent, and verify once (e.g. run `/speckit.specify` and confirm the new feature
|
|
91
|
+
landed under the intended project's `specs/`).
|
|
92
|
+
|
|
93
|
+
## Git in a monorepo
|
|
94
|
+
|
|
95
|
+
> [!NOTE]
|
|
96
|
+
> Spec Kit project files are scoped to the **resolved project root**, but Git
|
|
97
|
+
> operations still run in the containing Git work tree. In a monorepo with a
|
|
98
|
+
> single Git repository at the root and projects in subdirectories, feature
|
|
99
|
+
> branch creation creates or switches branches in the shared root repository.
|
|
100
|
+
> Spec directories still live under the selected member project, while the Git
|
|
101
|
+
> branch namespace is shared by the whole monorepo. Manage branches and commits
|
|
102
|
+
> at the repository root, or initialize Git per member project if you want
|
|
103
|
+
> isolated per-project branch namespaces.
|
|
104
|
+
|
|
105
|
+
## Constitutions
|
|
106
|
+
|
|
107
|
+
Each member project has its own `.specify/memory/constitution.md` and
|
|
108
|
+
`/speckit.constitution` edits the local project's file. Spec Kit does not provide
|
|
109
|
+
a built-in base/inheritance mechanism; if you want one constitution to reference
|
|
110
|
+
shared rules elsewhere in the monorepo, you need to maintain that wiring yourself.
|
|
111
|
+
Otherwise, duplicate or sync shared engineering rules per project.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## Prerequisites
|
|
4
4
|
|
|
5
5
|
- **Linux/macOS** (or Windows; PowerShell scripts now supported without WSL)
|
|
6
|
-
- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), [Codebuddy CLI](https://www.codebuddy.ai/cli), [Gemini CLI](https://github.com/google-gemini/gemini-cli),
|
|
6
|
+
- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), [Codebuddy CLI](https://www.codebuddy.ai/cli), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [Pi Coding Agent](https://pi.dev), or [Oh My Pi](https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent)
|
|
7
7
|
- [uv](https://docs.astral.sh/uv/) for package management (recommended) or [pipx](https://pipx.pypa.io/) for persistent installation
|
|
8
8
|
- [Python 3.11+](https://www.python.org/downloads/)
|
|
9
9
|
- [Git](https://git-scm.com/downloads) _(optional — required only when the git extension is enabled)_
|
|
@@ -51,6 +51,7 @@ specify init <project_name> --integration gemini
|
|
|
51
51
|
specify init <project_name> --integration copilot
|
|
52
52
|
specify init <project_name> --integration codebuddy
|
|
53
53
|
specify init <project_name> --integration pi
|
|
54
|
+
specify init <project_name> --integration omp
|
|
54
55
|
```
|
|
55
56
|
|
|
56
57
|
### Specify Script Type (Shell vs PowerShell)
|
|
@@ -15,6 +15,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
|
|
|
15
15
|
| [Codex CLI](https://github.com/openai/codex) | `codex` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `$speckit-<command>` |
|
|
16
16
|
| [Cursor](https://cursor.sh/) | `cursor-agent` | |
|
|
17
17
|
| [Devin for Terminal](https://cli.devin.ai/docs) | `devin` | Skills-based integration; installs skills into `.devin/skills/` and invokes them as `/speckit-<command>` |
|
|
18
|
+
| [Firebender](https://firebender.com/) | `firebender` | IDE-based agent for Android Studio / IntelliJ |
|
|
18
19
|
| [Forge](https://forgecode.dev/) | `forge` | |
|
|
19
20
|
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `gemini` | |
|
|
20
21
|
| [GitHub Copilot](https://code.visualstudio.com/) | `copilot` | |
|
|
@@ -28,6 +29,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
|
|
|
28
29
|
| [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` |
|
|
29
30
|
| [Lingma](https://lingma.aliyun.com/) | `lingma` | Skills-based integration; skills are installed automatically |
|
|
30
31
|
| [Mistral Vibe](https://github.com/mistralai/mistral-vibe) | `vibe` | |
|
|
32
|
+
| [Oh My Pi](https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent) | `omp` | Installs slash commands into `.omp/commands` |
|
|
31
33
|
| [opencode](https://opencode.ai/) | `opencode` | |
|
|
32
34
|
| [Pi Coding Agent](https://pi.dev) | `pi` | Pi doesn't have MCP support out of the box, so `taskstoissues` won't work as intended. MCP support can be added via [extensions](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent#extensions) |
|
|
33
35
|
| [Qoder CLI](https://qoder.com/cli) | `qodercli` | |
|
|
@@ -185,6 +187,7 @@ The currently declared multi-install safe integrations are:
|
|
|
185
187
|
| `codebuddy` | `.codebuddy/commands`, `CODEBUDDY.md` |
|
|
186
188
|
| `codex` | `.agents/skills`, `AGENTS.md` |
|
|
187
189
|
| `cursor-agent` | `.cursor/skills`, `.cursor/rules/specify-rules.mdc` |
|
|
190
|
+
| `firebender` | `.firebender/commands`, `.firebender/rules/specify-rules.mdc` |
|
|
188
191
|
| `gemini` | `.gemini/commands`, `GEMINI.md` |
|
|
189
192
|
| `iflow` | `.iflow/commands`, `IFLOW.md` |
|
|
190
193
|
| `junie` | `.junie/commands`, `.junie/AGENTS.md` |
|
|
@@ -270,6 +270,8 @@ specify workflow run speckit -i spec="Build a kanban board with drag-and-drop ta
|
|
|
270
270
|
| `fan-out` | Dispatch a step for each item in a list |
|
|
271
271
|
| `fan-in` | Aggregate results from a fan-out step |
|
|
272
272
|
|
|
273
|
+
> **Security note:** a `shell` step runs a local command with **your** privileges. There is no capability sandbox — `requires` is an advisory pre-condition block (spec-kit version, integrations), not a runtime gate, so it does **not** restrict what a step can do. In particular there is no `requires.permissions` capability gate: it is rejected by validation precisely because it would imply a sandbox that does not exist. Review any catalog or downloaded workflow before running it, and use a `gate` step to require explicit approval before sensitive or destructive shell commands.
|
|
274
|
+
|
|
273
275
|
## Expressions
|
|
274
276
|
|
|
275
277
|
Steps can reference inputs and previous step outputs using `{{ expression }}` syntax:
|
|
@@ -308,6 +308,7 @@ Alternatively, run the `/speckit.specify` command which creates `.specify/featur
|
|
|
308
308
|
ls -la .gemini/commands/ # Gemini
|
|
309
309
|
ls -la .cursor/skills/ # Cursor
|
|
310
310
|
ls -la .pi/prompts/ # Pi Coding Agent
|
|
311
|
+
ls -la .omp/commands/ # Oh My Pi
|
|
311
312
|
```
|
|
312
313
|
|
|
313
314
|
3. **Check agent-specific setup:**
|
|
@@ -427,7 +428,7 @@ The `specify` CLI tool is used for:
|
|
|
427
428
|
- **Upgrades:** `specify init --here --force` to update templates and commands
|
|
428
429
|
- **Diagnostics:** `specify check` to verify tool installation
|
|
429
430
|
|
|
430
|
-
Once you've run `specify init`, the slash commands (like `/speckit.specify`, `/speckit.plan`, etc.) are **permanently installed** in your project's agent folder (`.claude/`, `.github/prompts/`, `.pi/prompts/`, etc.). Your AI coding agent reads these command files directly—no need to run `specify` again.
|
|
431
|
+
Once you've run `specify init`, the slash commands (like `/speckit.specify`, `/speckit.plan`, etc.) are **permanently installed** in your project's agent folder (`.claude/`, `.github/prompts/`, `.pi/prompts/`, `.omp/commands/`, etc.). Your AI coding agent reads these command files directly—no need to run `specify` again.
|
|
431
432
|
|
|
432
433
|
**If your agent isn't recognizing slash commands:**
|
|
433
434
|
|
|
@@ -442,6 +443,9 @@ Once you've run `specify init`, the slash commands (like `/speckit.specify`, `/s
|
|
|
442
443
|
|
|
443
444
|
# For Pi
|
|
444
445
|
ls -la .pi/prompts/
|
|
446
|
+
|
|
447
|
+
# For Oh My Pi
|
|
448
|
+
ls -la .omp/commands/
|
|
445
449
|
```
|
|
446
450
|
|
|
447
451
|
2. **Restart your IDE/editor completely** (not just reload window)
|
|
@@ -320,6 +320,7 @@ A: Extensions should be free and open-source. Commercial support/services are al
|
|
|
320
320
|
"author": "string (required)",
|
|
321
321
|
"version": "string (required, semver)",
|
|
322
322
|
"download_url": "string (required, valid URL)",
|
|
323
|
+
"sha256": "string (optional, SHA-256 hex digest of the archive at download_url; verified before install)",
|
|
323
324
|
"repository": "string (required, valid URL)",
|
|
324
325
|
"homepage": "string (optional, valid URL)",
|
|
325
326
|
"documentation": "string (optional, valid URL)",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema_version": "1.0",
|
|
3
|
-
"updated_at": "2026-06-
|
|
3
|
+
"updated_at": "2026-06-23T00:00:00Z",
|
|
4
4
|
"catalog_url": "https://raw.githubusercontent.com/github/spec-kit/main/extensions/catalog.community.json",
|
|
5
5
|
"extensions": {
|
|
6
6
|
"aide": {
|
|
@@ -187,10 +187,10 @@
|
|
|
187
187
|
"arch": {
|
|
188
188
|
"name": "Architecture Workflow",
|
|
189
189
|
"id": "arch",
|
|
190
|
-
"description": "Generate or reverse project-level 4+1 architecture
|
|
190
|
+
"description": "Generate or reverse project-level 4+1 architecture views as separate commands",
|
|
191
191
|
"author": "bigsmartben",
|
|
192
|
-
"version": "1.1
|
|
193
|
-
"download_url": "https://github.com/bigsmartben/spec-kit-arch/archive/refs/tags/v1.1.
|
|
192
|
+
"version": "1.2.1",
|
|
193
|
+
"download_url": "https://github.com/bigsmartben/spec-kit-arch/archive/refs/tags/v1.2.1.zip",
|
|
194
194
|
"repository": "https://github.com/bigsmartben/spec-kit-arch",
|
|
195
195
|
"homepage": "https://github.com/bigsmartben/spec-kit-arch",
|
|
196
196
|
"documentation": "https://github.com/bigsmartben/spec-kit-arch/blob/main/README.md",
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
"speckit_version": ">=0.8.10.dev0"
|
|
203
203
|
},
|
|
204
204
|
"provides": {
|
|
205
|
-
"commands":
|
|
205
|
+
"commands": 10,
|
|
206
206
|
"hooks": 0
|
|
207
207
|
},
|
|
208
208
|
"tags": [
|
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
"downloads": 0,
|
|
216
216
|
"stars": 0,
|
|
217
217
|
"created_at": "2026-05-14T00:00:00Z",
|
|
218
|
-
"updated_at": "2026-
|
|
218
|
+
"updated_at": "2026-06-23T00:00:00Z"
|
|
219
219
|
},
|
|
220
220
|
"architect-preview": {
|
|
221
221
|
"name": "Architect Impact Previewer",
|
|
@@ -1001,13 +1001,47 @@
|
|
|
1001
1001
|
"created_at": "2026-04-08T00:00:00Z",
|
|
1002
1002
|
"updated_at": "2026-04-08T00:00:00Z"
|
|
1003
1003
|
},
|
|
1004
|
+
"discovery": {
|
|
1005
|
+
"name": "Spec Kit Discovery Extension",
|
|
1006
|
+
"id": "discovery",
|
|
1007
|
+
"description": "Run technical discovery commands for feasibility, technology selection, scenario-specific technical decisions, legacy codebase assessment, implementation understanding, and proof-of-concept validation.",
|
|
1008
|
+
"author": "bigsmartben",
|
|
1009
|
+
"version": "0.2.0",
|
|
1010
|
+
"download_url": "https://github.com/bigsmartben/spec-kit-discovery/archive/refs/tags/v0.2.0.zip",
|
|
1011
|
+
"repository": "https://github.com/bigsmartben/spec-kit-discovery",
|
|
1012
|
+
"homepage": "https://github.com/bigsmartben/spec-kit-discovery",
|
|
1013
|
+
"documentation": "https://github.com/bigsmartben/spec-kit-discovery/blob/main/docs/usage.md",
|
|
1014
|
+
"changelog": "https://github.com/bigsmartben/spec-kit-discovery/blob/main/CHANGELOG.md",
|
|
1015
|
+
"license": "MIT",
|
|
1016
|
+
"category": "process",
|
|
1017
|
+
"effect": "read-write",
|
|
1018
|
+
"requires": {
|
|
1019
|
+
"speckit_version": ">=0.1.0"
|
|
1020
|
+
},
|
|
1021
|
+
"provides": {
|
|
1022
|
+
"commands": 6,
|
|
1023
|
+
"hooks": 0
|
|
1024
|
+
},
|
|
1025
|
+
"tags": [
|
|
1026
|
+
"discovery",
|
|
1027
|
+
"workflow",
|
|
1028
|
+
"validation",
|
|
1029
|
+
"feasibility",
|
|
1030
|
+
"decision"
|
|
1031
|
+
],
|
|
1032
|
+
"verified": false,
|
|
1033
|
+
"downloads": 0,
|
|
1034
|
+
"stars": 0,
|
|
1035
|
+
"created_at": "2026-06-23T00:00:00Z",
|
|
1036
|
+
"updated_at": "2026-06-23T00:00:00Z"
|
|
1037
|
+
},
|
|
1004
1038
|
"docguard": {
|
|
1005
1039
|
"name": "DocGuard — CDD Enforcement",
|
|
1006
1040
|
"id": "docguard",
|
|
1007
1041
|
"description": "Canonical-Driven Development enforcement. Validates, scores, and traces project documentation with automated checks, AI-driven workflows, and spec-kit hooks. One pinned runtime dependency; pure Node.js otherwise.",
|
|
1008
1042
|
"author": "raccioly",
|
|
1009
|
-
"version": "0.
|
|
1010
|
-
"download_url": "https://github.com/raccioly/docguard/releases/download/v0.
|
|
1043
|
+
"version": "0.28.0",
|
|
1044
|
+
"download_url": "https://github.com/raccioly/docguard/releases/download/v0.28.0/spec-kit-docguard-v0.28.0.zip",
|
|
1011
1045
|
"repository": "https://github.com/raccioly/docguard",
|
|
1012
1046
|
"homepage": "https://www.npmjs.com/package/docguard-cli",
|
|
1013
1047
|
"documentation": "https://github.com/raccioly/docguard/blob/main/extensions/spec-kit-docguard/README.md",
|
|
@@ -1043,7 +1077,7 @@
|
|
|
1043
1077
|
"downloads": 0,
|
|
1044
1078
|
"stars": 0,
|
|
1045
1079
|
"created_at": "2026-03-13T00:00:00Z",
|
|
1046
|
-
"updated_at": "2026-06-
|
|
1080
|
+
"updated_at": "2026-06-23T00:00:00Z"
|
|
1047
1081
|
},
|
|
1048
1082
|
"doctor": {
|
|
1049
1083
|
"name": "Project Health Check",
|
|
@@ -1370,6 +1404,46 @@
|
|
|
1370
1404
|
"created_at": "2026-06-16T00:00:00Z",
|
|
1371
1405
|
"updated_at": "2026-06-16T00:00:00Z"
|
|
1372
1406
|
},
|
|
1407
|
+
"intake": {
|
|
1408
|
+
"name": "Intake",
|
|
1409
|
+
"id": "intake",
|
|
1410
|
+
"description": "Normalize PRD, design, and test-case evidence into SDD-ready intake artifacts.",
|
|
1411
|
+
"author": "bigsmartben",
|
|
1412
|
+
"version": "0.1.2",
|
|
1413
|
+
"download_url": "https://github.com/bigsmartben/spec-kit-intake/archive/refs/tags/v0.1.2.zip",
|
|
1414
|
+
"repository": "https://github.com/bigsmartben/spec-kit-intake",
|
|
1415
|
+
"homepage": "https://github.com/bigsmartben/spec-kit-intake",
|
|
1416
|
+
"documentation": "https://github.com/bigsmartben/spec-kit-intake/blob/main/README.md",
|
|
1417
|
+
"changelog": "https://github.com/bigsmartben/spec-kit-intake/blob/main/CHANGELOG.md",
|
|
1418
|
+
"license": "MIT",
|
|
1419
|
+
"category": "docs",
|
|
1420
|
+
"effect": "read-write",
|
|
1421
|
+
"requires": {
|
|
1422
|
+
"speckit_version": ">=0.8.10.dev0",
|
|
1423
|
+
"tools": [
|
|
1424
|
+
{
|
|
1425
|
+
"name": "figma-mcp",
|
|
1426
|
+
"required": false
|
|
1427
|
+
}
|
|
1428
|
+
]
|
|
1429
|
+
},
|
|
1430
|
+
"provides": {
|
|
1431
|
+
"commands": 3,
|
|
1432
|
+
"hooks": 1
|
|
1433
|
+
},
|
|
1434
|
+
"tags": [
|
|
1435
|
+
"intake",
|
|
1436
|
+
"sdd",
|
|
1437
|
+
"requirements",
|
|
1438
|
+
"validation",
|
|
1439
|
+
"figma"
|
|
1440
|
+
],
|
|
1441
|
+
"verified": false,
|
|
1442
|
+
"downloads": 0,
|
|
1443
|
+
"stars": 0,
|
|
1444
|
+
"created_at": "2026-06-23T00:00:00Z",
|
|
1445
|
+
"updated_at": "2026-06-23T00:00:00Z"
|
|
1446
|
+
},
|
|
1373
1447
|
"issue": {
|
|
1374
1448
|
"name": "GitHub Issues Integration 2",
|
|
1375
1449
|
"id": "issue",
|
|
@@ -2347,12 +2421,12 @@
|
|
|
2347
2421
|
"updated_at": "2026-03-18T00:00:00Z"
|
|
2348
2422
|
},
|
|
2349
2423
|
"preview": {
|
|
2350
|
-
"name": "
|
|
2424
|
+
"name": "Spec Kit Preview",
|
|
2351
2425
|
"id": "preview",
|
|
2352
|
-
"description": "Generate
|
|
2426
|
+
"description": "Generate evidence-backed low, mid, or high fidelity previews from Spec Kit artifacts as Markdown or self-contained HTML",
|
|
2353
2427
|
"author": "bigsmartben",
|
|
2354
|
-
"version": "1.
|
|
2355
|
-
"download_url": "https://github.com/bigsmartben/spec-kit-preview/archive/refs/tags/v1.
|
|
2428
|
+
"version": "1.1.0",
|
|
2429
|
+
"download_url": "https://github.com/bigsmartben/spec-kit-preview/archive/refs/tags/v1.1.0.zip",
|
|
2356
2430
|
"repository": "https://github.com/bigsmartben/spec-kit-preview",
|
|
2357
2431
|
"homepage": "https://github.com/bigsmartben/spec-kit-preview",
|
|
2358
2432
|
"documentation": "https://github.com/bigsmartben/spec-kit-preview/blob/main/README.md",
|
|
@@ -2364,20 +2438,21 @@
|
|
|
2364
2438
|
"speckit_version": ">=0.8.10.dev0"
|
|
2365
2439
|
},
|
|
2366
2440
|
"provides": {
|
|
2367
|
-
"commands":
|
|
2441
|
+
"commands": 6,
|
|
2368
2442
|
"hooks": 0
|
|
2369
2443
|
},
|
|
2370
2444
|
"tags": [
|
|
2371
2445
|
"preview",
|
|
2372
2446
|
"prototype",
|
|
2373
2447
|
"html",
|
|
2448
|
+
"markdown",
|
|
2374
2449
|
"ux"
|
|
2375
2450
|
],
|
|
2376
2451
|
"verified": false,
|
|
2377
2452
|
"downloads": 0,
|
|
2378
2453
|
"stars": 0,
|
|
2379
2454
|
"created_at": "2026-05-15T00:00:00Z",
|
|
2380
|
-
"updated_at": "2026-
|
|
2455
|
+
"updated_at": "2026-06-23T00:00:00Z"
|
|
2381
2456
|
},
|
|
2382
2457
|
"product": {
|
|
2383
2458
|
"name": "Product Spec Extension",
|