specify-cli 1.0.0__tar.gz → 1.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {specify_cli-1.0.0 → specify_cli-1.0.2}/.devcontainer/devcontainer.json +2 -5
- {specify_cli-1.0.0 → specify_cli-1.0.2}/.devcontainer/post-create.sh +54 -29
- specify_cli-1.0.2/.editorconfig +28 -0
- specify_cli-1.0.2/.gitattributes +7 -0
- specify_cli-1.0.2/.github/CODEOWNERS +7 -0
- specify_cli-1.0.2/.github/ISSUE_TEMPLATE/agent_request.yml +141 -0
- specify_cli-1.0.2/.github/ISSUE_TEMPLATE/bug_report.yml +137 -0
- specify_cli-1.0.2/.github/ISSUE_TEMPLATE/bundle_submission.yml +295 -0
- specify_cli-1.0.2/.github/ISSUE_TEMPLATE/config.yml +17 -0
- specify_cli-1.0.2/.github/ISSUE_TEMPLATE/extension_submission.yml +282 -0
- specify_cli-1.0.2/.github/ISSUE_TEMPLATE/feature_request.yml +123 -0
- specify_cli-1.0.2/.github/ISSUE_TEMPLATE/preset_submission.yml +199 -0
- specify_cli-1.0.2/.github/PULL_REQUEST_TEMPLATE.md +21 -0
- specify_cli-1.0.2/.github/aw/actions-lock.json +44 -0
- specify_cli-1.0.2/.github/dependabot.yml +17 -0
- specify_cli-1.0.2/.github/scripts/check_security_requirements.py +123 -0
- specify_cli-1.0.2/.github/security-audit-requirements.txt +253 -0
- specify_cli-1.0.2/.github/skills/add-community-extension/SKILL.md +174 -0
- specify_cli-1.0.2/.github/workflows/RELEASE-PROCESS.md +191 -0
- specify_cli-1.0.2/.github/workflows/add-community-bundle.lock.yml +1746 -0
- specify_cli-1.0.2/.github/workflows/add-community-bundle.md +288 -0
- specify_cli-1.0.2/.github/workflows/add-community-extension.lock.yml +1726 -0
- specify_cli-1.0.2/.github/workflows/add-community-extension.md +292 -0
- specify_cli-1.0.2/.github/workflows/add-community-preset.lock.yml +1726 -0
- specify_cli-1.0.2/.github/workflows/add-community-preset.md +340 -0
- specify_cli-1.0.2/.github/workflows/bug-assess.lock.yml +1622 -0
- specify_cli-1.0.2/.github/workflows/bug-assess.md +239 -0
- specify_cli-1.0.2/.github/workflows/bug-fix.lock.yml +1732 -0
- specify_cli-1.0.2/.github/workflows/bug-fix.md +312 -0
- specify_cli-1.0.2/.github/workflows/bug-test.lock.yml +1655 -0
- specify_cli-1.0.2/.github/workflows/bug-test.md +360 -0
- specify_cli-1.0.2/.github/workflows/catalog-assign.yml +45 -0
- specify_cli-1.0.2/.github/workflows/codeql.yml +32 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/.github/workflows/docs.yml +7 -6
- specify_cli-1.0.2/.github/workflows/feature-assess.lock.yml +1677 -0
- specify_cli-1.0.2/.github/workflows/feature-assess.md +298 -0
- specify_cli-1.0.2/.github/workflows/lint.yml +69 -0
- specify_cli-1.0.2/.github/workflows/publish-pypi.yml +80 -0
- specify_cli-1.0.2/.github/workflows/release-trigger.yml +178 -0
- specify_cli-1.0.2/.github/workflows/release.yml +88 -0
- specify_cli-1.0.2/.github/workflows/security.yml +78 -0
- specify_cli-1.0.2/.github/workflows/stale.yml +43 -0
- specify_cli-1.0.2/.github/workflows/test.yml +55 -0
- specify_cli-1.0.2/.gitignore +62 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/.markdownlint-cli2.jsonc +4 -2
- specify_cli-1.0.2/.pre-commit-config.yaml +12 -0
- specify_cli-1.0.2/.zenodo.json +29 -0
- specify_cli-1.0.2/AGENTS.md +599 -0
- specify_cli-1.0.2/CHANGELOG.md +2777 -0
- specify_cli-1.0.2/CITATION.cff +31 -0
- specify_cli-1.0.2/CONTRIBUTING.md +292 -0
- specify_cli-1.0.2/DEVELOPMENT.md +24 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/LICENSE +0 -1
- specify_cli-1.0.2/PKG-INFO +491 -0
- specify_cli-1.0.2/README.md +471 -0
- specify_cli-1.0.2/README.zh-CN.md +361 -0
- specify_cli-1.0.2/SUPPORT.md +18 -0
- specify_cli-1.0.2/bundles/catalog.community.json +57 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/docs/.gitignore +0 -1
- specify_cli-1.0.2/docs/community/bundles.md +58 -0
- specify_cli-1.0.2/docs/community/extensions.md +191 -0
- specify_cli-1.0.2/docs/community/friends.md +20 -0
- specify_cli-1.0.2/docs/community/overview.md +33 -0
- specify_cli-1.0.2/docs/community/presets.md +45 -0
- specify_cli-1.0.2/docs/community/walkthroughs.md +20 -0
- specify_cli-1.0.2/docs/concepts/complex-features.md +87 -0
- specify_cli-1.0.0/docs/index.md → specify_cli-1.0.2/docs/concepts/sdd.md +7 -22
- specify_cli-1.0.2/docs/concepts/spec-of-specs.md +171 -0
- specify_cli-1.0.2/docs/concepts/spec-persistence.md +107 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/docs/docfx.json +15 -3
- specify_cli-1.0.2/docs/guides/evolving-specs.md +96 -0
- specify_cli-1.0.2/docs/guides/existing-projects.md +106 -0
- specify_cli-1.0.2/docs/guides/monorepo.md +123 -0
- specify_cli-1.0.2/docs/history.md +173 -0
- specify_cli-1.0.2/docs/index.md +172 -0
- specify_cli-1.0.2/docs/install/air-gapped.md +59 -0
- specify_cli-1.0.2/docs/install/one-time.md +33 -0
- specify_cli-1.0.2/docs/install/pipx.md +38 -0
- specify_cli-1.0.2/docs/install/pypi.md +104 -0
- specify_cli-1.0.2/docs/install/uv.md +60 -0
- specify_cli-1.0.2/docs/installation.md +145 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/docs/local-development.md +50 -26
- specify_cli-1.0.2/docs/quickstart.md +143 -0
- specify_cli-1.0.2/docs/reference/agentic-bugfix.md +52 -0
- specify_cli-1.0.2/docs/reference/agentic-sdd.md +123 -0
- specify_cli-1.0.2/docs/reference/authentication.md +208 -0
- specify_cli-1.0.2/docs/reference/bundles.md +163 -0
- specify_cli-1.0.2/docs/reference/core.md +97 -0
- specify_cli-1.0.2/docs/reference/extensions.md +280 -0
- specify_cli-1.0.2/docs/reference/integrations.md +322 -0
- specify_cli-1.0.2/docs/reference/overview.md +55 -0
- specify_cli-1.0.2/docs/reference/presets.md +226 -0
- specify_cli-1.0.2/docs/reference/workflows.md +651 -0
- specify_cli-1.0.2/docs/template/public/main.css +278 -0
- specify_cli-1.0.2/docs/toc.yml +92 -0
- specify_cli-1.0.2/docs/upgrade.md +550 -0
- specify_cli-1.0.2/examples/bundles/business-analyst/README.md +22 -0
- specify_cli-1.0.2/examples/bundles/business-analyst/bundle.yml +33 -0
- specify_cli-1.0.2/examples/bundles/developer/README.md +22 -0
- specify_cli-1.0.2/examples/bundles/developer/bundle.yml +33 -0
- specify_cli-1.0.2/examples/bundles/product-manager/README.md +22 -0
- specify_cli-1.0.2/examples/bundles/product-manager/bundle.yml +35 -0
- specify_cli-1.0.2/examples/bundles/security-researcher/README.md +23 -0
- specify_cli-1.0.2/examples/bundles/security-researcher/bundle.yml +33 -0
- specify_cli-1.0.2/extensions/EXTENSION-API-REFERENCE.md +896 -0
- specify_cli-1.0.2/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +794 -0
- specify_cli-1.0.2/extensions/EXTENSION-PUBLISHING-GUIDE.md +366 -0
- specify_cli-1.0.2/extensions/EXTENSION-USER-GUIDE.md +1025 -0
- specify_cli-1.0.2/extensions/README.md +123 -0
- specify_cli-1.0.2/extensions/RFC-EXTENSION-SYSTEM.md +1962 -0
- specify_cli-1.0.2/extensions/agent-context/README.md +63 -0
- specify_cli-1.0.2/extensions/agent-context/agent-context-config.yml +24 -0
- specify_cli-1.0.2/extensions/agent-context/agent-context-defaults.json +42 -0
- specify_cli-1.0.2/extensions/agent-context/commands/speckit.agent-context.update.md +27 -0
- specify_cli-1.0.2/extensions/agent-context/extension.yml +34 -0
- specify_cli-1.0.2/extensions/agent-context/scripts/bash/update-agent-context.sh +453 -0
- specify_cli-1.0.2/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +509 -0
- specify_cli-1.0.2/extensions/agent-context/scripts/python/update_agent_context.py +368 -0
- specify_cli-1.0.2/extensions/assess/README.md +105 -0
- specify_cli-1.0.2/extensions/assess/commands/speckit.assess.decide.md +97 -0
- specify_cli-1.0.2/extensions/assess/commands/speckit.assess.define.md +85 -0
- specify_cli-1.0.2/extensions/assess/commands/speckit.assess.intake.md +120 -0
- specify_cli-1.0.2/extensions/assess/commands/speckit.assess.research.md +102 -0
- specify_cli-1.0.2/extensions/assess/commands/speckit.assess.shape.md +82 -0
- specify_cli-1.0.2/extensions/assess/extension.yml +40 -0
- specify_cli-1.0.2/extensions/bug/README.md +80 -0
- specify_cli-1.0.2/extensions/bug/commands/speckit.bug.assess.md +173 -0
- specify_cli-1.0.2/extensions/bug/commands/speckit.bug.fix.md +112 -0
- specify_cli-1.0.2/extensions/bug/commands/speckit.bug.test.md +117 -0
- specify_cli-1.0.2/extensions/bug/extension.yml +31 -0
- specify_cli-1.0.2/extensions/catalog.community.json +6015 -0
- specify_cli-1.0.2/extensions/catalog.json +67 -0
- specify_cli-1.0.2/extensions/git/README.md +119 -0
- specify_cli-1.0.2/extensions/git/commands/speckit.git.commit.md +63 -0
- specify_cli-1.0.2/extensions/git/commands/speckit.git.feature.md +82 -0
- specify_cli-1.0.2/extensions/git/commands/speckit.git.initialize.md +49 -0
- specify_cli-1.0.2/extensions/git/commands/speckit.git.remote.md +45 -0
- specify_cli-1.0.2/extensions/git/commands/speckit.git.validate.md +49 -0
- specify_cli-1.0.2/extensions/git/config-template.yml +79 -0
- specify_cli-1.0.2/extensions/git/extension.yml +142 -0
- specify_cli-1.0.2/extensions/git/git-config.yml +79 -0
- specify_cli-1.0.2/extensions/git/scripts/bash/auto-commit.sh +211 -0
- specify_cli-1.0.2/extensions/git/scripts/bash/create-new-feature-branch.sh +626 -0
- specify_cli-1.0.2/extensions/git/scripts/bash/git-common.sh +56 -0
- specify_cli-1.0.2/extensions/git/scripts/bash/initialize-repo.sh +54 -0
- specify_cli-1.0.2/extensions/git/scripts/powershell/auto-commit.ps1 +230 -0
- specify_cli-1.0.2/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +592 -0
- specify_cli-1.0.2/extensions/git/scripts/powershell/git-common.ps1 +52 -0
- specify_cli-1.0.2/extensions/git/scripts/powershell/initialize-repo.ps1 +69 -0
- specify_cli-1.0.2/extensions/git/scripts/python/auto_commit.py +195 -0
- specify_cli-1.0.2/extensions/git/scripts/python/create_new_feature_branch.py +634 -0
- specify_cli-1.0.2/extensions/git/scripts/python/git_common.py +81 -0
- specify_cli-1.0.2/extensions/git/scripts/python/initialize_repo.py +89 -0
- specify_cli-1.0.2/extensions/selftest/commands/selftest.md +69 -0
- specify_cli-1.0.2/extensions/selftest/extension.yml +16 -0
- specify_cli-1.0.2/extensions/template/.gitignore +39 -0
- specify_cli-1.0.2/extensions/template/CHANGELOG.md +39 -0
- specify_cli-1.0.2/extensions/template/EXAMPLE-README.md +158 -0
- specify_cli-1.0.2/extensions/template/LICENSE +21 -0
- specify_cli-1.0.2/extensions/template/README.md +79 -0
- specify_cli-1.0.2/extensions/template/commands/example.md +210 -0
- specify_cli-1.0.2/extensions/template/config-template.yml +75 -0
- specify_cli-1.0.2/extensions/template/extension.yml +113 -0
- specify_cli-1.0.2/integrations/CONTRIBUTING.md +142 -0
- specify_cli-1.0.2/integrations/README.md +129 -0
- specify_cli-1.0.2/integrations/catalog.community.json +6 -0
- specify_cli-1.0.2/integrations/catalog.json +349 -0
- specify_cli-1.0.2/media/logo_large.webp +0 -0
- specify_cli-1.0.2/newsletters/2026-April.md +147 -0
- specify_cli-1.0.2/newsletters/2026-February.md +54 -0
- specify_cli-1.0.2/newsletters/2026-July.md +152 -0
- specify_cli-1.0.2/newsletters/2026-June.md +156 -0
- specify_cli-1.0.2/newsletters/2026-March.md +78 -0
- specify_cli-1.0.2/newsletters/2026-May.md +138 -0
- specify_cli-1.0.2/presets/ARCHITECTURE.md +187 -0
- specify_cli-1.0.2/presets/PUBLISHING.md +363 -0
- specify_cli-1.0.2/presets/README.md +168 -0
- specify_cli-1.0.2/presets/catalog.community.json +969 -0
- specify_cli-1.0.2/presets/catalog.json +53 -0
- specify_cli-1.0.2/presets/constitution-sync/README.md +135 -0
- specify_cli-1.0.2/presets/constitution-sync/commands/speckit.constitution.md +54 -0
- specify_cli-1.0.2/presets/constitution-sync/preset.yml +30 -0
- specify_cli-1.0.2/presets/lean/README.md +45 -0
- specify_cli-1.0.2/presets/lean/commands/speckit.constitution.md +33 -0
- specify_cli-1.0.2/presets/lean/commands/speckit.implement.md +22 -0
- specify_cli-1.0.2/presets/lean/commands/speckit.plan.md +19 -0
- specify_cli-1.0.2/presets/lean/commands/speckit.specify.md +23 -0
- specify_cli-1.0.2/presets/lean/commands/speckit.tasks.md +19 -0
- specify_cli-1.0.2/presets/lean/preset.yml +51 -0
- specify_cli-1.0.2/presets/scaffold/README.md +46 -0
- specify_cli-1.0.2/presets/scaffold/commands/speckit.myext.myextcmd.md +20 -0
- specify_cli-1.0.2/presets/scaffold/commands/speckit.specify.md +23 -0
- specify_cli-1.0.2/presets/scaffold/preset.yml +120 -0
- specify_cli-1.0.2/presets/scaffold/templates/myext-template.md +24 -0
- specify_cli-1.0.2/presets/scaffold/templates/spec-template.md +18 -0
- specify_cli-1.0.2/presets/self-test/commands/speckit.specify.md +15 -0
- specify_cli-1.0.2/presets/self-test/commands/speckit.wrap-test.md +14 -0
- specify_cli-1.0.2/presets/self-test/preset.yml +60 -0
- specify_cli-1.0.2/presets/self-test/templates/checklist-template.md +15 -0
- specify_cli-1.0.2/presets/self-test/templates/constitution-template.md +15 -0
- specify_cli-1.0.2/presets/self-test/templates/plan-template.md +22 -0
- specify_cli-1.0.2/presets/self-test/templates/spec-template.md +23 -0
- specify_cli-1.0.2/presets/self-test/templates/tasks-template.md +17 -0
- specify_cli-1.0.2/pyproject.toml +90 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/scripts/bash/check-prerequisites.sh +87 -23
- specify_cli-1.0.2/scripts/bash/common.sh +918 -0
- specify_cli-1.0.2/scripts/bash/create-new-feature.sh +407 -0
- specify_cli-1.0.2/scripts/bash/resolve-template.sh +57 -0
- specify_cli-1.0.2/scripts/bash/setup-plan.sh +85 -0
- specify_cli-1.0.2/scripts/bash/setup-tasks.sh +94 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/scripts/powershell/check-prerequisites.ps1 +55 -29
- specify_cli-1.0.2/scripts/powershell/common.ps1 +796 -0
- specify_cli-1.0.2/scripts/powershell/create-new-feature.ps1 +319 -0
- specify_cli-1.0.2/scripts/powershell/resolve-template.ps1 +38 -0
- specify_cli-1.0.2/scripts/powershell/setup-plan.ps1 +83 -0
- specify_cli-1.0.2/scripts/powershell/setup-tasks.ps1 +93 -0
- specify_cli-1.0.2/scripts/python/check_prerequisites.py +275 -0
- specify_cli-1.0.2/scripts/python/common.py +554 -0
- specify_cli-1.0.2/scripts/python/create_new_feature.py +441 -0
- specify_cli-1.0.2/scripts/python/resolve_template.py +63 -0
- specify_cli-1.0.2/scripts/python/setup_plan.py +97 -0
- specify_cli-1.0.2/scripts/python/setup_tasks.py +175 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/spec-driven.md +7 -1
- specify_cli-1.0.2/spec-kit.code-workspace +8 -0
- specify_cli-1.0.2/src/specify_cli/__init__.py +601 -0
- specify_cli-1.0.2/src/specify_cli/_agent_config.py +56 -0
- specify_cli-1.0.2/src/specify_cli/_assets.py +121 -0
- specify_cli-1.0.2/src/specify_cli/_console.py +273 -0
- specify_cli-1.0.2/src/specify_cli/_download_security.py +1275 -0
- specify_cli-1.0.2/src/specify_cli/_github_http.py +201 -0
- specify_cli-1.0.2/src/specify_cli/_init_options.py +83 -0
- specify_cli-1.0.2/src/specify_cli/_invocation_style.py +80 -0
- specify_cli-1.0.2/src/specify_cli/_project.py +53 -0
- specify_cli-1.0.2/src/specify_cli/_toml_string.py +60 -0
- specify_cli-1.0.2/src/specify_cli/_utils.py +336 -0
- specify_cli-1.0.2/src/specify_cli/_version.py +1447 -0
- specify_cli-1.0.2/src/specify_cli/agents.py +1360 -0
- specify_cli-1.0.2/src/specify_cli/authentication/__init__.py +50 -0
- specify_cli-1.0.2/src/specify_cli/authentication/azure_devops.py +188 -0
- specify_cli-1.0.2/src/specify_cli/authentication/base.py +57 -0
- specify_cli-1.0.2/src/specify_cli/authentication/config.py +240 -0
- specify_cli-1.0.2/src/specify_cli/authentication/github.py +24 -0
- specify_cli-1.0.2/src/specify_cli/authentication/http.py +223 -0
- specify_cli-1.0.2/src/specify_cli/bundler/__init__.py +19 -0
- specify_cli-1.0.2/src/specify_cli/bundler/commands_impl/__init__.py +2 -0
- specify_cli-1.0.2/src/specify_cli/bundler/commands_impl/catalog_config.py +232 -0
- specify_cli-1.0.2/src/specify_cli/bundler/lib/__init__.py +2 -0
- specify_cli-1.0.2/src/specify_cli/bundler/lib/project.py +102 -0
- specify_cli-1.0.2/src/specify_cli/bundler/lib/versioning.py +99 -0
- specify_cli-1.0.2/src/specify_cli/bundler/lib/yamlio.py +202 -0
- specify_cli-1.0.2/src/specify_cli/bundler/models/__init__.py +2 -0
- specify_cli-1.0.2/src/specify_cli/bundler/models/catalog.py +323 -0
- specify_cli-1.0.2/src/specify_cli/bundler/models/manifest.py +290 -0
- specify_cli-1.0.2/src/specify_cli/bundler/models/records.py +239 -0
- specify_cli-1.0.2/src/specify_cli/bundler/services/__init__.py +2 -0
- specify_cli-1.0.2/src/specify_cli/bundler/services/adapters.py +244 -0
- specify_cli-1.0.2/src/specify_cli/bundler/services/catalog_stack.py +122 -0
- specify_cli-1.0.2/src/specify_cli/bundler/services/conflict.py +54 -0
- specify_cli-1.0.2/src/specify_cli/bundler/services/installer.py +257 -0
- specify_cli-1.0.2/src/specify_cli/bundler/services/packager.py +153 -0
- specify_cli-1.0.2/src/specify_cli/bundler/services/primitives.py +444 -0
- specify_cli-1.0.2/src/specify_cli/bundler/services/references.py +127 -0
- specify_cli-1.0.2/src/specify_cli/bundler/services/resolver.py +132 -0
- specify_cli-1.0.2/src/specify_cli/bundler/services/validator.py +60 -0
- specify_cli-1.0.2/src/specify_cli/catalogs.py +197 -0
- specify_cli-1.0.2/src/specify_cli/commands/__init__.py +7 -0
- specify_cli-1.0.2/src/specify_cli/commands/bundle/__init__.py +1103 -0
- specify_cli-1.0.2/src/specify_cli/commands/event.py +61 -0
- specify_cli-1.0.2/src/specify_cli/commands/init.py +1153 -0
- specify_cli-1.0.2/src/specify_cli/events.py +2579 -0
- specify_cli-1.0.2/src/specify_cli/extensions/__init__.py +5393 -0
- specify_cli-1.0.2/src/specify_cli/extensions/_commands.py +2782 -0
- specify_cli-1.0.2/src/specify_cli/integration_runtime.py +113 -0
- specify_cli-1.0.2/src/specify_cli/integration_scaffold.py +281 -0
- specify_cli-1.0.2/src/specify_cli/integration_state.py +252 -0
- specify_cli-1.0.2/src/specify_cli/integration_status.py +663 -0
- specify_cli-1.0.2/src/specify_cli/integrations/__init__.py +130 -0
- specify_cli-1.0.2/src/specify_cli/integrations/_commands.py +35 -0
- specify_cli-1.0.2/src/specify_cli/integrations/_helpers.py +549 -0
- specify_cli-1.0.2/src/specify_cli/integrations/_install_commands.py +329 -0
- specify_cli-1.0.2/src/specify_cli/integrations/_migrate_commands.py +903 -0
- specify_cli-1.0.2/src/specify_cli/integrations/_query_commands.py +573 -0
- specify_cli-1.0.2/src/specify_cli/integrations/_scaffold_commands.py +54 -0
- specify_cli-1.0.2/src/specify_cli/integrations/agy/__init__.py +130 -0
- specify_cli-1.0.2/src/specify_cli/integrations/alquimia/__init__.py +189 -0
- specify_cli-1.0.2/src/specify_cli/integrations/amp/__init__.py +20 -0
- specify_cli-1.0.2/src/specify_cli/integrations/auggie/__init__.py +21 -0
- specify_cli-1.0.2/src/specify_cli/integrations/base.py +1827 -0
- specify_cli-1.0.2/src/specify_cli/integrations/bob/__init__.py +283 -0
- specify_cli-1.0.2/src/specify_cli/integrations/catalog.py +878 -0
- specify_cli-1.0.2/src/specify_cli/integrations/claude/__init__.py +239 -0
- specify_cli-1.0.2/src/specify_cli/integrations/cline/__init__.py +184 -0
- specify_cli-1.0.2/src/specify_cli/integrations/codebuddy/__init__.py +21 -0
- specify_cli-1.0.2/src/specify_cli/integrations/codex/__init__.py +72 -0
- specify_cli-1.0.2/src/specify_cli/integrations/command_code/__init__.py +41 -0
- specify_cli-1.0.2/src/specify_cli/integrations/copilot/__init__.py +659 -0
- specify_cli-1.0.2/src/specify_cli/integrations/cursor_agent/__init__.py +123 -0
- specify_cli-1.0.2/src/specify_cli/integrations/devin/__init__.py +91 -0
- specify_cli-1.0.2/src/specify_cli/integrations/droid/__init__.py +135 -0
- specify_cli-1.0.2/src/specify_cli/integrations/firebender/__init__.py +32 -0
- specify_cli-1.0.2/src/specify_cli/integrations/forge/__init__.py +218 -0
- specify_cli-1.0.2/src/specify_cli/integrations/gemini/__init__.py +49 -0
- specify_cli-1.0.2/src/specify_cli/integrations/generic/__init__.py +147 -0
- specify_cli-1.0.2/src/specify_cli/integrations/goose/__init__.py +103 -0
- specify_cli-1.0.2/src/specify_cli/integrations/grok/__init__.py +60 -0
- specify_cli-1.0.2/src/specify_cli/integrations/hermes/__init__.py +307 -0
- specify_cli-1.0.2/src/specify_cli/integrations/junie/__init__.py +178 -0
- specify_cli-1.0.2/src/specify_cli/integrations/kilocode/__init__.py +22 -0
- specify_cli-1.0.2/src/specify_cli/integrations/kimi/__init__.py +380 -0
- specify_cli-1.0.2/src/specify_cli/integrations/kiro_cli/__init__.py +36 -0
- specify_cli-1.0.2/src/specify_cli/integrations/lingma/__init__.py +41 -0
- specify_cli-1.0.2/src/specify_cli/integrations/manifest.py +522 -0
- specify_cli-1.0.2/src/specify_cli/integrations/omp/__init__.py +45 -0
- specify_cli-1.0.2/src/specify_cli/integrations/opencode/__init__.py +67 -0
- specify_cli-1.0.2/src/specify_cli/integrations/pi/__init__.py +21 -0
- specify_cli-1.0.2/src/specify_cli/integrations/qodercli/__init__.py +28 -0
- specify_cli-1.0.2/src/specify_cli/integrations/qwen/__init__.py +44 -0
- specify_cli-1.0.2/src/specify_cli/integrations/rovodev/__init__.py +248 -0
- specify_cli-1.0.2/src/specify_cli/integrations/shai/__init__.py +21 -0
- specify_cli-1.0.2/src/specify_cli/integrations/tabnine/__init__.py +47 -0
- specify_cli-1.0.2/src/specify_cli/integrations/trae/__init__.py +40 -0
- specify_cli-1.0.2/src/specify_cli/integrations/vibe/__init__.py +196 -0
- specify_cli-1.0.2/src/specify_cli/integrations/zcode/__init__.py +42 -0
- specify_cli-1.0.2/src/specify_cli/integrations/zed/__init__.py +33 -0
- specify_cli-1.0.2/src/specify_cli/presets/__init__.py +5927 -0
- specify_cli-1.0.2/src/specify_cli/presets/_commands.py +869 -0
- specify_cli-1.0.2/src/specify_cli/shared_infra.py +765 -0
- specify_cli-1.0.2/src/specify_cli/workflows/__init__.py +211 -0
- specify_cli-1.0.2/src/specify_cli/workflows/_commands.py +3880 -0
- specify_cli-1.0.2/src/specify_cli/workflows/base.py +146 -0
- specify_cli-1.0.2/src/specify_cli/workflows/catalog.py +1501 -0
- specify_cli-1.0.2/src/specify_cli/workflows/engine.py +1788 -0
- specify_cli-1.0.2/src/specify_cli/workflows/expressions.py +1213 -0
- specify_cli-1.0.2/src/specify_cli/workflows/overlays/__init__.py +95 -0
- specify_cli-1.0.2/src/specify_cli/workflows/overlays/_commands.py +452 -0
- specify_cli-1.0.2/src/specify_cli/workflows/overlays/composer.py +97 -0
- specify_cli-1.0.2/src/specify_cli/workflows/overlays/layer_sources.py +250 -0
- specify_cli-1.0.2/src/specify_cli/workflows/overlays/merge.py +407 -0
- specify_cli-1.0.2/src/specify_cli/workflows/overlays/schema.py +181 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/__init__.py +1 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/command/__init__.py +279 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/do_while/__init__.py +139 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/fan_in/__init__.py +132 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/fan_out/__init__.py +107 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/gate/__init__.py +340 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/if_then/__init__.py +129 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/init/__init__.py +321 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/prompt/__init__.py +301 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/shell/__init__.py +169 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/switch/__init__.py +141 -0
- specify_cli-1.0.2/src/specify_cli/workflows/steps/while_loop/__init__.py +148 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/templates/checklist-template.md +11 -6
- {specify_cli-1.0.0 → specify_cli-1.0.2}/templates/commands/analyze.md +75 -7
- {specify_cli-1.0.0 → specify_cli-1.0.2}/templates/commands/checklist.md +95 -13
- {specify_cli-1.0.0 → specify_cli-1.0.2}/templates/commands/clarify.md +126 -19
- specify_cli-1.0.2/templates/commands/constitution.md +177 -0
- specify_cli-1.0.2/templates/commands/converge.md +273 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/templates/commands/implement.md +101 -17
- specify_cli-1.0.2/templates/commands/plan.md +170 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/templates/commands/specify.md +142 -58
- specify_cli-1.0.2/templates/commands/tasks.md +219 -0
- specify_cli-1.0.2/templates/commands/taskstoissues.md +106 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/templates/plan-template.md +23 -14
- {specify_cli-1.0.0 → specify_cli-1.0.2}/templates/spec-template.md +21 -5
- {specify_cli-1.0.0 → specify_cli-1.0.2}/templates/tasks-template.md +6 -5
- {specify_cli-1.0.0 → specify_cli-1.0.2}/templates/vscode-settings.json +0 -1
- specify_cli-1.0.2/tests/__init__.py +1 -0
- specify_cli-1.0.2/tests/auth_helpers.py +21 -0
- specify_cli-1.0.2/tests/bundler_helpers.py +125 -0
- specify_cli-1.0.2/tests/conftest.py +166 -0
- specify_cli-1.0.2/tests/contract/test_bundle_cli.py +1074 -0
- specify_cli-1.0.2/tests/contract/test_catalog_schema.py +323 -0
- specify_cli-1.0.2/tests/contract/test_manifest_schema.py +225 -0
- specify_cli-1.0.2/tests/contract/test_wheel_bundled_presets.py +53 -0
- specify_cli-1.0.2/tests/contract/test_wheel_core_pack_scripts.py +40 -0
- specify_cli-1.0.2/tests/extensions/__init__.py +1 -0
- specify_cli-1.0.2/tests/extensions/assess/__init__.py +0 -0
- specify_cli-1.0.2/tests/extensions/assess/test_assess_extension.py +124 -0
- specify_cli-1.0.2/tests/extensions/bug/__init__.py +0 -0
- specify_cli-1.0.2/tests/extensions/bug/test_bug_extension.py +113 -0
- specify_cli-1.0.2/tests/extensions/git/__init__.py +1 -0
- specify_cli-1.0.2/tests/extensions/git/test_git_extension.py +2082 -0
- specify_cli-1.0.2/tests/extensions/git/test_git_extension_python_parity.py +673 -0
- specify_cli-1.0.2/tests/extensions/test_agent_context_cli_free.py +57 -0
- specify_cli-1.0.2/tests/extensions/test_extension_agent_context.py +989 -0
- specify_cli-1.0.2/tests/extensions/test_update_agent_context_feature_json.py +210 -0
- specify_cli-1.0.2/tests/extensions/test_update_agent_context_python_parity.py +564 -0
- specify_cli-1.0.2/tests/hooks/TESTING.md +30 -0
- specify_cli-1.0.2/tests/hooks/plan.md +3 -0
- specify_cli-1.0.2/tests/hooks/spec.md +1 -0
- specify_cli-1.0.2/tests/hooks/tasks.md +1 -0
- specify_cli-1.0.2/tests/http_helpers.py +46 -0
- specify_cli-1.0.2/tests/integration/test_bundler_catalog_stack.py +141 -0
- specify_cli-1.0.2/tests/integration/test_bundler_init_install.py +106 -0
- specify_cli-1.0.2/tests/integration/test_bundler_install_flow.py +506 -0
- specify_cli-1.0.2/tests/integration/test_bundler_local_install.py +311 -0
- specify_cli-1.0.2/tests/integration/test_bundler_offline.py +97 -0
- specify_cli-1.0.2/tests/integration/test_bundler_security_paths.py +236 -0
- specify_cli-1.0.2/tests/integrations/__init__.py +0 -0
- specify_cli-1.0.2/tests/integrations/conftest.py +58 -0
- specify_cli-1.0.2/tests/integrations/test_base.py +721 -0
- specify_cli-1.0.2/tests/integrations/test_cli.py +3066 -0
- specify_cli-1.0.2/tests/integrations/test_events.py +2774 -0
- specify_cli-1.0.2/tests/integrations/test_extra_args.py +676 -0
- specify_cli-1.0.2/tests/integrations/test_home_isolation.py +25 -0
- specify_cli-1.0.2/tests/integrations/test_integration_agy.py +154 -0
- specify_cli-1.0.2/tests/integrations/test_integration_alquimia.py +702 -0
- specify_cli-1.0.2/tests/integrations/test_integration_amp.py +10 -0
- specify_cli-1.0.2/tests/integrations/test_integration_auggie.py +10 -0
- specify_cli-1.0.2/tests/integrations/test_integration_base_markdown.py +315 -0
- specify_cli-1.0.2/tests/integrations/test_integration_base_skills.py +577 -0
- specify_cli-1.0.2/tests/integrations/test_integration_base_toml.py +601 -0
- specify_cli-1.0.2/tests/integrations/test_integration_base_yaml.py +515 -0
- specify_cli-1.0.2/tests/integrations/test_integration_bob.py +927 -0
- specify_cli-1.0.2/tests/integrations/test_integration_catalog.py +1950 -0
- specify_cli-1.0.2/tests/integrations/test_integration_claude.py +956 -0
- specify_cli-1.0.2/tests/integrations/test_integration_cline.py +226 -0
- specify_cli-1.0.2/tests/integrations/test_integration_codebuddy.py +21 -0
- specify_cli-1.0.2/tests/integrations/test_integration_codex.py +193 -0
- specify_cli-1.0.2/tests/integrations/test_integration_command_code.py +47 -0
- specify_cli-1.0.2/tests/integrations/test_integration_copilot.py +978 -0
- specify_cli-1.0.2/tests/integrations/test_integration_cursor_agent.py +233 -0
- specify_cli-1.0.2/tests/integrations/test_integration_devin.py +74 -0
- specify_cli-1.0.2/tests/integrations/test_integration_droid.py +276 -0
- specify_cli-1.0.2/tests/integrations/test_integration_firebender.py +44 -0
- specify_cli-1.0.2/tests/integrations/test_integration_forge.py +518 -0
- specify_cli-1.0.2/tests/integrations/test_integration_gemini.py +10 -0
- specify_cli-1.0.2/tests/integrations/test_integration_generic.py +424 -0
- specify_cli-1.0.2/tests/integrations/test_integration_goose.py +183 -0
- specify_cli-1.0.2/tests/integrations/test_integration_grok.py +187 -0
- specify_cli-1.0.2/tests/integrations/test_integration_hermes.py +390 -0
- specify_cli-1.0.2/tests/integrations/test_integration_junie.py +229 -0
- specify_cli-1.0.2/tests/integrations/test_integration_kilocode.py +76 -0
- specify_cli-1.0.2/tests/integrations/test_integration_kimi.py +404 -0
- specify_cli-1.0.2/tests/integrations/test_integration_kiro_cli.py +151 -0
- specify_cli-1.0.2/tests/integrations/test_integration_lingma.py +18 -0
- specify_cli-1.0.2/tests/integrations/test_integration_omp.py +36 -0
- specify_cli-1.0.2/tests/integrations/test_integration_opencode.py +199 -0
- specify_cli-1.0.2/tests/integrations/test_integration_pi.py +18 -0
- specify_cli-1.0.2/tests/integrations/test_integration_qodercli.py +39 -0
- specify_cli-1.0.2/tests/integrations/test_integration_qwen.py +10 -0
- specify_cli-1.0.2/tests/integrations/test_integration_rovodev.py +295 -0
- specify_cli-1.0.2/tests/integrations/test_integration_scaffold.py +238 -0
- specify_cli-1.0.2/tests/integrations/test_integration_shai.py +10 -0
- specify_cli-1.0.2/tests/integrations/test_integration_state.py +114 -0
- specify_cli-1.0.2/tests/integrations/test_integration_subcommand.py +4499 -0
- specify_cli-1.0.2/tests/integrations/test_integration_tabnine.py +10 -0
- specify_cli-1.0.2/tests/integrations/test_integration_trae.py +10 -0
- specify_cli-1.0.2/tests/integrations/test_integration_vibe.py +336 -0
- specify_cli-1.0.2/tests/integrations/test_integration_zcode.py +36 -0
- specify_cli-1.0.2/tests/integrations/test_integration_zed.py +167 -0
- specify_cli-1.0.2/tests/integrations/test_manifest.py +578 -0
- specify_cli-1.0.2/tests/integrations/test_registry.py +311 -0
- specify_cli-1.0.2/tests/integrations/test_skill_frontmatter_quoting.py +243 -0
- specify_cli-1.0.2/tests/parity_helpers.py +194 -0
- specify_cli-1.0.2/tests/self_upgrade_helpers.py +65 -0
- specify_cli-1.0.2/tests/test_agent_config_consistency.py +441 -0
- specify_cli-1.0.2/tests/test_authentication.py +1475 -0
- specify_cli-1.0.2/tests/test_branch_numbering.py +24 -0
- specify_cli-1.0.2/tests/test_check_prerequisites_paths_only.py +519 -0
- specify_cli-1.0.2/tests/test_check_prerequisites_python_parity.py +601 -0
- specify_cli-1.0.2/tests/test_check_tool.py +149 -0
- specify_cli-1.0.2/tests/test_cli_version.py +79 -0
- specify_cli-1.0.2/tests/test_command_template_py_scripts.py +232 -0
- specify_cli-1.0.2/tests/test_commands_package.py +100 -0
- specify_cli-1.0.2/tests/test_console_imports.py +107 -0
- specify_cli-1.0.2/tests/test_create_new_feature_python_parity.py +1067 -0
- specify_cli-1.0.2/tests/test_download_security.py +1435 -0
- specify_cli-1.0.2/tests/test_event_command.py +145 -0
- specify_cli-1.0.2/tests/test_extension_add_path_traversal.py +401 -0
- specify_cli-1.0.2/tests/test_extension_registration.py +497 -0
- specify_cli-1.0.2/tests/test_extension_skills.py +3587 -0
- specify_cli-1.0.2/tests/test_extension_update_hardening.py +2225 -0
- specify_cli-1.0.2/tests/test_extensions.py +11636 -0
- specify_cli-1.0.2/tests/test_github_http.py +445 -0
- specify_cli-1.0.2/tests/test_github_workflows.py +169 -0
- specify_cli-1.0.2/tests/test_init_dir.py +605 -0
- specify_cli-1.0.2/tests/test_init_dir_cli.py +294 -0
- specify_cli-1.0.2/tests/test_init_output_markup.py +176 -0
- specify_cli-1.0.2/tests/test_live_transient_windows.py +93 -0
- specify_cli-1.0.2/tests/test_merge.py +240 -0
- specify_cli-1.0.2/tests/test_post_process.py +302 -0
- specify_cli-1.0.2/tests/test_presets.py +14015 -0
- specify_cli-1.0.2/tests/test_ps1_encoding.py +54 -0
- specify_cli-1.0.2/tests/test_registrar_path_traversal.py +425 -0
- specify_cli-1.0.2/tests/test_resolve_template_python_parity.py +753 -0
- specify_cli-1.0.2/tests/test_security_workflow.py +365 -0
- specify_cli-1.0.2/tests/test_self_upgrade_detection.py +888 -0
- specify_cli-1.0.2/tests/test_self_upgrade_execution.py +543 -0
- specify_cli-1.0.2/tests/test_self_upgrade_guidance.py +185 -0
- specify_cli-1.0.2/tests/test_self_upgrade_verification.py +670 -0
- specify_cli-1.0.2/tests/test_setup_plan_feature_json.py +262 -0
- specify_cli-1.0.2/tests/test_setup_plan_no_overwrite.py +272 -0
- specify_cli-1.0.2/tests/test_setup_plan_python_parity.py +374 -0
- specify_cli-1.0.2/tests/test_setup_tasks.py +1042 -0
- specify_cli-1.0.2/tests/test_setup_tasks_python_parity.py +270 -0
- specify_cli-1.0.2/tests/test_shared_infra_gitignore.py +103 -0
- specify_cli-1.0.2/tests/test_shared_infra_integrity.py +101 -0
- specify_cli-1.0.2/tests/test_skill_placeholder_py.py +152 -0
- specify_cli-1.0.2/tests/test_specify_template_numbering.py +39 -0
- specify_cli-1.0.2/tests/test_timestamp_branches.py +1432 -0
- specify_cli-1.0.2/tests/test_upgrade.py +449 -0
- specify_cli-1.0.2/tests/test_utils.py +21 -0
- specify_cli-1.0.2/tests/test_utils_assets_imports.py +19 -0
- specify_cli-1.0.2/tests/test_version_imports.py +40 -0
- specify_cli-1.0.2/tests/test_workflow_run_without_project.py +408 -0
- specify_cli-1.0.2/tests/test_workflows.py +17182 -0
- specify_cli-1.0.2/tests/unit/test_bundle_download_url.py +162 -0
- specify_cli-1.0.2/tests/unit/test_bundler_adapters.py +203 -0
- specify_cli-1.0.2/tests/unit/test_bundler_catalog_config.py +315 -0
- specify_cli-1.0.2/tests/unit/test_bundler_conflict.py +54 -0
- specify_cli-1.0.2/tests/unit/test_bundler_packager.py +236 -0
- specify_cli-1.0.2/tests/unit/test_bundler_primitives.py +336 -0
- specify_cli-1.0.2/tests/unit/test_bundler_records.py +211 -0
- specify_cli-1.0.2/tests/unit/test_bundler_references.py +112 -0
- specify_cli-1.0.2/tests/unit/test_bundler_resolver.py +107 -0
- specify_cli-1.0.2/tests/unit/test_bundler_validator.py +32 -0
- specify_cli-1.0.2/tests/unit/test_bundler_versioning.py +68 -0
- specify_cli-1.0.2/tests/unit/test_bundler_yamlio.py +58 -0
- specify_cli-1.0.2/tests/unit/test_condition_expression_block.py +758 -0
- specify_cli-1.0.2/tests/workflows/conftest.py +26 -0
- specify_cli-1.0.2/tests/workflows/test_overlay_commands.py +895 -0
- specify_cli-1.0.2/tests/workflows/test_overlay_composer.py +153 -0
- specify_cli-1.0.2/tests/workflows/test_overlay_layer_sources.py +327 -0
- specify_cli-1.0.2/tests/workflows/test_overlay_merge.py +735 -0
- specify_cli-1.0.2/tests/workflows/test_overlay_schema.py +315 -0
- specify_cli-1.0.2/tests/workflows/test_overlay_security.py +321 -0
- specify_cli-1.0.2/tests/workflows/test_resolver_integration.py +567 -0
- specify_cli-1.0.2/workflows/ARCHITECTURE.md +214 -0
- specify_cli-1.0.2/workflows/PUBLISHING.md +298 -0
- specify_cli-1.0.2/workflows/README.md +486 -0
- specify_cli-1.0.2/workflows/catalog.community.json +50 -0
- specify_cli-1.0.2/workflows/catalog.json +16 -0
- specify_cli-1.0.2/workflows/speckit/workflow.yml +78 -0
- specify_cli-1.0.2/workflows/step-catalog.community.json +6 -0
- specify_cli-1.0.2/workflows/step-catalog.json +6 -0
- specify_cli-1.0.0/.gitattributes +0 -1
- specify_cli-1.0.0/.github/CODEOWNERS +0 -3
- specify_cli-1.0.0/.github/workflows/lint.yml +0 -20
- specify_cli-1.0.0/.github/workflows/pypi.yml +0 -45
- specify_cli-1.0.0/.github/workflows/release.yml +0 -60
- specify_cli-1.0.0/.github/workflows/scripts/check-release-exists.sh +0 -21
- specify_cli-1.0.0/.github/workflows/scripts/create-github-release.sh +0 -54
- specify_cli-1.0.0/.github/workflows/scripts/create-release-packages.ps1 +0 -424
- specify_cli-1.0.0/.github/workflows/scripts/create-release-packages.sh +0 -273
- specify_cli-1.0.0/.github/workflows/scripts/generate-release-notes.sh +0 -40
- specify_cli-1.0.0/.github/workflows/scripts/get-next-version.sh +0 -24
- specify_cli-1.0.0/.github/workflows/scripts/update-version.sh +0 -23
- specify_cli-1.0.0/.gitignore +0 -46
- specify_cli-1.0.0/AGENTS.md +0 -413
- specify_cli-1.0.0/CHANGELOG.md +0 -183
- specify_cli-1.0.0/CONTRIBUTING.md +0 -150
- specify_cli-1.0.0/PKG-INFO +0 -12
- specify_cli-1.0.0/README.md +0 -654
- specify_cli-1.0.0/SUPPORT.md +0 -19
- specify_cli-1.0.0/docs/installation.md +0 -92
- specify_cli-1.0.0/docs/quickstart.md +0 -164
- specify_cli-1.0.0/docs/toc.yml +0 -19
- specify_cli-1.0.0/docs/upgrade.md +0 -444
- specify_cli-1.0.0/pyproject.toml +0 -24
- specify_cli-1.0.0/scripts/bash/common.sh +0 -156
- specify_cli-1.0.0/scripts/bash/create-new-feature.sh +0 -297
- specify_cli-1.0.0/scripts/bash/setup-plan.sh +0 -61
- specify_cli-1.0.0/scripts/bash/update-agent-context.sh +0 -799
- specify_cli-1.0.0/scripts/powershell/common.ps1 +0 -137
- specify_cli-1.0.0/scripts/powershell/create-new-feature.ps1 +0 -283
- specify_cli-1.0.0/scripts/powershell/setup-plan.ps1 +0 -61
- specify_cli-1.0.0/scripts/powershell/update-agent-context.ps1 +0 -448
- specify_cli-1.0.0/src/specify_cli/__init__.py +0 -1369
- specify_cli-1.0.0/templates/agent-file-template.md +0 -28
- specify_cli-1.0.0/templates/commands/constitution.md +0 -82
- specify_cli-1.0.0/templates/commands/plan.md +0 -95
- specify_cli-1.0.0/templates/commands/tasks.md +0 -140
- specify_cli-1.0.0/templates/commands/taskstoissues.md +0 -33
- {specify_cli-1.0.0 → specify_cli-1.0.2}/CODE_OF_CONDUCT.md +0 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/SECURITY.md +0 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/docs/README.md +0 -0
- /specify_cli-1.0.0/media/logo_large.webp → /specify_cli-1.0.2/docs/images/spec-kit-logo.webp +0 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/media/bootstrap-claude-code.gif +0 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/media/logo_small.webp +0 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/media/spec-kit-video-header.jpg +0 -0
- {specify_cli-1.0.0 → specify_cli-1.0.2}/media/specify_cli.gif +0 -0
- /specify_cli-1.0.0/memory/constitution.md → /specify_cli-1.0.2/templates/constitution-template.md +0 -0
|
@@ -48,10 +48,6 @@
|
|
|
48
48
|
"openai.chatgpt",
|
|
49
49
|
// Kilo Code
|
|
50
50
|
"kilocode.Kilo-Code",
|
|
51
|
-
// Roo Code
|
|
52
|
-
"RooVeterinaryInc.roo-cline",
|
|
53
|
-
// Amazon Developer Q
|
|
54
|
-
"AmazonWebServices.amazon-q-vscode",
|
|
55
51
|
// Claude Code
|
|
56
52
|
"anthropic.claude-code"
|
|
57
53
|
],
|
|
@@ -69,7 +65,8 @@
|
|
|
69
65
|
},
|
|
70
66
|
"chat.tools.terminal.autoApprove": {
|
|
71
67
|
".specify/scripts/bash/": true,
|
|
72
|
-
".specify/scripts/powershell/": true
|
|
68
|
+
".specify/scripts/powershell/": true,
|
|
69
|
+
".specify/scripts/python/": true
|
|
73
70
|
}
|
|
74
71
|
}
|
|
75
72
|
}
|
|
@@ -8,15 +8,15 @@ run_command() {
|
|
|
8
8
|
local command_to_run="$*"
|
|
9
9
|
local output
|
|
10
10
|
local exit_code
|
|
11
|
-
|
|
11
|
+
|
|
12
12
|
# Capture all output (stdout and stderr)
|
|
13
13
|
output=$(eval "$command_to_run" 2>&1) || exit_code=$?
|
|
14
14
|
exit_code=${exit_code:-0}
|
|
15
|
-
|
|
15
|
+
|
|
16
16
|
if [ $exit_code -ne 0 ]; then
|
|
17
17
|
echo -e "\033[0;31m[ERROR] Command failed (Exit Code $exit_code): $command_to_run\033[0m" >&2
|
|
18
18
|
echo -e "\033[0;31m$output\033[0m" >&2
|
|
19
|
-
|
|
19
|
+
|
|
20
20
|
exit $exit_code
|
|
21
21
|
fi
|
|
22
22
|
}
|
|
@@ -51,38 +51,63 @@ echo -e "\n🤖 Installing OpenCode CLI..."
|
|
|
51
51
|
run_command "npm install -g opencode-ai@latest"
|
|
52
52
|
echo "✅ Done"
|
|
53
53
|
|
|
54
|
-
echo -e "\n🤖 Installing
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
run_command "
|
|
75
|
-
|
|
76
|
-
run_command "
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
54
|
+
echo -e "\n🤖 Installing Junie CLI..."
|
|
55
|
+
run_command "npm install -g @jetbrains/junie-cli@latest"
|
|
56
|
+
echo "✅ Done"
|
|
57
|
+
|
|
58
|
+
echo -e "\n🤖 Installing Pi Coding Agent..."
|
|
59
|
+
run_command "npm install -g @earendil-works/pi-coding-agent@latest"
|
|
60
|
+
echo "✅ Done"
|
|
61
|
+
|
|
62
|
+
echo -e "\n🤖 Installing Kiro CLI..."
|
|
63
|
+
# https://kiro.dev/docs/cli/
|
|
64
|
+
KIRO_INSTALLER_URL="https://kiro.dev/install.sh"
|
|
65
|
+
KIRO_INSTALLER_SHA256="7487a65cf310b7fb59b357c4b5e6e3f3259d383f4394ecedb39acf70f307cffb"
|
|
66
|
+
KIRO_INSTALLER_PATH="$(mktemp)"
|
|
67
|
+
|
|
68
|
+
cleanup_kiro_installer() {
|
|
69
|
+
rm -f "$KIRO_INSTALLER_PATH"
|
|
70
|
+
}
|
|
71
|
+
trap cleanup_kiro_installer EXIT
|
|
72
|
+
|
|
73
|
+
run_command "curl -fsSL \"$KIRO_INSTALLER_URL\" -o \"$KIRO_INSTALLER_PATH\""
|
|
74
|
+
run_command "echo \"$KIRO_INSTALLER_SHA256 $KIRO_INSTALLER_PATH\" | sha256sum -c -"
|
|
75
|
+
|
|
76
|
+
run_command "bash \"$KIRO_INSTALLER_PATH\""
|
|
77
|
+
|
|
78
|
+
kiro_binary=""
|
|
79
|
+
if command -v kiro-cli >/dev/null 2>&1; then
|
|
80
|
+
kiro_binary="kiro-cli"
|
|
81
|
+
elif command -v kiro >/dev/null 2>&1; then
|
|
82
|
+
kiro_binary="kiro"
|
|
83
|
+
else
|
|
84
|
+
echo -e "\033[0;31m[ERROR] Kiro CLI installation did not create 'kiro-cli' or 'kiro' in PATH.\033[0m" >&2
|
|
85
|
+
exit 1
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
run_command "$kiro_binary --help > /dev/null"
|
|
89
|
+
echo "✅ Done"
|
|
90
|
+
|
|
91
|
+
echo -e "\n🤖 Installing Kimi Code CLI..."
|
|
92
|
+
# https://code.kimi.com
|
|
93
|
+
run_command "npm install -g @moonshot-ai/kimi-code@latest"
|
|
80
94
|
echo "✅ Done"
|
|
81
95
|
|
|
82
96
|
echo -e "\n🤖 Installing CodeBuddy CLI..."
|
|
83
97
|
run_command "npm install -g @tencent-ai/codebuddy-code@latest"
|
|
84
98
|
echo "✅ Done"
|
|
85
99
|
|
|
100
|
+
echo -e "\n🤖 Installing Factory Droid CLI..."
|
|
101
|
+
run_command "npm install -g droid@latest"
|
|
102
|
+
|
|
103
|
+
if ! command -v droid >/dev/null 2>&1; then
|
|
104
|
+
echo -e "\033[0;31m[ERROR] Droid CLI installation did not create 'droid' in PATH.\033[0m" >&2
|
|
105
|
+
exit 1
|
|
106
|
+
fi
|
|
107
|
+
|
|
108
|
+
run_command "droid --version > /dev/null"
|
|
109
|
+
echo "✅ Done"
|
|
110
|
+
|
|
86
111
|
# Installing UV (Python package manager)
|
|
87
112
|
echo -e "\n🐍 Installing UV - Python Package Manager..."
|
|
88
113
|
run_command "pipx install uv"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
end_of_line = lf
|
|
5
|
+
insert_final_newline = true
|
|
6
|
+
trim_trailing_whitespace = true
|
|
7
|
+
charset = utf-8
|
|
8
|
+
indent_style = space
|
|
9
|
+
indent_size = 4
|
|
10
|
+
|
|
11
|
+
[*.{yml,yaml}]
|
|
12
|
+
indent_size = 2
|
|
13
|
+
|
|
14
|
+
[*.{json,jsonc}]
|
|
15
|
+
indent_size = 2
|
|
16
|
+
|
|
17
|
+
[*.md]
|
|
18
|
+
indent_size = 2
|
|
19
|
+
trim_trailing_whitespace = false
|
|
20
|
+
|
|
21
|
+
[*.{sh,bash}]
|
|
22
|
+
indent_size = 4
|
|
23
|
+
|
|
24
|
+
[*.{ps1,psm1,psd1}]
|
|
25
|
+
indent_size = 4
|
|
26
|
+
|
|
27
|
+
[Makefile]
|
|
28
|
+
indent_style = tab
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
* text=auto eol=lf
|
|
2
|
+
|
|
3
|
+
.github/workflows/*.lock.yml linguist-generated=true merge=ours -whitespace
|
|
4
|
+
# The project constitution is the one dogfooding artifact carried forward.
|
|
5
|
+
# Keep it exempt from git's whitespace checks (git diff --check / CI) since its
|
|
6
|
+
# generated formatting is not hand-edited.
|
|
7
|
+
.specify/memory/constitution.md -whitespace
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
name: Agent Request
|
|
2
|
+
description: Request support for a new AI agent/assistant in Spec Kit
|
|
3
|
+
title: "[Agent]: Add support for "
|
|
4
|
+
labels: ["agent-request", "enhancement", "needs-triage"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
Thanks for requesting a new agent! Before submitting, please check if the agent is already supported.
|
|
10
|
+
|
|
11
|
+
**Currently supported agents**: Alquimia AI, Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Command Code, Cursor, Devin for Terminal, Factory Droid, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
|
|
12
|
+
|
|
13
|
+
- type: input
|
|
14
|
+
id: agent-name
|
|
15
|
+
attributes:
|
|
16
|
+
label: Agent Name
|
|
17
|
+
description: What is the name of the AI agent/assistant?
|
|
18
|
+
placeholder: "e.g., SuperCoder AI"
|
|
19
|
+
validations:
|
|
20
|
+
required: true
|
|
21
|
+
|
|
22
|
+
- type: input
|
|
23
|
+
id: website
|
|
24
|
+
attributes:
|
|
25
|
+
label: Official Website
|
|
26
|
+
description: Link to the agent's official website or documentation
|
|
27
|
+
placeholder: "https://..."
|
|
28
|
+
validations:
|
|
29
|
+
required: true
|
|
30
|
+
|
|
31
|
+
- type: dropdown
|
|
32
|
+
id: agent-type
|
|
33
|
+
attributes:
|
|
34
|
+
label: Agent Type
|
|
35
|
+
description: How is the agent accessed?
|
|
36
|
+
options:
|
|
37
|
+
- CLI tool (command-line interface)
|
|
38
|
+
- IDE extension/plugin
|
|
39
|
+
- Both CLI and IDE
|
|
40
|
+
- Other
|
|
41
|
+
validations:
|
|
42
|
+
required: true
|
|
43
|
+
|
|
44
|
+
- type: input
|
|
45
|
+
id: cli-command
|
|
46
|
+
attributes:
|
|
47
|
+
label: CLI Command (if applicable)
|
|
48
|
+
description: What command is used to invoke the agent from terminal?
|
|
49
|
+
placeholder: "e.g., supercode, ai-assistant"
|
|
50
|
+
|
|
51
|
+
- type: input
|
|
52
|
+
id: install-method
|
|
53
|
+
attributes:
|
|
54
|
+
label: Installation Method
|
|
55
|
+
description: How is the agent installed?
|
|
56
|
+
placeholder: "e.g., npm install -g supercode, pip install supercode, IDE marketplace"
|
|
57
|
+
validations:
|
|
58
|
+
required: true
|
|
59
|
+
|
|
60
|
+
- type: textarea
|
|
61
|
+
id: command-structure
|
|
62
|
+
attributes:
|
|
63
|
+
label: Command/Workflow Structure
|
|
64
|
+
description: How does the agent define custom commands or workflows?
|
|
65
|
+
placeholder: |
|
|
66
|
+
- Command file format (Markdown, YAML, TOML, etc.)
|
|
67
|
+
- Directory location (e.g., .supercode/commands/)
|
|
68
|
+
- Example command file structure
|
|
69
|
+
validations:
|
|
70
|
+
required: true
|
|
71
|
+
|
|
72
|
+
- type: textarea
|
|
73
|
+
id: argument-pattern
|
|
74
|
+
attributes:
|
|
75
|
+
label: Argument Passing Pattern
|
|
76
|
+
description: How does the agent handle arguments in commands?
|
|
77
|
+
placeholder: |
|
|
78
|
+
e.g., Uses {{args}}, $ARGUMENTS, %ARGS%, or other placeholder format
|
|
79
|
+
Example: "Run test suite with {{args}}"
|
|
80
|
+
|
|
81
|
+
- type: dropdown
|
|
82
|
+
id: popularity
|
|
83
|
+
attributes:
|
|
84
|
+
label: Popularity/Usage
|
|
85
|
+
description: How widely is this agent used?
|
|
86
|
+
options:
|
|
87
|
+
- Widely used (thousands+ of users)
|
|
88
|
+
- Growing adoption (hundreds of users)
|
|
89
|
+
- New/emerging (less than 100 users)
|
|
90
|
+
- Unknown
|
|
91
|
+
validations:
|
|
92
|
+
required: true
|
|
93
|
+
|
|
94
|
+
- type: textarea
|
|
95
|
+
id: documentation
|
|
96
|
+
attributes:
|
|
97
|
+
label: Documentation Links
|
|
98
|
+
description: Links to relevant documentation for custom commands/workflows
|
|
99
|
+
placeholder: |
|
|
100
|
+
- Command documentation: https://...
|
|
101
|
+
- API/CLI reference: https://...
|
|
102
|
+
- Examples: https://...
|
|
103
|
+
|
|
104
|
+
- type: textarea
|
|
105
|
+
id: use-case
|
|
106
|
+
attributes:
|
|
107
|
+
label: Use Case
|
|
108
|
+
description: Why do you want this agent supported in Spec Kit?
|
|
109
|
+
placeholder: Explain your workflow and how this agent fits into your development process
|
|
110
|
+
validations:
|
|
111
|
+
required: true
|
|
112
|
+
|
|
113
|
+
- type: textarea
|
|
114
|
+
id: example-command
|
|
115
|
+
attributes:
|
|
116
|
+
label: Example Command File
|
|
117
|
+
description: If possible, provide an example of a command file for this agent
|
|
118
|
+
render: markdown
|
|
119
|
+
placeholder: |
|
|
120
|
+
```toml
|
|
121
|
+
description = "Example command"
|
|
122
|
+
prompt = "Do something with {{args}}"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
- type: checkboxes
|
|
126
|
+
id: contribution
|
|
127
|
+
attributes:
|
|
128
|
+
label: Contribution
|
|
129
|
+
description: Are you willing to help implement support for this agent?
|
|
130
|
+
options:
|
|
131
|
+
- label: I can help test the integration
|
|
132
|
+
- label: I can provide example command files
|
|
133
|
+
- label: I can help with documentation
|
|
134
|
+
- label: I can submit a pull request for the integration
|
|
135
|
+
|
|
136
|
+
- type: textarea
|
|
137
|
+
id: context
|
|
138
|
+
attributes:
|
|
139
|
+
label: Additional Context
|
|
140
|
+
description: Any other relevant information about this agent
|
|
141
|
+
placeholder: Screenshots, community links, comparison to existing agents, etc.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
name: Bug Report
|
|
2
|
+
description: Report a bug or unexpected behavior in Specify CLI or Spec Kit
|
|
3
|
+
title: "[Bug]: "
|
|
4
|
+
labels: ["bug", "needs-triage"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
Thanks for taking the time to report a bug! Please fill out the sections below to help us diagnose and fix the issue.
|
|
10
|
+
|
|
11
|
+
- type: textarea
|
|
12
|
+
id: description
|
|
13
|
+
attributes:
|
|
14
|
+
label: Bug Description
|
|
15
|
+
description: A clear and concise description of what the bug is.
|
|
16
|
+
placeholder: What went wrong?
|
|
17
|
+
validations:
|
|
18
|
+
required: true
|
|
19
|
+
|
|
20
|
+
- type: textarea
|
|
21
|
+
id: reproduce
|
|
22
|
+
attributes:
|
|
23
|
+
label: Steps to Reproduce
|
|
24
|
+
description: Steps to reproduce the behavior
|
|
25
|
+
placeholder: |
|
|
26
|
+
1. Run command '...'
|
|
27
|
+
2. Execute script '...'
|
|
28
|
+
3. See error
|
|
29
|
+
validations:
|
|
30
|
+
required: true
|
|
31
|
+
|
|
32
|
+
- type: textarea
|
|
33
|
+
id: expected
|
|
34
|
+
attributes:
|
|
35
|
+
label: Expected Behavior
|
|
36
|
+
description: What did you expect to happen?
|
|
37
|
+
placeholder: Describe the expected outcome
|
|
38
|
+
validations:
|
|
39
|
+
required: true
|
|
40
|
+
|
|
41
|
+
- type: textarea
|
|
42
|
+
id: actual
|
|
43
|
+
attributes:
|
|
44
|
+
label: Actual Behavior
|
|
45
|
+
description: What actually happened?
|
|
46
|
+
placeholder: Describe what happened instead
|
|
47
|
+
validations:
|
|
48
|
+
required: true
|
|
49
|
+
|
|
50
|
+
- type: input
|
|
51
|
+
id: version
|
|
52
|
+
attributes:
|
|
53
|
+
label: Specify CLI Version
|
|
54
|
+
description: "Run `specify version` or `pip show spec-kit`"
|
|
55
|
+
placeholder: "e.g., 1.3.0"
|
|
56
|
+
validations:
|
|
57
|
+
required: true
|
|
58
|
+
|
|
59
|
+
- type: dropdown
|
|
60
|
+
id: ai-agent
|
|
61
|
+
attributes:
|
|
62
|
+
label: AI Agent
|
|
63
|
+
description: Which AI agent are you using?
|
|
64
|
+
options:
|
|
65
|
+
- Alquimia AI
|
|
66
|
+
- Amp
|
|
67
|
+
- Antigravity
|
|
68
|
+
- Auggie CLI
|
|
69
|
+
- Claude Code
|
|
70
|
+
- Cline
|
|
71
|
+
- CodeBuddy
|
|
72
|
+
- Codex CLI
|
|
73
|
+
- Command Code
|
|
74
|
+
- Cursor
|
|
75
|
+
- Devin for Terminal
|
|
76
|
+
- Factory Droid
|
|
77
|
+
- Firebender
|
|
78
|
+
- Forge
|
|
79
|
+
- Gemini CLI
|
|
80
|
+
- GitHub Copilot
|
|
81
|
+
- Goose
|
|
82
|
+
- Grok Build
|
|
83
|
+
- Hermes Agent
|
|
84
|
+
- IBM Bob
|
|
85
|
+
- Junie
|
|
86
|
+
- Kilo Code
|
|
87
|
+
- Kimi Code
|
|
88
|
+
- Kiro CLI
|
|
89
|
+
- Lingma
|
|
90
|
+
- Mistral Vibe
|
|
91
|
+
- Oh My Pi
|
|
92
|
+
- opencode
|
|
93
|
+
- Pi Coding Agent
|
|
94
|
+
- Qoder CLI
|
|
95
|
+
- Qwen Code
|
|
96
|
+
- RovoDev ACLI
|
|
97
|
+
- SHAI
|
|
98
|
+
- Tabnine CLI
|
|
99
|
+
- Trae
|
|
100
|
+
- ZCode
|
|
101
|
+
- Zed
|
|
102
|
+
- Not applicable
|
|
103
|
+
validations:
|
|
104
|
+
required: true
|
|
105
|
+
|
|
106
|
+
- type: input
|
|
107
|
+
id: os
|
|
108
|
+
attributes:
|
|
109
|
+
label: Operating System
|
|
110
|
+
description: Your operating system and version
|
|
111
|
+
placeholder: "e.g., macOS 14.2, Ubuntu 22.04, Windows 11"
|
|
112
|
+
validations:
|
|
113
|
+
required: true
|
|
114
|
+
|
|
115
|
+
- type: input
|
|
116
|
+
id: python
|
|
117
|
+
attributes:
|
|
118
|
+
label: Python Version
|
|
119
|
+
description: "Run `python --version` or `python3 --version`"
|
|
120
|
+
placeholder: "e.g., Python 3.11.5"
|
|
121
|
+
validations:
|
|
122
|
+
required: true
|
|
123
|
+
|
|
124
|
+
- type: textarea
|
|
125
|
+
id: logs
|
|
126
|
+
attributes:
|
|
127
|
+
label: Error Logs
|
|
128
|
+
description: Please paste any relevant error messages or logs
|
|
129
|
+
render: shell
|
|
130
|
+
placeholder: Paste error output here
|
|
131
|
+
|
|
132
|
+
- type: textarea
|
|
133
|
+
id: context
|
|
134
|
+
attributes:
|
|
135
|
+
label: Additional Context
|
|
136
|
+
description: Add any other context about the problem
|
|
137
|
+
placeholder: Screenshots, related issues, workarounds attempted, etc.
|