specify-cli 1.0.3__tar.gz → 1.0.5__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.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/agent_request.yml +1 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/bug_report.yml +2 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/feature_request.yml +2 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/codeql.yml +2 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/AGENTS.md +1 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/CHANGELOG.md +50 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/PKG-INFO +1 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/extensions.md +6 -4
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/extensions.md +2 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/integrations.md +2 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/workflows.md +46 -10
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +16 -11
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/agent-context-defaults.json +1 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/catalog.community.json +123 -29
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/bash/create-new-feature-branch.sh +14 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +4 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/python/create_new_feature_branch.py +9 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/integrations/catalog.json +19 -1
- specify_cli-1.0.5/newsletters/2026-August.md +130 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/PUBLISHING.md +37 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/pyproject.toml +1 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/common.sh +13 -5
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/create-new-feature.sh +15 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/setup-plan.sh +4 -4
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/create-new-feature.ps1 +12 -3
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/setup-plan.ps1 +2 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/setup_plan.py +2 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_invocation_style.py +1 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/config.py +4 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/models/catalog.py +11 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/models/records.py +12 -6
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/commands/init.py +14 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/extensions/__init__.py +1 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/extensions/_commands.py +109 -13
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/__init__.py +4 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/base.py +5 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/cline/__init__.py +21 -5
- specify_cli-1.0.5/src/specify_cli/integrations/dsh/__init__.py +64 -0
- specify_cli-1.0.5/src/specify_cli/integrations/muse/__init__.py +63 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/rovodev/__init__.py +11 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/presets/__init__.py +295 -3
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/presets/_commands.py +112 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/__init__.py +2 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/_commands.py +24 -5
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/catalog.py +4 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/engine.py +8 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/expressions.py +34 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/_commands.py +18 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/schema.py +7 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/do_while/__init__.py +8 -0
- specify_cli-1.0.5/src/specify_cli/workflows/steps/slot/__init__.py +67 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/while_loop/__init__.py +12 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/plan.md +1 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/tasks.md +1 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/contract/test_catalog_schema.py +17 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/git/test_git_extension_python_parity.py +133 -6
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_base.py +14 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_cline.py +53 -0
- specify_cli-1.0.5/tests/integrations/test_integration_dsh.py +314 -0
- specify_cli-1.0.5/tests/integrations/test_integration_muse.py +80 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_rovodev.py +39 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_registry.py +1 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/parity_helpers.py +42 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_agent_config_consistency.py +2 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_authentication.py +1 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_create_new_feature_python_parity.py +191 -1
- specify_cli-1.0.5/tests/test_extension_content_staleness.py +134 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_extension_skills.py +46 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_extensions.py +206 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_presets.py +603 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_resolve_template_python_parity.py +34 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_setup_plan_python_parity.py +54 -0
- specify_cli-1.0.5/tests/test_tasks_template_constraints.py +29 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_workflows.py +271 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_records.py +70 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_references.py +2 -2
- specify_cli-1.0.5/tests/workflows/test_bundled_speckit_workflow.py +58 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_commands.py +109 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_schema.py +51 -0
- specify_cli-1.0.5/tests/workflows/test_slot_step.py +242 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/ARCHITECTURE.md +6 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/PUBLISHING.md +1 -1
- {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/README.md +27 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/catalog.json +2 -2
- {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/speckit/workflow.yml +1 -5
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.devcontainer/devcontainer.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.devcontainer/post-create.sh +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.editorconfig +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.gitattributes +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/CODEOWNERS +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/bundle_submission.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/aw/actions-lock.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/dependabot.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/scripts/check_security_requirements.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/security-audit-requirements.txt +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/skills/add-community-extension/SKILL.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/RELEASE-PROCESS.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-bundle.lock.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-bundle.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-extension.lock.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-extension.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-preset.lock.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/add-community-preset.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-assess.lock.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-assess.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-fix.lock.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-fix.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-test.lock.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/bug-test.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/catalog-assign.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/docs.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/feature-assess.lock.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/feature-assess.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/lint.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/publish-pypi.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/release-trigger.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/release.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/security.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/stale.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.github/workflows/test.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.gitignore +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.markdownlint-cli2.jsonc +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.pre-commit-config.yaml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/.zenodo.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/CITATION.cff +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/CODE_OF_CONDUCT.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/CONTRIBUTING.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/DEVELOPMENT.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/LICENSE +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/README.zh-CN.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/SECURITY.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/SUPPORT.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/bundles/catalog.community.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/.gitignore +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/bundles.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/friends.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/overview.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/presets.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/community/walkthroughs.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/concepts/complex-features.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/concepts/sdd.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/concepts/spec-of-specs.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/concepts/spec-persistence.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/docfx.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/guides/evolving-specs.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/guides/existing-projects.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/guides/monorepo.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/history.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/images/spec-kit-logo.webp +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/index.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/install/air-gapped.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/install/one-time.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/install/pipx.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/install/pypi.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/install/uv.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/installation.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/local-development.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/quickstart.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/agentic-bugfix.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/agentic-sdd.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/authentication.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/bundles.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/core.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/overview.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/reference/presets.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/template/public/main.css +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/toc.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/docs/upgrade.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/business-analyst/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/business-analyst/bundle.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/developer/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/developer/bundle.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/product-manager/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/product-manager/bundle.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/security-researcher/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/examples/bundles/security-researcher/bundle.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/EXTENSION-API-REFERENCE.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/EXTENSION-USER-GUIDE.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/agent-context-config.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/commands/speckit.agent-context.update.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/extension.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/agent-context/scripts/python/update_agent_context.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.decide.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.define.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.intake.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.research.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/commands/speckit.assess.shape.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/assess/extension.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/bug/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/bug/commands/speckit.bug.assess.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/bug/commands/speckit.bug.fix.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/bug/commands/speckit.bug.test.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/bug/extension.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/catalog.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.commit.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.feature.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.initialize.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.remote.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/commands/speckit.git.validate.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/config-template.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/extension.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/git-config.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/bash/auto-commit.sh +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/bash/git-common.sh +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/bash/initialize-repo.sh +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/powershell/auto-commit.ps1 +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/powershell/git-common.ps1 +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/python/auto_commit.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/python/git_common.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/git/scripts/python/initialize_repo.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/selftest/commands/selftest.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/selftest/extension.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/.gitignore +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/CHANGELOG.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/EXAMPLE-README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/LICENSE +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/commands/example.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/config-template.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/extensions/template/extension.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/integrations/CONTRIBUTING.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/integrations/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/integrations/catalog.community.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/media/bootstrap-claude-code.gif +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/media/logo_large.webp +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/media/logo_small.webp +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/media/spec-kit-video-header.jpg +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/media/specify_cli.gif +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-April.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-February.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-July.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-June.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-March.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/newsletters/2026-May.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/ARCHITECTURE.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/catalog.community.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/catalog.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/constitution-sync/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/constitution-sync/commands/speckit.constitution.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/constitution-sync/preset.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/commands/speckit.constitution.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/commands/speckit.implement.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/commands/speckit.plan.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/commands/speckit.specify.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/commands/speckit.tasks.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/lean/preset.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/README.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/commands/speckit.specify.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/preset.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/templates/myext-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/scaffold/templates/spec-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/commands/speckit.specify.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/commands/speckit.wrap-test.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/preset.yml +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/templates/checklist-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/templates/constitution-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/templates/plan-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/templates/spec-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/presets/self-test/templates/tasks-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/check-prerequisites.sh +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/resolve-template.sh +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/bash/setup-tasks.sh +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/check-prerequisites.ps1 +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/common.ps1 +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/resolve-template.ps1 +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/powershell/setup-tasks.ps1 +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/check_prerequisites.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/common.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/create_new_feature.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/resolve_template.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/scripts/python/setup_tasks.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/spec-driven.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/spec-kit.code-workspace +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_agent_config.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_assets.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_console.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_download_security.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_github_http.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_init_options.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_project.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_toml_string.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_utils.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/_version.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/agents.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/azure_devops.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/base.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/github.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/authentication/http.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/commands_impl/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/commands_impl/catalog_config.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/project.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/versioning.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/lib/yamlio.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/models/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/models/manifest.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/adapters.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/catalog_stack.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/conflict.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/installer.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/packager.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/primitives.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/references.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/resolver.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/bundler/services/validator.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/catalogs.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/commands/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/commands/bundle/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/commands/event.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/events.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integration_runtime.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integration_scaffold.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integration_state.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integration_status.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_commands.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_helpers.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_install_commands.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_migrate_commands.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_query_commands.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/_scaffold_commands.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/agy/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/alquimia/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/amp/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/auggie/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/bob/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/catalog.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/claude/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/codebuddy/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/codex/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/command_code/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/copilot/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/cursor_agent/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/devin/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/docker_agent/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/droid/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/firebender/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/forge/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/gemini/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/generic/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/goose/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/grok/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/hermes/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/junie/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/kilocode/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/kimi/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/kiro_cli/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/lingma/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/manifest.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/omp/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/opencode/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/pi/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/qodercli/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/qwen/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/shai/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/tabnine/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/trae/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/vibe/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/zcode/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/integrations/zed/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/shared_infra.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/base.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/composer.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/layer_sources.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/overlays/merge.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/command/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/gate/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/if_then/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/init/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/prompt/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/shell/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/src/specify_cli/workflows/steps/switch/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/checklist-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/analyze.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/checklist.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/clarify.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/constitution.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/converge.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/implement.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/specify.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/commands/taskstoissues.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/constitution-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/plan-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/spec-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/tasks-template.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/templates/vscode-settings.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/auth_helpers.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/bundler_helpers.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/conftest.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/contract/test_bundle_cli.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/contract/test_manifest_schema.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/contract/test_wheel_bundled_presets.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/contract/test_wheel_core_pack_scripts.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/assess/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/assess/test_assess_extension.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/bug/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/bug/test_bug_extension.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/git/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/git/test_git_extension.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/test_agent_context_cli_free.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/test_extension_agent_context.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/test_update_agent_context_feature_json.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/extensions/test_update_agent_context_python_parity.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/hooks/TESTING.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/hooks/plan.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/hooks/spec.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/hooks/tasks.md +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/http_helpers.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_catalog_stack.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_init_install.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_install_flow.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_local_install.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_offline.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integration/test_bundler_security_paths.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/__init__.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/conftest.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_cli.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_events.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_extra_args.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_home_isolation.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_agy.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_alquimia.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_amp.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_auggie.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_base_markdown.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_base_skills.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_base_toml.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_base_yaml.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_bob.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_catalog.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_claude.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_codebuddy.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_codex.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_command_code.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_copilot.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_cursor_agent.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_devin.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_docker_agent.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_droid.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_firebender.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_forge.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_gemini.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_generic.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_goose.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_grok.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_hermes.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_junie.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_kilocode.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_kimi.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_kiro_cli.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_lingma.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_omp.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_opencode.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_pi.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_qodercli.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_qwen.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_scaffold.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_shai.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_state.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_subcommand.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_tabnine.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_trae.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_vibe.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_zcode.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_integration_zed.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_manifest.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/integrations/test_skill_frontmatter_quoting.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/self_upgrade_helpers.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_branch_numbering.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_check_prerequisites_paths_only.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_check_prerequisites_python_parity.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_check_tool.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_cli_version.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_command_template_py_scripts.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_commands_package.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_console_imports.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_download_security.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_event_command.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_extension_add_path_traversal.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_extension_registration.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_extension_update_hardening.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_github_http.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_github_workflows.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_init_dir.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_init_dir_cli.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_init_output_markup.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_live_transient_windows.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_merge.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_post_process.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_ps1_encoding.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_registrar_path_traversal.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_security_workflow.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_self_upgrade_detection.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_self_upgrade_execution.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_self_upgrade_guidance.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_self_upgrade_verification.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_setup_plan_feature_json.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_setup_plan_no_overwrite.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_setup_tasks.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_setup_tasks_python_parity.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_shared_infra_gitignore.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_shared_infra_integrity.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_skill_placeholder_py.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_specify_template_numbering.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_timestamp_branches.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_upgrade.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_utils.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_utils_assets_imports.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_version_imports.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/test_workflow_run_without_project.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundle_download_url.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_adapters.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_catalog_config.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_conflict.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_packager.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_primitives.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_resolver.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_validator.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_versioning.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_bundler_yamlio.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/unit/test_condition_expression_block.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/conftest.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_composer.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_layer_sources.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_merge.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_overlay_security.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/tests/workflows/test_resolver_integration.py +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/catalog.community.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/workflows/step-catalog.community.json +0 -0
- {specify_cli-1.0.3 → specify_cli-1.0.5}/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, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
|
|
11
|
+
**Currently supported agents**: Alquimia AI, Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Command Code, Cursor, Devin for Terminal, 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
|
|
12
12
|
|
|
13
13
|
- type: input
|
|
14
14
|
id: agent-name
|
|
@@ -75,6 +75,7 @@ body:
|
|
|
75
75
|
- Devin for Terminal
|
|
76
76
|
- Docker Agent
|
|
77
77
|
- Factory Droid
|
|
78
|
+
- DeepSeek Harness
|
|
78
79
|
- Firebender
|
|
79
80
|
- Forge
|
|
80
81
|
- Gemini CLI
|
|
@@ -89,6 +90,7 @@ body:
|
|
|
89
90
|
- Kiro CLI
|
|
90
91
|
- Lingma
|
|
91
92
|
- Mistral Vibe
|
|
93
|
+
- Muse Code
|
|
92
94
|
- Oh My Pi
|
|
93
95
|
- opencode
|
|
94
96
|
- Pi Coding Agent
|
|
@@ -69,6 +69,7 @@ body:
|
|
|
69
69
|
- Devin for Terminal
|
|
70
70
|
- Docker Agent
|
|
71
71
|
- Factory Droid
|
|
72
|
+
- DeepSeek Harness
|
|
72
73
|
- Firebender
|
|
73
74
|
- Forge
|
|
74
75
|
- Gemini CLI
|
|
@@ -83,6 +84,7 @@ body:
|
|
|
83
84
|
- Kiro CLI
|
|
84
85
|
- Lingma
|
|
85
86
|
- Mistral Vibe
|
|
87
|
+
- Muse Code
|
|
86
88
|
- Oh My Pi
|
|
87
89
|
- opencode
|
|
88
90
|
- Pi Coding Agent
|
|
@@ -22,11 +22,11 @@ jobs:
|
|
|
22
22
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
23
23
|
|
|
24
24
|
- name: Initialize CodeQL
|
|
25
|
-
uses: github/codeql-action/init@
|
|
25
|
+
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4
|
|
26
26
|
with:
|
|
27
27
|
languages: ${{ matrix.language }}
|
|
28
28
|
|
|
29
29
|
- name: Perform CodeQL Analysis
|
|
30
|
-
uses: github/codeql-action/analyze@
|
|
30
|
+
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4
|
|
31
31
|
with:
|
|
32
32
|
category: "/language:${{ matrix.language }}"
|
|
@@ -506,7 +506,7 @@ Disclosure is **continuous**, not a one-time event. A single AI-disclosure parag
|
|
|
506
506
|
### Opening pull requests
|
|
507
507
|
|
|
508
508
|
- Before opening a pull request, check whether the account that will file it already has three open pull requests in this repository.
|
|
509
|
-
- If so, alert the user that additional submissions may receive lower review priority and ask for explicit permission to proceed. Do not assume consent.
|
|
509
|
+
- If so, alert the user that additional submissions may receive lower review priority and ask for explicit permission to proceed. Do not assume consent. If the user is unavailable to provide that permission, including during autonomous or non-interactive operation, do not open the pull request. Preserve the work on a branch and report that confirmation is required.
|
|
510
510
|
|
|
511
511
|
### Commits
|
|
512
512
|
|
|
@@ -2,6 +2,56 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- insert new changelog below this comment -->
|
|
4
4
|
|
|
5
|
+
## [1.0.5] - 2026-09-08
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Update OKF Knowledge Bundle Generator to v0.5.0 (#4475)
|
|
10
|
+
- Update BrownKit extension to v1.2.0 (#4474)
|
|
11
|
+
- chore(deps): bump the codeql-action group with 2 updates (#4436)
|
|
12
|
+
- fix(tasks): require field constraints from data-model.md in generated tasks (#4430)
|
|
13
|
+
- fix(workflows): reject falsy non-mapping step.yml in step add (#4321)
|
|
14
|
+
- fix(cline): stop unrelated prose from suppressing the hook command note (#4150)
|
|
15
|
+
- Add the August 2026 newsletter (#4442)
|
|
16
|
+
- Update Linear Integration extension to v0.8.0 (#4428)
|
|
17
|
+
- fix(presets): reject falsy non-mapping catalog config shapes (#4320)
|
|
18
|
+
- docs(workflows): sync the reference copy with the shipped workflow (#4424)
|
|
19
|
+
- fix(scripts): name setup-plan's feature directory key FEATURE_DIR (#4397)
|
|
20
|
+
- fix(workflows): require a 'steps' body on while and do-while loops (#4149)
|
|
21
|
+
- Add Evaluator Contract extension to community catalog (#4420)
|
|
22
|
+
- fix: remove unused scope input from bundled speckit workflow (#4401)
|
|
23
|
+
- feat(integrations): add Muse Code (muse) agent integration (#4413)
|
|
24
|
+
- feat(workflows): add workflow slots (#4352)
|
|
25
|
+
- fix(scripts): make bash branch-name sanitizing match the Python and PowerShell twins (#4286)
|
|
26
|
+
- allow hyphen in command ref token names (#4356)
|
|
27
|
+
- [extension] Add Axi Extension to community catalog (#4412)
|
|
28
|
+
- chore: release 1.0.4, begin 1.0.5.dev0 development (#4411)
|
|
29
|
+
|
|
30
|
+
## [1.0.4] - 2026-09-02
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- fix(scripts): stop wrap composition looping on a token in core content (#4396)
|
|
35
|
+
- [extension] Update Charter extension to v0.6.1 (#4409)
|
|
36
|
+
- fix(workflows): keep non-ASCII text readable in written overlay files (#4148)
|
|
37
|
+
- fix(workflows): report overlay operation keys in declaration order (#4146)
|
|
38
|
+
- fix: skip corrupted state.json in list_runs() instead of aborting (#3904)
|
|
39
|
+
- fix(rovodev): guard non-string prompt names when merging prompts.yml (#4145)
|
|
40
|
+
- fix: narrow bare except Exception in preset command reconciliation (#3842)
|
|
41
|
+
- fix(workflows): refuse a filter mixed with a comparison operator instead of silently mis-binding it (#3894)
|
|
42
|
+
- fix: escape Rich markup in workflow error output (#3837)
|
|
43
|
+
- fix: add JSON error handling to auth config loader (#3836)
|
|
44
|
+
- fix: use missing_ok=True in extension ZIP cleanup (#3870)
|
|
45
|
+
- feat(presets): let a preset declare a required extension (#4250)
|
|
46
|
+
- fix(bundler): reject unsupported catalog payload versions (#4090)
|
|
47
|
+
- fix(extensions): install bundled extension updates from the local package (#4351)
|
|
48
|
+
- docs: clarify autonomous PR handling (#4392)
|
|
49
|
+
- fix(workflows): reject malformed step config on add (#4087)
|
|
50
|
+
- fix(powershell): stop create-new-feature crashing on a non-Latin description (#4138)
|
|
51
|
+
- fix(bundler): treat an explicit-null records field as missing, not "None" (#4136)
|
|
52
|
+
- Add DeepSeek Harness (DSH) integration (#4336)
|
|
53
|
+
- chore: release 1.0.3, begin 1.0.4.dev0 development (#4391)
|
|
54
|
+
|
|
5
55
|
## [1.0.3] - 2026-09-01
|
|
6
56
|
|
|
7
57
|
### Changed
|
|
@@ -41,6 +41,7 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
41
41
|
| Archive Extension | Archive merged features into main project memory, resolving gaps and conflicts. | `docs` | Read+Write | [spec-kit-archive](https://github.com/stn1slv/spec-kit-archive) |
|
|
42
42
|
| ASCII Diagram Renderer | Renders hand-drawn ASCII/Unicode diagrams (state machine, architecture, flow, coverage map) of what spec/plan/tasks/analyze already say — plain text, no Mermaid renderer needed | `docs` | Read+Write | [spec-kit-ascii-diagram](https://github.com/MRZHUH/spec-kit-ascii-diagram) |
|
|
43
43
|
| Atlas | Synthesize spec-kit specs into faithful, interactive architecture storybooks & doc portals. | `docs` | Read-only | [spec-kit-atlas](https://github.com/ashbrener/spec-kit-atlas) |
|
|
44
|
+
| Axi Extension | A Spec Kit extension that renders a feature's markdown in a local browser review surface for human annotation, then returns the queued notes to the agent to apply. | `docs` | Read+Write | [spec-kit-axi](https://github.com/d0whc3r/spec-kit-axi) |
|
|
44
45
|
| Azure Cosmos DB | Best-practice Azure Cosmos DB code generation and review for any AI coding agent | `code` | Read+Write | [spec-kit-cosmosdb](https://github.com/AzureCosmosDB/spec-kit-cosmosdb) |
|
|
45
46
|
| 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) |
|
|
46
47
|
| BDD | Convert specs to Gherkin scenarios, scaffold step definitions, and verify acceptance test coverage | `process` | Read+Write | [spec-kit-bdd](https://github.com/RSginer/spec-kit-bdd) |
|
|
@@ -48,11 +49,11 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
48
49
|
| Blueprint Index — Living Architecture Map | A living architecture map for spec-driven projects, kept honest by a deterministic, low-friction, machine-first CI gate (JSON, self-healable) that blocks only when the map contradicts the specs or code. Brownfield or greenfield. | `process` | Read+Write | [spec-kit-blueprint](https://github.com/ogil109/spec-kit-blueprint) |
|
|
49
50
|
| Branch Convention | Configurable branch and folder naming conventions for /specify with presets and custom patterns | `process` | Read+Write | [spec-kit-branch-convention](https://github.com/Quratulain-bilal/spec-kit-branch-convention) |
|
|
50
51
|
| Brownfield Bootstrap | Bootstrap spec-kit for existing codebases — auto-discover architecture and adopt SDD incrementally | `process` | Read+Write | [spec-kit-brownfield](https://github.com/Quratulain-bilal/spec-kit-brownfield) |
|
|
51
|
-
| BrownKit | Evidence-driven capability discovery, security and QA risk assessment for existing codebases | `process` | Read+Write | [BrownKit](https://github.com/MaksimShevtsov/BrownKit) |
|
|
52
|
+
| BrownKit — Brownfield Discovery for Spec-Kit | Evidence-driven capability discovery, security and QA risk assessment for existing codebases. | `process` | Read+Write | [BrownKit](https://github.com/MaksimShevtsov/BrownKit) |
|
|
52
53
|
| Bugfix Workflow | Structured bugfix workflow — capture bugs, trace to spec artifacts, and patch specs surgically | `process` | Read+Write | [spec-kit-bugfix](https://github.com/Quratulain-bilal/spec-kit-bugfix) |
|
|
53
54
|
| Canon | Adds canon-driven (baseline-driven) workflows: spec-first, code-first, spec-drift. Requires Canon Core preset installation. | `process` | Read+Write | [spec-kit-canon](https://github.com/maximiliamus/spec-kit-canon/tree/master/extension) |
|
|
54
55
|
| Catalog CI | Automated validation for spec-kit community catalog entries — structure, URLs, diffs, and linting | `process` | Read-only | [spec-kit-catalog-ci](https://github.com/Quratulain-bilal/spec-kit-catalog-ci) |
|
|
55
|
-
| Charter | Compose
|
|
56
|
+
| Charter | Compose project constitutions from shared fragment registries | `process` | Read+Write | [spec-kit-charter](https://github.com/Fyloss/spec-kit-charter) |
|
|
56
57
|
| CI Guard | Spec compliance gates for CI/CD — verify specs exist, check drift, and block merges on gaps | `process` | Read-only | [spec-kit-ci-guard](https://github.com/Quratulain-bilal/spec-kit-ci-guard) |
|
|
57
58
|
| Checkpoint Extension | Commit the changes made during the middle of the implementation, so you don't end up with just one very large commit at the end | `code` | Read+Write | [spec-kit-checkpoint](https://github.com/aaronrsun/spec-kit-checkpoint) |
|
|
58
59
|
| Cleanup Extension | Post-implementation quality gate that reviews changes, fixes small issues (scout rule), creates tasks for medium issues, and generates analysis for large issues | `code` | Read+Write | [spec-kit-cleanup](https://github.com/dsrednicki/spec-kit-cleanup) |
|
|
@@ -66,6 +67,7 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
66
67
|
| Dotdog | Import GitHub Spec Kit artifacts into local knowledge graphs for validation, analysis, search, and MCP queries. | `docs` | Read+Write | [dotdog](https://github.com/specdog/dotdog) |
|
|
67
68
|
| DUBSAR Memory | Local project memory for Spec Kit with explicit checkpoints, cross-session resume, and SHA-256 freshness for recorded specification, plan, and task references. | `visibility` | Read+Write | [dubsar-memory](https://github.com/kotnisofiane-bit/dubsar-memory) |
|
|
68
69
|
| EARS Requirements Syntax | Author, lint, and convert requirements using EARS - the five industry-standard sentence patterns for unambiguous, testable requirements | `docs` | Read+Write | [spec-kit-ears](https://github.com/dhruv-15-03/spec-kit-ears) |
|
|
70
|
+
| Evaluator Contract | Provider-neutral evaluator contract for evidence, provenance, uncertainty, and recovery across Spec-Driven Development phases. | `process` | Read+Write | [spec-kit-evaluator](https://github.com/electrohire/spec-kit-evaluator) |
|
|
69
71
|
| Extensify | Create and validate extensions and extension catalogs | `process` | Read+Write | [extensify](https://github.com/mnriem/spec-kit-extensions/tree/main/extensify) |
|
|
70
72
|
| Figma Starter | Turns a Figma section's screens into per-screen spec.md files, an app-level user-stories.md, and a build-order.md, then hands off to /speckit.specify | `integration` | Read+Write | [spec-kit-figma-starter](https://github.com/wavemaker/spec-kit-figma-starter) |
|
|
71
73
|
| Fix Findings | Automated analyze-fix-reanalyze loop that resolves spec findings until clean | `code` | Read+Write | [spec-kit-fix-findings](https://github.com/Quratulain-bilal/spec-kit-fix-findings) |
|
|
@@ -84,7 +86,7 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
84
86
|
| Jira Mirror | Spec Kit ↔ Jira bridge for team-managed and company-managed projects: configurable workflows & hierarchies (Scrum/SAFe), multi-project, idempotent and fail-closed. macOS/Linux/Windows. | `integration` | Read+Write | [spec-kit-jira-mirror](https://github.com/Fyloss/spec-kit-jira-mirror) |
|
|
85
87
|
| Keel Discovery | Evidence-backed discovery upstream of /speckit.specify, plus round-trip drift auditing after implementation | `process` | Read+Write | [spec-kit-keel](https://github.com/keeldiscovery/spec-kit-keel) |
|
|
86
88
|
| Learning Extension | Generate educational guides from implementations and enhance clarifications with mentoring context | `docs` | Read+Write | [spec-kit-learn](https://github.com/imviancagrace/spec-kit-learn) |
|
|
87
|
-
| Linear Integration |
|
|
89
|
+
| Linear Integration | Automatically mirror your spec-kit specs into Linear — one issue per spec, a sub-issue per task phase, kept in sync as you work. | `integration` | Read+Write | [spec-kit-linear-sync](https://github.com/ashbrener/spec-kit-linear-sync) |
|
|
88
90
|
| Linear Weave | Weave Spec Kit into Linear: pull requirements, mirror tasks.md into sub-issues, sync statuses | `integration` | Read+Write | [spec-kit-linear-weave](https://github.com/tonydwoodhouse/spec-kit-linear-weave) |
|
|
89
91
|
| LLM Wiki | LLM-maintained compounding project wiki: source ingestion, cited answers, and consistency linting | `docs` | Read+Write | [spec-kit-wiki](https://github.com/formin/spec-kit-wiki) |
|
|
90
92
|
| Loop Engineering | Engineer safe autonomous agent loops for spec-driven development: a maker/checker split, externalized loop state, and stay-the-engineer guardrails against comprehension debt and cognitive surrender | `process` | Read+Write | [spec-kit-loop](https://github.com/formin/spec-kit-loop) |
|
|
@@ -105,7 +107,7 @@ The following community-contributed extensions are available in [`catalog.commun
|
|
|
105
107
|
| Multi-Repo Branch Sync | Creates the feature branch in affected sub-repositories and git submodules via plan/tasks hooks | `process` | Read+Write | [multi-repo-sync](https://github.com/fyloss/spec-kit-multi-repo-sync) |
|
|
106
108
|
| Multi-Sites Spec Kit | Multi-site aware specify command with per-site spec folders, auto-increment, and Drupal support | `process` | Read+Write | [spec-kit-multi-sites](https://github.com/teeyo/spec-kit-multi-sites) |
|
|
107
109
|
| .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) |
|
|
108
|
-
| OKF Knowledge Bundle Generator | Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository, mining git history for
|
|
110
|
+
| OKF Knowledge Bundle Generator | Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository, mining git history for rationale and parking what it cannot verify as open questions | `docs` | Read+Write | [speckit_okf](https://github.com/alexcpn/speckit_okf) |
|
|
109
111
|
| 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) |
|
|
110
112
|
| 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) |
|
|
111
113
|
| 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) |
|
|
@@ -75,6 +75,8 @@ specify extension update [<name>]
|
|
|
75
75
|
|
|
76
76
|
Updates a specific extension, or all installed extensions if no name is given.
|
|
77
77
|
|
|
78
|
+
Bundled extensions (such as `agent-context` and `git`) have no download URL; their updates install from the copy shipped with the running spec-kit release. When the catalog advertises a newer version than your spec-kit release ships, the update is reported as requiring a spec-kit upgrade first.
|
|
79
|
+
|
|
78
80
|
## Enable / Disable an Extension
|
|
79
81
|
|
|
80
82
|
```bash
|
|
@@ -16,6 +16,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
|
|
|
16
16
|
| [Codex CLI](https://github.com/openai/codex) | `codex` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `$speckit-<command>` |
|
|
17
17
|
| [Command Code](https://commandcode.ai/docs) | `command-code` | Skills-based integration; installs skills into `.commandcode/skills/` and invokes them as `$speckit-<command>` |
|
|
18
18
|
| [Cursor](https://cursor.sh/) | `cursor-agent` | |
|
|
19
|
+
| [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) | `dsh` | Skills-based integration; installs skills into `.dsh/skills` and invokes them as `/speckit-<command>` |
|
|
19
20
|
| [Devin for Terminal](https://cli.devin.ai/docs) | `devin` | Skills-based integration; installs skills into `.devin/skills/` and invokes them as `/speckit-<command>` |
|
|
20
21
|
| [Docker Agent](https://docs.docker.com/ai/docker-agent/) | `docker-agent` | Skills-based integration; installs skills into `.agents/skills/` (the same directory used by Codex and Zed). In the selected agent YAML, enable local skills with `skills: true` and provide filesystem read access. Detects either the standalone `docker-agent` binary or the Docker CLI plugin (`docker agent`). Configure workflow dispatch with `SPECKIT_INTEGRATION_DOCKER_AGENT_EXTRA_ARGS=./agent.yaml`; the Spec Kit prompt is appended after these arguments. Not multi-install safe by default because the skills directory is shared. |
|
|
21
22
|
| [Factory Droid](https://docs.factory.ai/cli/getting-started/overview) | `droid` | Skills-based integration; installs skills into `.factory/skills/` and invokes them as `/speckit-<command>` |
|
|
@@ -33,6 +34,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
|
|
|
33
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` |
|
|
34
35
|
| [Lingma](https://lingma.aliyun.com/) | `lingma` | Skills-based integration; skills are installed automatically |
|
|
35
36
|
| [Mistral Vibe](https://github.com/mistralai/mistral-vibe) | `vibe` | |
|
|
37
|
+
| [Muse Code](https://dev.meta.ai/docs/muse-code) | `muse` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `/speckit-<command>` |
|
|
36
38
|
| [Oh My Pi](https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent) | `omp` | Installs slash commands into `.omp/commands` |
|
|
37
39
|
| [opencode](https://opencode.ai/) | `opencode` | |
|
|
38
40
|
| [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) |
|
|
@@ -18,7 +18,7 @@ Runs a workflow from a catalog ID, URL, or local file path. Inputs declared by t
|
|
|
18
18
|
Example:
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
specify workflow run speckit -i spec="Build a kanban board with drag-and-drop task management"
|
|
21
|
+
specify workflow run speckit -i spec="Build a kanban board with drag-and-drop task management"
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
With `--json`, a single machine-readable object is printed instead of formatted text (the default output is unchanged when the flag is omitted):
|
|
@@ -286,6 +286,40 @@ edits:
|
|
|
286
286
|
|
|
287
287
|
Lower priority values have higher precedence. Change this overlay to `priority: 5` if it must win a conflict with the `add-lint` overlay above. It replaces the `review-plan` gate with a non-interactive command.
|
|
288
288
|
|
|
289
|
+
### Workflow slots (upstream extension points)
|
|
290
|
+
|
|
291
|
+
Workflow authors can declare a named, no-op workflow slot with `type: slot`:
|
|
292
|
+
|
|
293
|
+
```yaml
|
|
294
|
+
- id: post-implement
|
|
295
|
+
type: slot
|
|
296
|
+
name: "Post-implementation checks"
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
The step `id` is the unique overlay anchor; `name` is a required non-blank,
|
|
300
|
+
human-readable label only. An unfilled slot completes as a `skipped` step with
|
|
301
|
+
`output: {slot: <name>}`, so subsequent steps continue normally.
|
|
302
|
+
|
|
303
|
+
Fill a slot with a schema-valid overlay `replace` edit anchored on the step
|
|
304
|
+
`id`, not its `name`:
|
|
305
|
+
|
|
306
|
+
```yaml
|
|
307
|
+
id: fill-post-implement
|
|
308
|
+
extends: my-workflow
|
|
309
|
+
edits:
|
|
310
|
+
- replace: post-implement
|
|
311
|
+
step:
|
|
312
|
+
id: post-implement
|
|
313
|
+
type: shell
|
|
314
|
+
run: "echo Run project-specific checks"
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
Reuse the slot's `id` when later expressions or `fan-in.wait_for` refer to it.
|
|
318
|
+
The replacement must also preserve every output key those later steps consume:
|
|
319
|
+
an unfilled workflow slot supplies only `steps.<id>.output.slot`. Slot steps are
|
|
320
|
+
not supported inside `fan-out.step` templates because runtime-multiplied
|
|
321
|
+
templates cannot be overlay anchors.
|
|
322
|
+
|
|
289
323
|
### Interaction with Bundles and Updates
|
|
290
324
|
|
|
291
325
|
`specify workflow add <local-directory>` installs the complete local workflow
|
|
@@ -397,14 +431,19 @@ schema_version: "1.0"
|
|
|
397
431
|
workflow:
|
|
398
432
|
id: "speckit"
|
|
399
433
|
name: "Full SDD Cycle"
|
|
400
|
-
version: "1.0.
|
|
434
|
+
version: "1.0.1"
|
|
401
435
|
author: "GitHub"
|
|
402
436
|
description: "Runs specify → plan → tasks → implement with review gates"
|
|
403
437
|
|
|
404
438
|
requires:
|
|
405
|
-
speckit_version: ">=0.
|
|
439
|
+
speckit_version: ">=0.8.5"
|
|
406
440
|
integrations:
|
|
407
|
-
any:
|
|
441
|
+
any:
|
|
442
|
+
- "alquimia"
|
|
443
|
+
- "claude"
|
|
444
|
+
- "copilot"
|
|
445
|
+
- "gemini"
|
|
446
|
+
- "opencode"
|
|
408
447
|
|
|
409
448
|
inputs:
|
|
410
449
|
spec:
|
|
@@ -413,12 +452,8 @@ inputs:
|
|
|
413
452
|
prompt: "Describe what you want to build"
|
|
414
453
|
integration:
|
|
415
454
|
type: string
|
|
416
|
-
default: "
|
|
417
|
-
prompt: "Integration to use (e.g. claude, copilot, gemini)"
|
|
418
|
-
scope:
|
|
419
|
-
type: string
|
|
420
|
-
default: "full"
|
|
421
|
-
enum: ["full", "backend-only", "frontend-only"]
|
|
455
|
+
default: "auto"
|
|
456
|
+
prompt: "Integration to use (e.g. claude, copilot, gemini; 'auto' uses the project's initialized integration)"
|
|
422
457
|
|
|
423
458
|
steps:
|
|
424
459
|
- id: specify
|
|
@@ -494,6 +529,7 @@ specify workflow run speckit -i spec="Build a kanban board with drag-and-drop ta
|
|
|
494
529
|
| `prompt` | Send an arbitrary prompt to the AI coding agent |
|
|
495
530
|
| `shell` | Execute a shell command and capture output |
|
|
496
531
|
| `init` | Bootstrap a project (like `specify init`) |
|
|
532
|
+
| `slot` | Named workflow slot; skipped when unfilled |
|
|
497
533
|
| `gate` | Pause for human approval before continuing |
|
|
498
534
|
| `if` | Conditional branching (then/else) |
|
|
499
535
|
| `switch` | Multi-branch dispatch on an expression |
|
|
@@ -296,15 +296,16 @@ A command body is a *template* that Spec Kit renders once per agent. Different a
|
|
|
296
296
|
|
|
297
297
|
Instead use the agent-neutral token `__SPECKIT_COMMAND_<NAME>__`. Spec Kit resolves it to a `/speckit<separator>...` invocation using the active integration's `invoke_separator` (and integrations may post-process that further in skills output).
|
|
298
298
|
|
|
299
|
-
Encode the command name in upper case, dropping the `speckit.` prefix and turning each dotted segment separator into an underscore:
|
|
299
|
+
Encode the command name in upper case, dropping the `speckit.` prefix and turning each dotted segment separator into an underscore. A hyphen inside a segment is kept as a hyphen:
|
|
300
300
|
|
|
301
301
|
| Command file | Token |
|
|
302
302
|
| --- | --- |
|
|
303
303
|
| `speckit.plan.md` | `__SPECKIT_COMMAND_PLAN__` |
|
|
304
304
|
| `speckit.bug.fix.md` | `__SPECKIT_COMMAND_BUG_FIX__` |
|
|
305
305
|
| `speckit.git.commit.md` | `__SPECKIT_COMMAND_GIT_COMMIT__` |
|
|
306
|
+
| `speckit.agent-context.update.md` | `__SPECKIT_COMMAND_AGENT-CONTEXT_UPDATE__` |
|
|
306
307
|
|
|
307
|
-
The resolver maps each underscore back to the active agent's separator
|
|
308
|
+
The resolver maps each underscore back to the active agent's separator. An underscore separates segments and a hyphen belongs to the segment it sits in, so `AGENT-CONTEXT_UPDATE` is the two segments `agent-context` and `update` rather than three.
|
|
308
309
|
|
|
309
310
|
**Example** — a command body that points the user at the next step:
|
|
310
311
|
|
|
@@ -314,15 +315,19 @@ Once the assessment exists, the next step is `__SPECKIT_COMMAND_BUG_FIX__ slug=<
|
|
|
314
315
|
|
|
315
316
|
This renders as `/speckit.bug.fix slug=<slug>` for a slash-based agent, `/speckit-bug-fix slug=<slug>` for a skills-based agent, and so on — the author writes it once and it stays portable. The first-party `bug` and `git` extensions use this token exclusively; see `extensions/bug/commands/` for working examples.
|
|
316
317
|
|
|
317
|
-
> **
|
|
318
|
-
>
|
|
319
|
-
>
|
|
320
|
-
>
|
|
321
|
-
>
|
|
322
|
-
>
|
|
323
|
-
>
|
|
324
|
-
>
|
|
325
|
-
>
|
|
318
|
+
> **Skills mode.** Token resolution runs in both paths, so the token is safe to
|
|
319
|
+
> use either way. Command files go through the command-rendering path
|
|
320
|
+
> (`CommandRegistrar`). Skill bodies go through `_resolve_command_ref_tokens` in
|
|
321
|
+
> `_register_extension_skills`, which resolves the same token shape against the
|
|
322
|
+
> active skill style, so `__SPECKIT_COMMAND_BUG_FIX__` renders as:
|
|
323
|
+
>
|
|
324
|
+
> | Agent | Rendered |
|
|
325
|
+
> | --- | --- |
|
|
326
|
+
> | Codex, ZCode, Command Code | `$speckit-bug-fix` |
|
|
327
|
+
> | Claude, Copilot, Cursor, Devin, Droid, Grok and the other slash agents | `/speckit-bug-fix` |
|
|
328
|
+
> | Kimi | `/skill:speckit-bug-fix` |
|
|
329
|
+
>
|
|
330
|
+
> Anything else falls through to the integration's own `build_command_invocation`.
|
|
326
331
|
|
|
327
332
|
### Script Path Rewriting
|
|
328
333
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema_version": "1.0",
|
|
3
|
-
"updated_at": "2026-09-
|
|
3
|
+
"updated_at": "2026-09-08T00:00:00Z",
|
|
4
4
|
"catalog_url": "https://raw.githubusercontent.com/github/spec-kit/main/extensions/catalog.community.json",
|
|
5
5
|
"extensions": {
|
|
6
6
|
"adrkit": {
|
|
@@ -614,6 +614,44 @@
|
|
|
614
614
|
"created_at": "2026-08-13T00:00:00Z",
|
|
615
615
|
"updated_at": "2026-08-19T00:00:00Z"
|
|
616
616
|
},
|
|
617
|
+
"axi": {
|
|
618
|
+
"name": "Axi Extension",
|
|
619
|
+
"id": "axi",
|
|
620
|
+
"description": "A Spec Kit extension that renders a feature's markdown in a local browser review surface for human annotation, then returns the queued notes to the agent to apply.",
|
|
621
|
+
"author": "d0whc3r",
|
|
622
|
+
"version": "1.1.4",
|
|
623
|
+
"download_url": "https://github.com/d0whc3r/spec-kit-axi/releases/download/v1.1.4/axi-1.1.4.zip",
|
|
624
|
+
"repository": "https://github.com/d0whc3r/spec-kit-axi",
|
|
625
|
+
"homepage": "https://d0whc3r.github.io/spec-kit-axi/",
|
|
626
|
+
"documentation": "https://github.com/d0whc3r/spec-kit-axi/wiki",
|
|
627
|
+
"changelog": "https://github.com/d0whc3r/spec-kit-axi/blob/main/CHANGELOG.md",
|
|
628
|
+
"license": "MIT",
|
|
629
|
+
"category": "docs",
|
|
630
|
+
"effect": "read-write",
|
|
631
|
+
"requires": {
|
|
632
|
+
"speckit_version": ">=0.2.0",
|
|
633
|
+
"tools": [
|
|
634
|
+
{
|
|
635
|
+
"name": "node",
|
|
636
|
+
"required": true
|
|
637
|
+
}
|
|
638
|
+
]
|
|
639
|
+
},
|
|
640
|
+
"provides": {
|
|
641
|
+
"commands": 1,
|
|
642
|
+
"hooks": 0
|
|
643
|
+
},
|
|
644
|
+
"tags": [
|
|
645
|
+
"axi",
|
|
646
|
+
"spec-kit",
|
|
647
|
+
"spec-kit-extension"
|
|
648
|
+
],
|
|
649
|
+
"verified": false,
|
|
650
|
+
"downloads": 0,
|
|
651
|
+
"stars": 0,
|
|
652
|
+
"created_at": "2026-09-02T00:00:00Z",
|
|
653
|
+
"updated_at": "2026-09-02T00:00:00Z"
|
|
654
|
+
},
|
|
617
655
|
"azure-devops": {
|
|
618
656
|
"name": "Azure DevOps Integration",
|
|
619
657
|
"id": "azure-devops",
|
|
@@ -868,20 +906,27 @@
|
|
|
868
906
|
"id": "brownkit",
|
|
869
907
|
"description": "Evidence-driven capability discovery, security and QA risk assessment for existing codebases.",
|
|
870
908
|
"author": "Maksim Shautsou",
|
|
871
|
-
"version": "1.0
|
|
872
|
-
"download_url": "https://github.com/MaksimShevtsov/BrownKit/archive/refs/tags/v1.0.
|
|
909
|
+
"version": "1.2.0",
|
|
910
|
+
"download_url": "https://github.com/MaksimShevtsov/BrownKit/archive/refs/tags/v1.2.0.zip",
|
|
873
911
|
"repository": "https://github.com/MaksimShevtsov/BrownKit",
|
|
874
|
-
"homepage": "https://github.com/MaksimShevtsov/BrownKit",
|
|
875
|
-
"documentation": "https://github.com/MaksimShevtsov/BrownKit/blob/main/
|
|
912
|
+
"homepage": "https://github.com/MaksimShevtsov/BrownKit/blob/main/README.md",
|
|
913
|
+
"documentation": "https://github.com/MaksimShevtsov/BrownKit/blob/main/docs/methodology.md",
|
|
876
914
|
"changelog": "https://github.com/MaksimShevtsov/BrownKit/blob/main/CHANGELOG.md",
|
|
877
915
|
"license": "MIT",
|
|
878
916
|
"category": "process",
|
|
879
917
|
"effect": "read-write",
|
|
880
918
|
"requires": {
|
|
881
|
-
"speckit_version": ">=0.1.0"
|
|
919
|
+
"speckit_version": ">=0.1.0",
|
|
920
|
+
"tools": [
|
|
921
|
+
{
|
|
922
|
+
"name": "python",
|
|
923
|
+
"version": ">=3.9",
|
|
924
|
+
"required": false
|
|
925
|
+
}
|
|
926
|
+
]
|
|
882
927
|
},
|
|
883
928
|
"provides": {
|
|
884
|
-
"commands":
|
|
929
|
+
"commands": 11,
|
|
885
930
|
"hooks": 5
|
|
886
931
|
},
|
|
887
932
|
"tags": [
|
|
@@ -895,7 +940,7 @@
|
|
|
895
940
|
"downloads": 0,
|
|
896
941
|
"stars": 0,
|
|
897
942
|
"created_at": "2026-05-10T00:00:00Z",
|
|
898
|
-
"updated_at": "2026-
|
|
943
|
+
"updated_at": "2026-09-08T00:00:00Z"
|
|
899
944
|
},
|
|
900
945
|
"bugfix": {
|
|
901
946
|
"name": "Bugfix Workflow",
|
|
@@ -1039,13 +1084,13 @@
|
|
|
1039
1084
|
"charter": {
|
|
1040
1085
|
"name": "Charter",
|
|
1041
1086
|
"id": "charter",
|
|
1042
|
-
"description": "Compose
|
|
1087
|
+
"description": "Compose project constitutions from shared fragment registries",
|
|
1043
1088
|
"author": "Fyloss",
|
|
1044
|
-
"version": "0.
|
|
1045
|
-
"download_url": "https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.
|
|
1089
|
+
"version": "0.6.1",
|
|
1090
|
+
"download_url": "https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.6.1.zip",
|
|
1046
1091
|
"repository": "https://github.com/Fyloss/spec-kit-charter",
|
|
1047
1092
|
"homepage": "https://github.com/Fyloss/spec-kit-charter",
|
|
1048
|
-
"documentation": "https://github.com/Fyloss/spec-kit-charter/
|
|
1093
|
+
"documentation": "https://github.com/Fyloss/spec-kit-charter/blob/master/README.md",
|
|
1049
1094
|
"changelog": "https://github.com/Fyloss/spec-kit-charter/blob/master/CHANGELOG.md",
|
|
1050
1095
|
"license": "MIT",
|
|
1051
1096
|
"category": "process",
|
|
@@ -1066,15 +1111,15 @@
|
|
|
1066
1111
|
"tags": [
|
|
1067
1112
|
"constitution",
|
|
1068
1113
|
"governance",
|
|
1069
|
-
"
|
|
1070
|
-
"
|
|
1071
|
-
"
|
|
1114
|
+
"multi-repo",
|
|
1115
|
+
"composition",
|
|
1116
|
+
"fragments"
|
|
1072
1117
|
],
|
|
1073
1118
|
"verified": false,
|
|
1074
1119
|
"downloads": 0,
|
|
1075
1120
|
"stars": 0,
|
|
1076
1121
|
"created_at": "2026-07-06T00:00:00Z",
|
|
1077
|
-
"updated_at": "2026-
|
|
1122
|
+
"updated_at": "2026-09-02T00:00:00Z"
|
|
1078
1123
|
},
|
|
1079
1124
|
"ci-guard": {
|
|
1080
1125
|
"name": "CI Guard",
|
|
@@ -1747,6 +1792,40 @@
|
|
|
1747
1792
|
"created_at": "2026-07-08T00:00:00Z",
|
|
1748
1793
|
"updated_at": "2026-07-08T00:00:00Z"
|
|
1749
1794
|
},
|
|
1795
|
+
"evaluator": {
|
|
1796
|
+
"name": "Evaluator Contract",
|
|
1797
|
+
"id": "evaluator",
|
|
1798
|
+
"description": "Provider-neutral evaluator contract for evidence, provenance, uncertainty, and recovery across Spec-Driven Development phases.",
|
|
1799
|
+
"author": "ElectroHire",
|
|
1800
|
+
"version": "1.0.0",
|
|
1801
|
+
"download_url": "https://github.com/electrohire/spec-kit-evaluator/archive/refs/tags/v1.0.0.zip",
|
|
1802
|
+
"repository": "https://github.com/electrohire/spec-kit-evaluator",
|
|
1803
|
+
"homepage": "https://github.com/electrohire/spec-kit-evaluator",
|
|
1804
|
+
"documentation": "https://github.com/electrohire/spec-kit-evaluator/blob/main/README.md",
|
|
1805
|
+
"changelog": "https://github.com/electrohire/spec-kit-evaluator/blob/main/CHANGELOG.md",
|
|
1806
|
+
"license": "MIT",
|
|
1807
|
+
"category": "process",
|
|
1808
|
+
"effect": "read-write",
|
|
1809
|
+
"requires": {
|
|
1810
|
+
"speckit_version": ">=1.0.0"
|
|
1811
|
+
},
|
|
1812
|
+
"provides": {
|
|
1813
|
+
"commands": 4,
|
|
1814
|
+
"hooks": 4
|
|
1815
|
+
},
|
|
1816
|
+
"tags": [
|
|
1817
|
+
"evaluator",
|
|
1818
|
+
"evidence",
|
|
1819
|
+
"provenance",
|
|
1820
|
+
"quality",
|
|
1821
|
+
"governance"
|
|
1822
|
+
],
|
|
1823
|
+
"verified": false,
|
|
1824
|
+
"downloads": 0,
|
|
1825
|
+
"stars": 0,
|
|
1826
|
+
"created_at": "2026-09-03T00:00:00Z",
|
|
1827
|
+
"updated_at": "2026-09-03T00:00:00Z"
|
|
1828
|
+
},
|
|
1750
1829
|
"extensify": {
|
|
1751
1830
|
"name": "Extensify",
|
|
1752
1831
|
"id": "extensify",
|
|
@@ -2608,10 +2687,10 @@
|
|
|
2608
2687
|
"linear": {
|
|
2609
2688
|
"name": "Linear Integration",
|
|
2610
2689
|
"id": "linear",
|
|
2611
|
-
"description": "
|
|
2690
|
+
"description": "Automatically mirror your spec-kit specs into Linear — one issue per spec, a sub-issue per task phase, kept in sync as you work.",
|
|
2612
2691
|
"author": "Ash Brener",
|
|
2613
|
-
"version": "0.
|
|
2614
|
-
"download_url": "https://github.com/ashbrener/spec-kit-linear-sync/archive/refs/tags/v0.
|
|
2692
|
+
"version": "0.8.0",
|
|
2693
|
+
"download_url": "https://github.com/ashbrener/spec-kit-linear-sync/archive/refs/tags/v0.8.0.zip",
|
|
2615
2694
|
"repository": "https://github.com/ashbrener/spec-kit-linear-sync",
|
|
2616
2695
|
"homepage": "https://github.com/ashbrener/spec-kit-linear-sync",
|
|
2617
2696
|
"documentation": "https://github.com/ashbrener/spec-kit-linear-sync/blob/main/README.md",
|
|
@@ -2638,7 +2717,7 @@
|
|
|
2638
2717
|
"downloads": 0,
|
|
2639
2718
|
"stars": 0,
|
|
2640
2719
|
"created_at": "2026-06-01T00:00:00Z",
|
|
2641
|
-
"updated_at": "2026-
|
|
2720
|
+
"updated_at": "2026-09-03T00:00:00Z"
|
|
2642
2721
|
},
|
|
2643
2722
|
"linear-weave": {
|
|
2644
2723
|
"name": "Linear Weave",
|
|
@@ -3340,19 +3419,34 @@
|
|
|
3340
3419
|
"okf": {
|
|
3341
3420
|
"name": "OKF Knowledge Bundle Generator",
|
|
3342
3421
|
"id": "okf",
|
|
3343
|
-
"description": "Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository, mining git history for
|
|
3422
|
+
"description": "Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository, mining git history for rationale and parking what it cannot verify as open questions.",
|
|
3344
3423
|
"author": "Alex Punnen",
|
|
3345
|
-
"version": "0.
|
|
3346
|
-
"download_url": "https://github.com/alexcpn/
|
|
3347
|
-
"repository": "https://github.com/alexcpn/
|
|
3348
|
-
"homepage": "https://github.com/alexcpn/
|
|
3349
|
-
"documentation": "https://github.com/alexcpn/
|
|
3350
|
-
"changelog": "https://github.com/alexcpn/
|
|
3424
|
+
"version": "0.5.0",
|
|
3425
|
+
"download_url": "https://github.com/alexcpn/speckit_okf/archive/refs/tags/v0.5.0.zip",
|
|
3426
|
+
"repository": "https://github.com/alexcpn/speckit_okf",
|
|
3427
|
+
"homepage": "https://github.com/alexcpn/speckit_okf",
|
|
3428
|
+
"documentation": "https://github.com/alexcpn/speckit_okf/blob/main/README.md",
|
|
3429
|
+
"changelog": "https://github.com/alexcpn/speckit_okf/blob/main/CHANGELOG.md",
|
|
3351
3430
|
"license": "MIT",
|
|
3352
3431
|
"category": "docs",
|
|
3353
3432
|
"effect": "read-write",
|
|
3354
3433
|
"requires": {
|
|
3355
|
-
"speckit_version": ">=0.12.0"
|
|
3434
|
+
"speckit_version": ">=0.12.0",
|
|
3435
|
+
"tools": [
|
|
3436
|
+
{
|
|
3437
|
+
"name": "bash",
|
|
3438
|
+
"required": true
|
|
3439
|
+
},
|
|
3440
|
+
{
|
|
3441
|
+
"name": "python3",
|
|
3442
|
+
"version": ">=3.9",
|
|
3443
|
+
"required": true
|
|
3444
|
+
},
|
|
3445
|
+
{
|
|
3446
|
+
"name": "git",
|
|
3447
|
+
"required": false
|
|
3448
|
+
}
|
|
3449
|
+
]
|
|
3356
3450
|
},
|
|
3357
3451
|
"provides": {
|
|
3358
3452
|
"commands": 4,
|
|
@@ -3369,7 +3463,7 @@
|
|
|
3369
3463
|
"downloads": 0,
|
|
3370
3464
|
"stars": 0,
|
|
3371
3465
|
"created_at": "2026-07-17T00:00:00Z",
|
|
3372
|
-
"updated_at": "2026-
|
|
3466
|
+
"updated_at": "2026-09-08T00:00:00Z"
|
|
3373
3467
|
},
|
|
3374
3468
|
"onboard": {
|
|
3375
3469
|
"name": "Onboard",
|