specify-cli 1.1.0__tar.gz → 1.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1172) hide show
  1. specify_cli-1.1.1/.devcontainer/devcontainer.json +74 -0
  2. specify_cli-1.1.1/.devcontainer/post-create.sh +125 -0
  3. specify_cli-1.1.1/.gitattributes +7 -0
  4. specify_cli-1.1.1/.github/CODEOWNERS +7 -0
  5. specify_cli-1.1.1/.github/ISSUE_TEMPLATE/agent_request.yml +154 -0
  6. specify_cli-1.1.1/.github/ISSUE_TEMPLATE/bug_report.yml +154 -0
  7. specify_cli-1.1.1/.github/ISSUE_TEMPLATE/bundle_submission.yml +295 -0
  8. specify_cli-1.1.1/.github/ISSUE_TEMPLATE/extension_submission.yml +282 -0
  9. specify_cli-1.1.1/.github/ISSUE_TEMPLATE/feature_request.yml +140 -0
  10. specify_cli-1.1.1/.github/ISSUE_TEMPLATE/preset_submission.yml +199 -0
  11. specify_cli-1.1.1/.github/PULL_REQUEST_TEMPLATE.md +23 -0
  12. specify_cli-1.1.1/.github/aw/actions-lock.json +49 -0
  13. specify_cli-1.1.1/.github/dependabot.yml +17 -0
  14. specify_cli-1.1.1/.github/scripts/check_extension_version_bump.py +232 -0
  15. specify_cli-1.1.1/.github/scripts/check_security_requirements.py +123 -0
  16. specify_cli-1.1.1/.github/scripts/validate_community_preset.py +532 -0
  17. specify_cli-1.1.1/.github/security-audit-requirements.txt +832 -0
  18. specify_cli-1.1.1/.github/skills/add-community-extension/SKILL.md +174 -0
  19. specify_cli-1.1.1/.github/skills/code-review/SKILL.md +11 -0
  20. specify_cli-1.1.1/.github/workflows/RELEASE-PROCESS.md +245 -0
  21. specify_cli-1.1.1/.github/workflows/add-community-bundle.lock.yml +2024 -0
  22. specify_cli-1.1.1/.github/workflows/add-community-bundle.md +442 -0
  23. specify_cli-1.1.1/.github/workflows/add-community-extension.lock.yml +2011 -0
  24. specify_cli-1.1.1/.github/workflows/add-community-extension.md +430 -0
  25. specify_cli-1.1.1/.github/workflows/add-community-preset.lock.yml +2021 -0
  26. specify_cli-1.1.1/.github/workflows/add-community-preset.md +546 -0
  27. specify_cli-1.1.1/.github/workflows/bug-assess.lock.yml +1899 -0
  28. specify_cli-1.1.1/.github/workflows/bug-assess.md +248 -0
  29. specify_cli-1.1.1/.github/workflows/bug-fix.lock.yml +1997 -0
  30. specify_cli-1.1.1/.github/workflows/bug-fix.md +332 -0
  31. specify_cli-1.1.1/.github/workflows/bug-test.lock.yml +1937 -0
  32. specify_cli-1.1.1/.github/workflows/bug-test.md +381 -0
  33. specify_cli-1.1.1/.github/workflows/catalog-assign.yml +45 -0
  34. specify_cli-1.1.1/.github/workflows/codeql.yml +32 -0
  35. specify_cli-1.1.1/.github/workflows/docs.yml +69 -0
  36. specify_cli-1.1.1/.github/workflows/extension-version-guard.yml +57 -0
  37. specify_cli-1.1.1/.github/workflows/feature-assess.lock.yml +1956 -0
  38. specify_cli-1.1.1/.github/workflows/feature-assess.md +312 -0
  39. specify_cli-1.1.1/.github/workflows/lint.yml +117 -0
  40. specify_cli-1.1.1/.github/workflows/publish-pypi.yml +82 -0
  41. specify_cli-1.1.1/.github/workflows/release-trigger.yml +178 -0
  42. specify_cli-1.1.1/.github/workflows/release.yml +88 -0
  43. specify_cli-1.1.1/.github/workflows/security.yml +78 -0
  44. specify_cli-1.1.1/.github/workflows/stale.yml +63 -0
  45. specify_cli-1.1.1/.github/workflows/test.yml +55 -0
  46. specify_cli-1.1.1/.gitignore +62 -0
  47. specify_cli-1.1.1/.markdownlint-cli2.jsonc +29 -0
  48. specify_cli-1.1.1/.pre-commit-config.yaml +12 -0
  49. specify_cli-1.1.1/AGENTS.md +58 -0
  50. specify_cli-1.1.1/CHANGELOG.md +3102 -0
  51. specify_cli-1.1.1/CITATION.cff +31 -0
  52. specify_cli-1.1.1/CONTRIBUTING.md +454 -0
  53. specify_cli-1.1.1/LICENSE +21 -0
  54. specify_cli-1.1.1/PKG-INFO +233 -0
  55. specify_cli-1.1.1/README.ja.md +187 -0
  56. specify_cli-1.1.1/README.md +212 -0
  57. specify_cli-1.1.1/README.zh-CN.md +191 -0
  58. specify_cli-1.1.1/bundles/assess/README.md +40 -0
  59. specify_cli-1.1.1/bundles/assess/bundle.yml +25 -0
  60. specify_cli-1.1.1/bundles/bugfix/README.md +38 -0
  61. specify_cli-1.1.1/bundles/bugfix/bundle.yml +25 -0
  62. specify_cli-1.1.1/bundles/catalog.community.json +81 -0
  63. specify_cli-1.1.1/bundles/catalog.json +51 -0
  64. specify_cli-1.1.1/design/cli.md +370 -0
  65. specify_cli-1.1.1/design/integration.md +110 -0
  66. specify_cli-1.1.1/design/workflow-step.md +64 -0
  67. specify_cli-1.1.1/docs/.gitignore +8 -0
  68. specify_cli-1.1.1/docs/README.md +40 -0
  69. specify_cli-1.1.1/docs/community/bundles.md +59 -0
  70. specify_cli-1.1.1/docs/community/extensions.md +207 -0
  71. specify_cli-1.1.1/docs/community/friends.md +26 -0
  72. specify_cli-1.1.1/docs/community/overview.md +45 -0
  73. specify_cli-1.1.1/docs/community/presets.md +52 -0
  74. specify_cli-1.1.1/docs/community/walkthroughs.md +20 -0
  75. specify_cli-1.1.1/docs/concepts/complex-features.md +87 -0
  76. specify_cli-1.1.1/docs/concepts/sdd.md +57 -0
  77. specify_cli-1.1.1/docs/concepts/spec-of-specs.md +171 -0
  78. specify_cli-1.1.1/docs/concepts/spec-persistence.md +107 -0
  79. specify_cli-1.1.1/docs/docfx.json +83 -0
  80. specify_cli-1.1.1/docs/guides/agentic-sdlc.md +285 -0
  81. specify_cli-1.1.1/docs/guides/assessment.md +115 -0
  82. specify_cli-1.1.1/docs/guides/bugfix.md +82 -0
  83. specify_cli-1.1.1/docs/guides/contract-driven-development.md +264 -0
  84. specify_cli-1.1.1/docs/guides/customization.md +105 -0
  85. specify_cli-1.1.1/docs/guides/evolving-specs.md +96 -0
  86. specify_cli-1.1.1/docs/guides/existing-projects.md +112 -0
  87. specify_cli-1.1.1/docs/guides/monorepo.md +135 -0
  88. specify_cli-1.1.1/docs/history.md +186 -0
  89. specify_cli-1.1.1/docs/index.md +208 -0
  90. specify_cli-1.1.1/docs/install/air-gapped.md +59 -0
  91. specify_cli-1.1.1/docs/install/one-time.md +33 -0
  92. specify_cli-1.1.1/docs/install/pipx.md +38 -0
  93. specify_cli-1.1.1/docs/install/pypi.md +104 -0
  94. specify_cli-1.1.1/docs/installation.md +183 -0
  95. specify_cli-1.1.1/docs/local-development.md +203 -0
  96. specify_cli-1.1.1/docs/quickstart.md +189 -0
  97. specify_cli-1.1.1/docs/reference/agentic-assessment.md +102 -0
  98. specify_cli-1.1.1/docs/reference/agentic-bugfix.md +57 -0
  99. specify_cli-1.1.1/docs/reference/agentic-sdd.md +176 -0
  100. specify_cli-1.1.1/docs/reference/artifacts.md +241 -0
  101. specify_cli-1.1.1/docs/reference/authentication.md +303 -0
  102. specify_cli-1.1.1/docs/reference/bundles.md +215 -0
  103. specify_cli-1.1.1/docs/reference/core.md +144 -0
  104. specify_cli-1.1.1/docs/reference/extensions.md +357 -0
  105. specify_cli-1.1.1/docs/reference/integrations.md +420 -0
  106. specify_cli-1.1.1/docs/reference/mcp.md +50 -0
  107. specify_cli-1.1.1/docs/reference/overview.md +83 -0
  108. specify_cli-1.1.1/docs/reference/presets.md +355 -0
  109. specify_cli-1.1.1/docs/reference/workflows.md +992 -0
  110. specify_cli-1.1.1/docs/template/public/main.css +278 -0
  111. specify_cli-1.1.1/docs/toc.yml +108 -0
  112. specify_cli-1.1.1/docs/upgrade.md +550 -0
  113. specify_cli-1.1.1/examples/bundles/business-analyst/README.md +22 -0
  114. specify_cli-1.1.1/examples/bundles/business-analyst/bundle.yml +33 -0
  115. specify_cli-1.1.1/examples/bundles/developer/README.md +22 -0
  116. specify_cli-1.1.1/examples/bundles/developer/bundle.yml +33 -0
  117. specify_cli-1.1.1/examples/bundles/product-manager/README.md +22 -0
  118. specify_cli-1.1.1/examples/bundles/product-manager/bundle.yml +35 -0
  119. specify_cli-1.1.1/examples/bundles/security-researcher/README.md +23 -0
  120. specify_cli-1.1.1/examples/bundles/security-researcher/bundle.yml +33 -0
  121. specify_cli-1.1.1/extensions/EXTENSION-API-REFERENCE.md +896 -0
  122. specify_cli-1.1.1/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +806 -0
  123. specify_cli-1.1.1/extensions/EXTENSION-PUBLISHING-GUIDE.md +366 -0
  124. specify_cli-1.1.1/extensions/agent-context/README.md +63 -0
  125. specify_cli-1.1.1/extensions/agent-context/agent-context-config.yml +24 -0
  126. specify_cli-1.1.1/extensions/agent-context/agent-context-defaults.json +44 -0
  127. specify_cli-1.1.1/extensions/agent-context/commands/speckit.agent-context.update.md +27 -0
  128. specify_cli-1.1.1/extensions/agent-context/extension.yml +34 -0
  129. specify_cli-1.1.1/extensions/agent-context/scripts/bash/update-agent-context.sh +453 -0
  130. specify_cli-1.1.1/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +509 -0
  131. specify_cli-1.1.1/extensions/agent-context/scripts/python/update_agent_context.py +368 -0
  132. specify_cli-1.1.1/extensions/assess/README.md +127 -0
  133. specify_cli-1.1.1/extensions/assess/commands/speckit.assess.decide.md +97 -0
  134. specify_cli-1.1.1/extensions/assess/commands/speckit.assess.define.md +85 -0
  135. specify_cli-1.1.1/extensions/assess/commands/speckit.assess.intake.md +120 -0
  136. specify_cli-1.1.1/extensions/assess/commands/speckit.assess.research.md +102 -0
  137. specify_cli-1.1.1/extensions/assess/commands/speckit.assess.shape.md +82 -0
  138. specify_cli-1.1.1/extensions/assess/extension.yml +40 -0
  139. specify_cli-1.1.1/extensions/bug/README.md +80 -0
  140. specify_cli-1.1.1/extensions/bug/commands/speckit.bug.assess.md +173 -0
  141. specify_cli-1.1.1/extensions/bug/commands/speckit.bug.fix.md +112 -0
  142. specify_cli-1.1.1/extensions/bug/commands/speckit.bug.test.md +117 -0
  143. specify_cli-1.1.1/extensions/bug/extension.yml +31 -0
  144. specify_cli-1.1.1/extensions/catalog.community.json +6746 -0
  145. specify_cli-1.1.1/extensions/catalog.json +81 -0
  146. specify_cli-1.1.1/extensions/git/README.md +119 -0
  147. specify_cli-1.1.1/extensions/git/commands/speckit.git.commit.md +63 -0
  148. specify_cli-1.1.1/extensions/git/commands/speckit.git.feature.md +82 -0
  149. specify_cli-1.1.1/extensions/git/commands/speckit.git.validate.md +49 -0
  150. specify_cli-1.1.1/extensions/git/config-template.yml +79 -0
  151. specify_cli-1.1.1/extensions/git/extension.yml +142 -0
  152. specify_cli-1.1.1/extensions/git/git-config.yml +79 -0
  153. specify_cli-1.1.1/extensions/git/scripts/bash/auto-commit.sh +211 -0
  154. specify_cli-1.1.1/extensions/git/scripts/bash/create-new-feature-branch.sh +639 -0
  155. specify_cli-1.1.1/extensions/git/scripts/bash/git-common.sh +56 -0
  156. specify_cli-1.1.1/extensions/git/scripts/bash/initialize-repo.sh +54 -0
  157. specify_cli-1.1.1/extensions/git/scripts/powershell/auto-commit.ps1 +230 -0
  158. specify_cli-1.1.1/extensions/git/scripts/powershell/create-new-feature-branch.ps1 +594 -0
  159. specify_cli-1.1.1/extensions/git/scripts/powershell/git-common.ps1 +52 -0
  160. specify_cli-1.1.1/extensions/git/scripts/python/auto_commit.py +195 -0
  161. specify_cli-1.1.1/extensions/git/scripts/python/create_new_feature_branch.py +641 -0
  162. specify_cli-1.1.1/extensions/git/scripts/python/git_common.py +81 -0
  163. specify_cli-1.1.1/extensions/git/scripts/python/initialize_repo.py +89 -0
  164. specify_cli-1.1.1/extensions/github/README.md +102 -0
  165. specify_cli-1.1.1/extensions/github/commands/speckit.github.taskstoissues.md +106 -0
  166. specify_cli-1.1.1/extensions/github/extension.yml +36 -0
  167. specify_cli-1.1.1/extensions/github/scripts/bash/resolve-tasks.sh +264 -0
  168. specify_cli-1.1.1/extensions/github/scripts/powershell/resolve-tasks.ps1 +236 -0
  169. specify_cli-1.1.1/extensions/github/scripts/python/resolve_tasks.py +261 -0
  170. specify_cli-1.1.1/extensions/selftest/commands/selftest.md +69 -0
  171. specify_cli-1.1.1/extensions/template/extension.yml +113 -0
  172. specify_cli-1.1.1/integrations/CONTRIBUTING.md +142 -0
  173. specify_cli-1.1.1/integrations/catalog.json +385 -0
  174. specify_cli-1.1.1/media/logo_large.webp +0 -0
  175. specify_cli-1.1.1/newsletters/2026-April.md +147 -0
  176. specify_cli-1.1.1/newsletters/2026-August.md +130 -0
  177. specify_cli-1.1.1/newsletters/2026-July.md +152 -0
  178. specify_cli-1.1.1/newsletters/2026-June.md +156 -0
  179. specify_cli-1.1.1/newsletters/2026-March.md +78 -0
  180. specify_cli-1.1.1/newsletters/2026-May.md +138 -0
  181. specify_cli-1.1.1/newsletters/2026-September.md +118 -0
  182. specify_cli-1.1.1/presets/ARCHITECTURE.md +189 -0
  183. specify_cli-1.1.1/presets/PUBLISHING.md +402 -0
  184. specify_cli-1.1.1/presets/README.md +168 -0
  185. specify_cli-1.1.1/presets/catalog.community.json +1183 -0
  186. specify_cli-1.1.1/presets/catalog.json +53 -0
  187. specify_cli-1.1.1/presets/constitution-sync/README.md +135 -0
  188. specify_cli-1.1.1/presets/constitution-sync/commands/speckit.constitution.md +54 -0
  189. specify_cli-1.1.1/presets/constitution-sync/preset.yml +30 -0
  190. specify_cli-1.1.1/presets/lean/commands/speckit.constitution.md +33 -0
  191. specify_cli-1.1.1/presets/self-test/preset.yml +60 -0
  192. specify_cli-1.1.1/pyproject.toml +95 -0
  193. specify_cli-1.1.1/scripts/bash/check-prerequisites.sh +243 -0
  194. specify_cli-1.1.1/scripts/bash/common.sh +942 -0
  195. specify_cli-1.1.1/scripts/bash/create-new-feature.sh +504 -0
  196. specify_cli-1.1.1/scripts/bash/resolve-template.sh +57 -0
  197. specify_cli-1.1.1/scripts/bash/setup-plan.sh +85 -0
  198. specify_cli-1.1.1/scripts/bash/setup-tasks.sh +94 -0
  199. specify_cli-1.1.1/scripts/powershell/check-prerequisites.ps1 +185 -0
  200. specify_cli-1.1.1/scripts/powershell/common.ps1 +813 -0
  201. specify_cli-1.1.1/scripts/powershell/create-new-feature.ps1 +357 -0
  202. specify_cli-1.1.1/scripts/powershell/resolve-template.ps1 +38 -0
  203. specify_cli-1.1.1/scripts/powershell/setup-plan.ps1 +88 -0
  204. specify_cli-1.1.1/scripts/powershell/setup-tasks.ps1 +93 -0
  205. specify_cli-1.1.1/scripts/python/check_prerequisites.py +289 -0
  206. specify_cli-1.1.1/scripts/python/common.py +721 -0
  207. specify_cli-1.1.1/scripts/python/create_new_feature.py +466 -0
  208. specify_cli-1.1.1/scripts/python/resolve_template.py +63 -0
  209. specify_cli-1.1.1/scripts/python/setup_plan.py +99 -0
  210. specify_cli-1.1.1/scripts/python/setup_tasks.py +175 -0
  211. specify_cli-1.1.1/spec-driven.md +418 -0
  212. specify_cli-1.1.1/spec-kit.code-workspace +8 -0
  213. specify_cli-1.1.1/src/specify_cli/__init__.py +507 -0
  214. specify_cli-1.1.1/src/specify_cli/_agent_config.py +56 -0
  215. specify_cli-1.1.1/src/specify_cli/_console.py +273 -0
  216. specify_cli-1.1.1/src/specify_cli/_download_security.py +1275 -0
  217. specify_cli-1.1.1/src/specify_cli/_init_options.py +83 -0
  218. specify_cli-1.1.1/src/specify_cli/_installed_list_json.py +84 -0
  219. specify_cli-1.1.1/src/specify_cli/_invocation_style.py +82 -0
  220. specify_cli-1.1.1/src/specify_cli/_project.py +78 -0
  221. specify_cli-1.1.1/src/specify_cli/_toml_string.py +60 -0
  222. specify_cli-1.1.1/src/specify_cli/_utils.py +377 -0
  223. specify_cli-1.1.1/src/specify_cli/_version.py +1146 -0
  224. specify_cli-1.1.1/src/specify_cli/agents.py +1432 -0
  225. specify_cli-1.1.1/src/specify_cli/artifacts/__init__.py +37 -0
  226. specify_cli-1.1.1/src/specify_cli/artifacts/_commands.py +89 -0
  227. specify_cli-1.1.1/src/specify_cli/artifacts/_identifiers.py +162 -0
  228. specify_cli-1.1.1/src/specify_cli/artifacts/catalog.py +1163 -0
  229. specify_cli-1.1.1/src/specify_cli/artifacts/command_info.py +64 -0
  230. specify_cli-1.1.1/src/specify_cli/artifacts/command_list.py +42 -0
  231. specify_cli-1.1.1/src/specify_cli/artifacts/command_lookup.py +55 -0
  232. specify_cli-1.1.1/src/specify_cli/artifacts/models.py +182 -0
  233. specify_cli-1.1.1/src/specify_cli/artifacts/resolution.py +498 -0
  234. specify_cli-1.1.1/src/specify_cli/authentication/__init__.py +52 -0
  235. specify_cli-1.1.1/src/specify_cli/authentication/azure_devops.py +188 -0
  236. specify_cli-1.1.1/src/specify_cli/authentication/bitbucket.py +78 -0
  237. specify_cli-1.1.1/src/specify_cli/authentication/config.py +263 -0
  238. specify_cli-1.1.1/src/specify_cli/authentication/github_http.py +362 -0
  239. specify_cli-1.1.1/src/specify_cli/authentication/http.py +227 -0
  240. specify_cli-1.1.1/src/specify_cli/bundler.py +5 -0
  241. specify_cli-1.1.1/src/specify_cli/bundles/__init__.py +20 -0
  242. specify_cli-1.1.1/src/specify_cli/bundles/_commands.py +163 -0
  243. specify_cli-1.1.1/src/specify_cli/bundles/adapters.py +351 -0
  244. specify_cli-1.1.1/src/specify_cli/bundles/catalog/__init__.py +20 -0
  245. specify_cli-1.1.1/src/specify_cli/bundles/catalog/command_add.py +48 -0
  246. specify_cli-1.1.1/src/specify_cli/bundles/catalog/command_list.py +38 -0
  247. specify_cli-1.1.1/src/specify_cli/bundles/catalog/command_remove.py +31 -0
  248. specify_cli-1.1.1/src/specify_cli/bundles/catalog_config.py +258 -0
  249. specify_cli-1.1.1/src/specify_cli/bundles/catalog_stack.py +122 -0
  250. specify_cli-1.1.1/src/specify_cli/bundles/catalogs.py +334 -0
  251. specify_cli-1.1.1/src/specify_cli/bundles/command_add.py +32 -0
  252. specify_cli-1.1.1/src/specify_cli/bundles/command_build.py +38 -0
  253. specify_cli-1.1.1/src/specify_cli/bundles/command_info.py +157 -0
  254. specify_cli-1.1.1/src/specify_cli/bundles/command_init.py +51 -0
  255. specify_cli-1.1.1/src/specify_cli/bundles/command_install.py +137 -0
  256. specify_cli-1.1.1/src/specify_cli/bundles/command_list.py +45 -0
  257. specify_cli-1.1.1/src/specify_cli/bundles/command_remove.py +32 -0
  258. specify_cli-1.1.1/src/specify_cli/bundles/command_search.py +65 -0
  259. specify_cli-1.1.1/src/specify_cli/bundles/command_update.py +69 -0
  260. specify_cli-1.1.1/src/specify_cli/bundles/command_validate.py +65 -0
  261. specify_cli-1.1.1/src/specify_cli/bundles/conflict.py +54 -0
  262. specify_cli-1.1.1/src/specify_cli/bundles/installer.py +319 -0
  263. specify_cli-1.1.1/src/specify_cli/bundles/manifest.py +290 -0
  264. specify_cli-1.1.1/src/specify_cli/bundles/packager.py +153 -0
  265. specify_cli-1.1.1/src/specify_cli/bundles/primitives.py +566 -0
  266. specify_cli-1.1.1/src/specify_cli/bundles/project.py +102 -0
  267. specify_cli-1.1.1/src/specify_cli/bundles/records.py +245 -0
  268. specify_cli-1.1.1/src/specify_cli/bundles/references.py +127 -0
  269. specify_cli-1.1.1/src/specify_cli/bundles/resolver.py +132 -0
  270. specify_cli-1.1.1/src/specify_cli/bundles/sources.py +346 -0
  271. specify_cli-1.1.1/src/specify_cli/bundles/validator.py +60 -0
  272. specify_cli-1.1.1/src/specify_cli/bundles/versioning.py +112 -0
  273. specify_cli-1.1.1/src/specify_cli/bundles/yamlio.py +202 -0
  274. specify_cli-1.1.1/src/specify_cli/catalogs.py +197 -0
  275. specify_cli-1.1.1/src/specify_cli/command_check.py +55 -0
  276. specify_cli-1.1.1/src/specify_cli/command_init.py +1180 -0
  277. specify_cli-1.1.1/src/specify_cli/command_mcp.py +17 -0
  278. specify_cli-1.1.1/src/specify_cli/command_version.py +141 -0
  279. specify_cli-1.1.1/src/specify_cli/events/__init__.py +2661 -0
  280. specify_cli-1.1.1/src/specify_cli/events/command_run.py +54 -0
  281. specify_cli-1.1.1/src/specify_cli/extensions/__init__.py +6235 -0
  282. specify_cli-1.1.1/src/specify_cli/extensions/_catalog_versions.py +153 -0
  283. specify_cli-1.1.1/src/specify_cli/extensions/_command_update_artifacts.py +164 -0
  284. specify_cli-1.1.1/src/specify_cli/extensions/_command_update_discovery.py +145 -0
  285. specify_cli-1.1.1/src/specify_cli/extensions/_command_update_transaction.py +912 -0
  286. specify_cli-1.1.1/src/specify_cli/extensions/_commands.py +690 -0
  287. specify_cli-1.1.1/src/specify_cli/extensions/catalog/__init__.py +32 -0
  288. specify_cli-1.1.1/src/specify_cli/extensions/catalog/_helpers.py +37 -0
  289. specify_cli-1.1.1/src/specify_cli/extensions/catalog/command_add.py +114 -0
  290. specify_cli-1.1.1/src/specify_cli/extensions/catalog/command_list.py +94 -0
  291. specify_cli-1.1.1/src/specify_cli/extensions/catalog/command_remove.py +66 -0
  292. specify_cli-1.1.1/src/specify_cli/extensions/command_add.py +359 -0
  293. specify_cli-1.1.1/src/specify_cli/extensions/command_disable.py +73 -0
  294. specify_cli-1.1.1/src/specify_cli/extensions/command_enable.py +122 -0
  295. specify_cli-1.1.1/src/specify_cli/extensions/command_info.py +293 -0
  296. specify_cli-1.1.1/src/specify_cli/extensions/command_list.py +75 -0
  297. specify_cli-1.1.1/src/specify_cli/extensions/command_remove.py +86 -0
  298. specify_cli-1.1.1/src/specify_cli/extensions/command_search.py +111 -0
  299. specify_cli-1.1.1/src/specify_cli/extensions/command_set_priority.py +66 -0
  300. specify_cli-1.1.1/src/specify_cli/extensions/command_update.py +25 -0
  301. specify_cli-1.1.1/src/specify_cli/integration_runtime.py +113 -0
  302. specify_cli-1.1.1/src/specify_cli/integration_state.py +252 -0
  303. specify_cli-1.1.1/src/specify_cli/integration_status.py +663 -0
  304. specify_cli-1.1.1/src/specify_cli/integrations/__init__.py +1031 -0
  305. specify_cli-1.1.1/src/specify_cli/integrations/_catalog_versions.py +149 -0
  306. specify_cli-1.1.1/src/specify_cli/integrations/_command_scaffold_generation.py +281 -0
  307. specify_cli-1.1.1/src/specify_cli/integrations/_command_upgrade_layout.py +188 -0
  308. specify_cli-1.1.1/src/specify_cli/integrations/_commands.py +47 -0
  309. specify_cli-1.1.1/src/specify_cli/integrations/_helpers.py +603 -0
  310. specify_cli-1.1.1/src/specify_cli/integrations/agy/__init__.py +106 -0
  311. specify_cli-1.1.1/src/specify_cli/integrations/alquimia/__init__.py +195 -0
  312. specify_cli-1.1.1/src/specify_cli/integrations/amp/__init__.py +54 -0
  313. specify_cli-1.1.1/src/specify_cli/integrations/auggie/__init__.py +21 -0
  314. specify_cli-1.1.1/src/specify_cli/integrations/base.py +1910 -0
  315. specify_cli-1.1.1/src/specify_cli/integrations/bob/__init__.py +373 -0
  316. specify_cli-1.1.1/src/specify_cli/integrations/catalog/__init__.py +48 -0
  317. specify_cli-1.1.1/src/specify_cli/integrations/catalog/command_add.py +49 -0
  318. specify_cli-1.1.1/src/specify_cli/integrations/catalog/command_list.py +67 -0
  319. specify_cli-1.1.1/src/specify_cli/integrations/catalog/command_remove.py +28 -0
  320. specify_cli-1.1.1/src/specify_cli/integrations/claude/__init__.py +245 -0
  321. specify_cli-1.1.1/src/specify_cli/integrations/cline/__init__.py +200 -0
  322. specify_cli-1.1.1/src/specify_cli/integrations/codebuddy/__init__.py +21 -0
  323. specify_cli-1.1.1/src/specify_cli/integrations/codex/__init__.py +80 -0
  324. specify_cli-1.1.1/src/specify_cli/integrations/command_code/__init__.py +41 -0
  325. specify_cli-1.1.1/src/specify_cli/integrations/command_info.py +145 -0
  326. specify_cli-1.1.1/src/specify_cli/integrations/command_install.py +199 -0
  327. specify_cli-1.1.1/src/specify_cli/integrations/command_list.py +114 -0
  328. specify_cli-1.1.1/src/specify_cli/integrations/command_scaffold.py +55 -0
  329. specify_cli-1.1.1/src/specify_cli/integrations/command_search.py +109 -0
  330. specify_cli-1.1.1/src/specify_cli/integrations/command_status.py +91 -0
  331. specify_cli-1.1.1/src/specify_cli/integrations/command_switch.py +369 -0
  332. specify_cli-1.1.1/src/specify_cli/integrations/command_uninstall.py +126 -0
  333. specify_cli-1.1.1/src/specify_cli/integrations/command_upgrade.py +356 -0
  334. specify_cli-1.1.1/src/specify_cli/integrations/command_use.py +69 -0
  335. specify_cli-1.1.1/src/specify_cli/integrations/copilot/__init__.py +684 -0
  336. specify_cli-1.1.1/src/specify_cli/integrations/cursor_agent/__init__.py +131 -0
  337. specify_cli-1.1.1/src/specify_cli/integrations/devin/__init__.py +99 -0
  338. specify_cli-1.1.1/src/specify_cli/integrations/docker_agent/__init__.py +207 -0
  339. specify_cli-1.1.1/src/specify_cli/integrations/droid/__init__.py +143 -0
  340. specify_cli-1.1.1/src/specify_cli/integrations/dsh/__init__.py +72 -0
  341. specify_cli-1.1.1/src/specify_cli/integrations/firebender/__init__.py +32 -0
  342. specify_cli-1.1.1/src/specify_cli/integrations/forge/__init__.py +248 -0
  343. specify_cli-1.1.1/src/specify_cli/integrations/gemini/__init__.py +49 -0
  344. specify_cli-1.1.1/src/specify_cli/integrations/generic/__init__.py +290 -0
  345. specify_cli-1.1.1/src/specify_cli/integrations/goose/__init__.py +111 -0
  346. specify_cli-1.1.1/src/specify_cli/integrations/grok/__init__.py +68 -0
  347. specify_cli-1.1.1/src/specify_cli/integrations/hermes/__init__.py +312 -0
  348. specify_cli-1.1.1/src/specify_cli/integrations/junie/__init__.py +178 -0
  349. specify_cli-1.1.1/src/specify_cli/integrations/kilocode/__init__.py +22 -0
  350. specify_cli-1.1.1/src/specify_cli/integrations/kimi/__init__.py +380 -0
  351. specify_cli-1.1.1/src/specify_cli/integrations/kiro_cli/__init__.py +36 -0
  352. specify_cli-1.1.1/src/specify_cli/integrations/lingma/__init__.py +41 -0
  353. specify_cli-1.1.1/src/specify_cli/integrations/manifest.py +522 -0
  354. specify_cli-1.1.1/src/specify_cli/integrations/mcode/__init__.py +74 -0
  355. specify_cli-1.1.1/src/specify_cli/integrations/muse/__init__.py +71 -0
  356. specify_cli-1.1.1/src/specify_cli/integrations/omp/__init__.py +53 -0
  357. specify_cli-1.1.1/src/specify_cli/integrations/opencode/__init__.py +76 -0
  358. specify_cli-1.1.1/src/specify_cli/integrations/pi/__init__.py +21 -0
  359. specify_cli-1.1.1/src/specify_cli/integrations/qodercli/__init__.py +28 -0
  360. specify_cli-1.1.1/src/specify_cli/integrations/qwen/__init__.py +44 -0
  361. specify_cli-1.1.1/src/specify_cli/integrations/rovodev/__init__.py +264 -0
  362. specify_cli-1.1.1/src/specify_cli/integrations/shai/__init__.py +50 -0
  363. specify_cli-1.1.1/src/specify_cli/integrations/tabnine/__init__.py +47 -0
  364. specify_cli-1.1.1/src/specify_cli/integrations/trae/__init__.py +40 -0
  365. specify_cli-1.1.1/src/specify_cli/integrations/vibe/__init__.py +230 -0
  366. specify_cli-1.1.1/src/specify_cli/integrations/zcode/__init__.py +42 -0
  367. specify_cli-1.1.1/src/specify_cli/integrations/zed/__init__.py +33 -0
  368. specify_cli-1.1.1/src/specify_cli/mcp_server/__init__.py +5 -0
  369. specify_cli-1.1.1/src/specify_cli/mcp_server/_worker.py +6 -0
  370. specify_cli-1.1.1/src/specify_cli/mcp_server/catalog.py +134 -0
  371. specify_cli-1.1.1/src/specify_cli/mcp_server/executor.py +115 -0
  372. specify_cli-1.1.1/src/specify_cli/mcp_server/server.py +86 -0
  373. specify_cli-1.1.1/src/specify_cli/presets/__init__.py +64 -0
  374. specify_cli-1.1.1/src/specify_cli/presets/_catalog.py +1028 -0
  375. specify_cli-1.1.1/src/specify_cli/presets/_catalog_versions.py +152 -0
  376. specify_cli-1.1.1/src/specify_cli/presets/_commands.py +99 -0
  377. specify_cli-1.1.1/src/specify_cli/presets/_manager.py +996 -0
  378. specify_cli-1.1.1/src/specify_cli/presets/_manager_commands.py +1284 -0
  379. specify_cli-1.1.1/src/specify_cli/presets/_manager_skills.py +1546 -0
  380. specify_cli-1.1.1/src/specify_cli/presets/_manifest.py +438 -0
  381. specify_cli-1.1.1/src/specify_cli/presets/_registry.py +245 -0
  382. specify_cli-1.1.1/src/specify_cli/presets/_resolver.py +949 -0
  383. specify_cli-1.1.1/src/specify_cli/presets/catalog/__init__.py +25 -0
  384. specify_cli-1.1.1/src/specify_cli/presets/catalog/command_add.py +124 -0
  385. specify_cli-1.1.1/src/specify_cli/presets/catalog/command_list.py +78 -0
  386. specify_cli-1.1.1/src/specify_cli/presets/catalog/command_remove.py +69 -0
  387. specify_cli-1.1.1/src/specify_cli/presets/command_add.py +445 -0
  388. specify_cli-1.1.1/src/specify_cli/presets/command_disable.py +50 -0
  389. specify_cli-1.1.1/src/specify_cli/presets/command_enable.py +49 -0
  390. specify_cli-1.1.1/src/specify_cli/presets/command_info.py +123 -0
  391. specify_cli-1.1.1/src/specify_cli/presets/command_list.py +89 -0
  392. specify_cli-1.1.1/src/specify_cli/presets/command_remove.py +30 -0
  393. specify_cli-1.1.1/src/specify_cli/presets/command_resolve.py +121 -0
  394. specify_cli-1.1.1/src/specify_cli/presets/command_search.py +46 -0
  395. specify_cli-1.1.1/src/specify_cli/presets/command_set_priority.py +70 -0
  396. specify_cli-1.1.1/src/specify_cli/presets/command_update.py +99 -0
  397. specify_cli-1.1.1/src/specify_cli/selfs/__init__.py +28 -0
  398. specify_cli-1.1.1/src/specify_cli/selfs/command_check.py +79 -0
  399. specify_cli-1.1.1/src/specify_cli/selfs/command_upgrade.py +215 -0
  400. specify_cli-1.1.1/src/specify_cli/shared_infra.py +820 -0
  401. specify_cli-1.1.1/src/specify_cli/workflows/__init__.py +231 -0
  402. specify_cli-1.1.1/src/specify_cli/workflows/_command_resume_state.py +49 -0
  403. specify_cli-1.1.1/src/specify_cli/workflows/_command_run_ownership.py +187 -0
  404. specify_cli-1.1.1/src/specify_cli/workflows/_commands.py +1539 -0
  405. specify_cli-1.1.1/src/specify_cli/workflows/base.py +149 -0
  406. specify_cli-1.1.1/src/specify_cli/workflows/catalog/__init__.py +60 -0
  407. specify_cli-1.1.1/src/specify_cli/workflows/catalog/_domain.py +865 -0
  408. specify_cli-1.1.1/src/specify_cli/workflows/catalog/_versions.py +129 -0
  409. specify_cli-1.1.1/src/specify_cli/workflows/catalog/command_add.py +31 -0
  410. specify_cli-1.1.1/src/specify_cli/workflows/catalog/command_list.py +38 -0
  411. specify_cli-1.1.1/src/specify_cli/workflows/catalog/command_remove.py +26 -0
  412. specify_cli-1.1.1/src/specify_cli/workflows/command_add.py +524 -0
  413. specify_cli-1.1.1/src/specify_cli/workflows/command_disable.py +16 -0
  414. specify_cli-1.1.1/src/specify_cli/workflows/command_enable.py +13 -0
  415. specify_cli-1.1.1/src/specify_cli/workflows/command_info.py +148 -0
  416. specify_cli-1.1.1/src/specify_cli/workflows/command_list.py +36 -0
  417. specify_cli-1.1.1/src/specify_cli/workflows/command_remove.py +127 -0
  418. specify_cli-1.1.1/src/specify_cli/workflows/command_resolve.py +17 -0
  419. specify_cli-1.1.1/src/specify_cli/workflows/command_resume.py +113 -0
  420. specify_cli-1.1.1/src/specify_cli/workflows/command_run.py +168 -0
  421. specify_cli-1.1.1/src/specify_cli/workflows/command_search.py +43 -0
  422. specify_cli-1.1.1/src/specify_cli/workflows/command_status.py +129 -0
  423. specify_cli-1.1.1/src/specify_cli/workflows/command_update.py +148 -0
  424. specify_cli-1.1.1/src/specify_cli/workflows/engine.py +1851 -0
  425. specify_cli-1.1.1/src/specify_cli/workflows/expressions.py +1571 -0
  426. specify_cli-1.1.1/src/specify_cli/workflows/overlay/__init__.py +39 -0
  427. specify_cli-1.1.1/src/specify_cli/workflows/overlay/command_add.py +23 -0
  428. specify_cli-1.1.1/src/specify_cli/workflows/overlay/command_disable.py +19 -0
  429. specify_cli-1.1.1/src/specify_cli/workflows/overlay/command_enable.py +19 -0
  430. specify_cli-1.1.1/src/specify_cli/workflows/overlay/command_list.py +18 -0
  431. specify_cli-1.1.1/src/specify_cli/workflows/overlay/command_remove.py +19 -0
  432. specify_cli-1.1.1/src/specify_cli/workflows/overlay/command_set_priority.py +24 -0
  433. specify_cli-1.1.1/src/specify_cli/workflows/overlay/composer.py +97 -0
  434. specify_cli-1.1.1/src/specify_cli/workflows/overlay/layer_sources.py +250 -0
  435. specify_cli-1.1.1/src/specify_cli/workflows/overlay/merge.py +466 -0
  436. specify_cli-1.1.1/src/specify_cli/workflows/overlay/operations.py +509 -0
  437. specify_cli-1.1.1/src/specify_cli/workflows/overlay/resolver.py +95 -0
  438. specify_cli-1.1.1/src/specify_cli/workflows/overlay/schema.py +187 -0
  439. specify_cli-1.1.1/src/specify_cli/workflows/step/__init__.py +28 -0
  440. specify_cli-1.1.1/src/specify_cli/workflows/step/_helpers.py +49 -0
  441. specify_cli-1.1.1/src/specify_cli/workflows/step/catalog/__init__.py +48 -0
  442. specify_cli-1.1.1/src/specify_cli/workflows/step/catalog/_domain.py +816 -0
  443. specify_cli-1.1.1/src/specify_cli/workflows/step/catalog/_versions.py +178 -0
  444. specify_cli-1.1.1/src/specify_cli/workflows/step/catalog/command_add.py +34 -0
  445. specify_cli-1.1.1/src/specify_cli/workflows/step/catalog/command_list.py +38 -0
  446. specify_cli-1.1.1/src/specify_cli/workflows/step/catalog/command_remove.py +27 -0
  447. specify_cli-1.1.1/src/specify_cli/workflows/step/command/__init__.py +387 -0
  448. specify_cli-1.1.1/src/specify_cli/workflows/step/command_add.py +591 -0
  449. specify_cli-1.1.1/src/specify_cli/workflows/step/command_info.py +137 -0
  450. specify_cli-1.1.1/src/specify_cli/workflows/step/command_list.py +49 -0
  451. specify_cli-1.1.1/src/specify_cli/workflows/step/command_remove.py +129 -0
  452. specify_cli-1.1.1/src/specify_cli/workflows/step/command_search.py +47 -0
  453. specify_cli-1.1.1/src/specify_cli/workflows/step/do_while/__init__.py +163 -0
  454. specify_cli-1.1.1/src/specify_cli/workflows/step/fan_in/__init__.py +132 -0
  455. specify_cli-1.1.1/src/specify_cli/workflows/step/fan_out/__init__.py +107 -0
  456. specify_cli-1.1.1/src/specify_cli/workflows/step/gate/__init__.py +340 -0
  457. specify_cli-1.1.1/src/specify_cli/workflows/step/if_then/__init__.py +145 -0
  458. specify_cli-1.1.1/src/specify_cli/workflows/step/init/__init__.py +346 -0
  459. specify_cli-1.1.1/src/specify_cli/workflows/step/installer.py +852 -0
  460. specify_cli-1.1.1/src/specify_cli/workflows/step/prompt/__init__.py +310 -0
  461. specify_cli-1.1.1/src/specify_cli/workflows/step/shell/__init__.py +169 -0
  462. specify_cli-1.1.1/src/specify_cli/workflows/step/slot/__init__.py +67 -0
  463. specify_cli-1.1.1/src/specify_cli/workflows/step/switch/__init__.py +141 -0
  464. specify_cli-1.1.1/src/specify_cli/workflows/step/while_loop/__init__.py +176 -0
  465. specify_cli-1.1.1/templates/checklist-template.md +45 -0
  466. specify_cli-1.1.1/templates/commands/analyze.md +255 -0
  467. specify_cli-1.1.1/templates/commands/checklist.md +379 -0
  468. specify_cli-1.1.1/templates/commands/clarify.md +291 -0
  469. specify_cli-1.1.1/templates/commands/constitution.md +179 -0
  470. specify_cli-1.1.1/templates/commands/converge.md +279 -0
  471. specify_cli-1.1.1/templates/commands/implement.md +222 -0
  472. specify_cli-1.1.1/templates/commands/plan.md +170 -0
  473. specify_cli-1.1.1/templates/commands/specify.md +345 -0
  474. specify_cli-1.1.1/templates/commands/tasks.md +220 -0
  475. specify_cli-1.1.1/templates/commands/taskstoissues.md +106 -0
  476. specify_cli-1.1.1/templates/plan-template.md +113 -0
  477. specify_cli-1.1.1/templates/vscode-settings.json +13 -0
  478. specify_cli-1.1.1/tests/conftest.py +238 -0
  479. specify_cli-1.1.1/tests/contract/test_bundled_extension_update_delivery.py +157 -0
  480. specify_cli-1.1.1/tests/contract/test_bundled_extension_versions.py +120 -0
  481. specify_cli-1.1.1/tests/contract/test_catalog_schema.py +353 -0
  482. specify_cli-1.1.1/tests/contract/test_extension_version_guard_script.py +352 -0
  483. specify_cli-1.1.1/tests/contract/test_firstparty_bundle_catalog_consistency.py +155 -0
  484. specify_cli-1.1.1/tests/contract/test_manifest_schema.py +225 -0
  485. specify_cli-1.1.1/tests/contract/test_wheel_bundled_presets.py +53 -0
  486. specify_cli-1.1.1/tests/contract/test_wheel_bundled_workflows.py +52 -0
  487. specify_cli-1.1.1/tests/contract/test_wheel_core_pack_scripts.py +40 -0
  488. specify_cli-1.1.1/tests/extensions/assess/test_assess_extension.py +124 -0
  489. specify_cli-1.1.1/tests/extensions/bug/__init__.py +0 -0
  490. specify_cli-1.1.1/tests/extensions/bug/test_bug_extension.py +113 -0
  491. specify_cli-1.1.1/tests/extensions/git/test_git_extension.py +2082 -0
  492. specify_cli-1.1.1/tests/extensions/git/test_git_extension_python_parity.py +800 -0
  493. specify_cli-1.1.1/tests/extensions/github/__init__.py +0 -0
  494. specify_cli-1.1.1/tests/extensions/github/test_github_extension.py +1431 -0
  495. specify_cli-1.1.1/tests/extensions/test_agent_context_cli_free.py +57 -0
  496. specify_cli-1.1.1/tests/extensions/test_extension_agent_context.py +989 -0
  497. specify_cli-1.1.1/tests/extensions/test_update_agent_context_feature_json.py +210 -0
  498. specify_cli-1.1.1/tests/extensions/test_update_agent_context_python_parity.py +585 -0
  499. specify_cli-1.1.1/tests/hooks/TESTING.md +30 -0
  500. specify_cli-1.1.1/tests/http_helpers.py +47 -0
  501. specify_cli-1.1.1/tests/integration/test_preset_update_workflow.py +328 -0
  502. specify_cli-1.1.1/tests/integrations/__init__.py +0 -0
  503. specify_cli-1.1.1/tests/integrations/conftest.py +58 -0
  504. specify_cli-1.1.1/tests/integrations/test_base.py +768 -0
  505. specify_cli-1.1.1/tests/integrations/test_cli.py +2264 -0
  506. specify_cli-1.1.1/tests/integrations/test_extra_args.py +729 -0
  507. specify_cli-1.1.1/tests/integrations/test_home_isolation.py +25 -0
  508. specify_cli-1.1.1/tests/integrations/test_integration_agy.py +387 -0
  509. specify_cli-1.1.1/tests/integrations/test_integration_alquimia.py +858 -0
  510. specify_cli-1.1.1/tests/integrations/test_integration_amp.py +96 -0
  511. specify_cli-1.1.1/tests/integrations/test_integration_auggie.py +10 -0
  512. specify_cli-1.1.1/tests/integrations/test_integration_base_markdown.py +315 -0
  513. specify_cli-1.1.1/tests/integrations/test_integration_base_skills.py +577 -0
  514. specify_cli-1.1.1/tests/integrations/test_integration_base_toml.py +601 -0
  515. specify_cli-1.1.1/tests/integrations/test_integration_base_yaml.py +515 -0
  516. specify_cli-1.1.1/tests/integrations/test_integration_bob.py +1122 -0
  517. specify_cli-1.1.1/tests/integrations/test_integration_claude.py +1006 -0
  518. specify_cli-1.1.1/tests/integrations/test_integration_cline.py +279 -0
  519. specify_cli-1.1.1/tests/integrations/test_integration_codebuddy.py +21 -0
  520. specify_cli-1.1.1/tests/integrations/test_integration_codex.py +193 -0
  521. specify_cli-1.1.1/tests/integrations/test_integration_command_code.py +47 -0
  522. specify_cli-1.1.1/tests/integrations/test_integration_copilot.py +1009 -0
  523. specify_cli-1.1.1/tests/integrations/test_integration_cursor_agent.py +233 -0
  524. specify_cli-1.1.1/tests/integrations/test_integration_devin.py +74 -0
  525. specify_cli-1.1.1/tests/integrations/test_integration_docker_agent.py +278 -0
  526. specify_cli-1.1.1/tests/integrations/test_integration_droid.py +276 -0
  527. specify_cli-1.1.1/tests/integrations/test_integration_dsh.py +314 -0
  528. specify_cli-1.1.1/tests/integrations/test_integration_firebender.py +44 -0
  529. specify_cli-1.1.1/tests/integrations/test_integration_forge.py +631 -0
  530. specify_cli-1.1.1/tests/integrations/test_integration_gemini.py +10 -0
  531. specify_cli-1.1.1/tests/integrations/test_integration_generic.py +2780 -0
  532. specify_cli-1.1.1/tests/integrations/test_integration_goose.py +183 -0
  533. specify_cli-1.1.1/tests/integrations/test_integration_grok.py +187 -0
  534. specify_cli-1.1.1/tests/integrations/test_integration_hermes.py +390 -0
  535. specify_cli-1.1.1/tests/integrations/test_integration_junie.py +229 -0
  536. specify_cli-1.1.1/tests/integrations/test_integration_kilocode.py +76 -0
  537. specify_cli-1.1.1/tests/integrations/test_integration_kimi.py +404 -0
  538. specify_cli-1.1.1/tests/integrations/test_integration_kiro_cli.py +151 -0
  539. specify_cli-1.1.1/tests/integrations/test_integration_lingma.py +18 -0
  540. specify_cli-1.1.1/tests/integrations/test_integration_mcode.py +145 -0
  541. specify_cli-1.1.1/tests/integrations/test_integration_muse.py +80 -0
  542. specify_cli-1.1.1/tests/integrations/test_integration_omp.py +36 -0
  543. specify_cli-1.1.1/tests/integrations/test_integration_opencode.py +202 -0
  544. specify_cli-1.1.1/tests/integrations/test_integration_pi.py +18 -0
  545. specify_cli-1.1.1/tests/integrations/test_integration_qodercli.py +39 -0
  546. specify_cli-1.1.1/tests/integrations/test_integration_qwen.py +10 -0
  547. specify_cli-1.1.1/tests/integrations/test_integration_rovodev.py +334 -0
  548. specify_cli-1.1.1/tests/integrations/test_integration_shai.py +59 -0
  549. specify_cli-1.1.1/tests/integrations/test_integration_state.py +114 -0
  550. specify_cli-1.1.1/tests/integrations/test_integration_tabnine.py +10 -0
  551. specify_cli-1.1.1/tests/integrations/test_integration_trae.py +10 -0
  552. specify_cli-1.1.1/tests/integrations/test_integration_vibe.py +434 -0
  553. specify_cli-1.1.1/tests/integrations/test_integration_zcode.py +36 -0
  554. specify_cli-1.1.1/tests/integrations/test_integration_zed.py +169 -0
  555. specify_cli-1.1.1/tests/integrations/test_manifest.py +578 -0
  556. specify_cli-1.1.1/tests/integrations/test_registry.py +311 -0
  557. specify_cli-1.1.1/tests/integrations/test_skill_frontmatter_quoting.py +243 -0
  558. specify_cli-1.1.1/tests/lock_helpers.py +67 -0
  559. specify_cli-1.1.1/tests/parity_helpers.py +342 -0
  560. specify_cli-1.1.1/tests/specify_cli/__init__.py +1 -0
  561. specify_cli-1.1.1/tests/specify_cli/artifacts/conftest.py +25 -0
  562. specify_cli-1.1.1/tests/specify_cli/artifacts/helpers.py +69 -0
  563. specify_cli-1.1.1/tests/specify_cli/artifacts/test_catalog.py +2274 -0
  564. specify_cli-1.1.1/tests/specify_cli/artifacts/test_catalog_parity.py +173 -0
  565. specify_cli-1.1.1/tests/specify_cli/artifacts/test_command_info.py +152 -0
  566. specify_cli-1.1.1/tests/specify_cli/artifacts/test_command_list.py +178 -0
  567. specify_cli-1.1.1/tests/specify_cli/artifacts/test_command_lookup.py +180 -0
  568. specify_cli-1.1.1/tests/specify_cli/artifacts/test_registration.py +11 -0
  569. specify_cli-1.1.1/tests/specify_cli/authentication/__init__.py +1 -0
  570. specify_cli-1.1.1/tests/specify_cli/authentication/helpers.py +21 -0
  571. specify_cli-1.1.1/tests/specify_cli/authentication/test_authentication.py +1712 -0
  572. specify_cli-1.1.1/tests/specify_cli/authentication/test_github_http.py +779 -0
  573. specify_cli-1.1.1/tests/specify_cli/bundles/__init__.py +0 -0
  574. specify_cli-1.1.1/tests/specify_cli/bundles/_command_helpers.py +50 -0
  575. specify_cli-1.1.1/tests/specify_cli/bundles/catalog/__init__.py +0 -0
  576. specify_cli-1.1.1/tests/specify_cli/bundles/catalog/test_command_add.py +42 -0
  577. specify_cli-1.1.1/tests/specify_cli/bundles/catalog/test_command_list.py +23 -0
  578. specify_cli-1.1.1/tests/specify_cli/bundles/catalog/test_command_remove.py +21 -0
  579. specify_cli-1.1.1/tests/specify_cli/bundles/conftest.py +12 -0
  580. specify_cli-1.1.1/tests/specify_cli/bundles/helpers.py +149 -0
  581. specify_cli-1.1.1/tests/specify_cli/bundles/test_adapters.py +540 -0
  582. specify_cli-1.1.1/tests/specify_cli/bundles/test_bundles.py +8 -0
  583. specify_cli-1.1.1/tests/specify_cli/bundles/test_catalog_config.py +478 -0
  584. specify_cli-1.1.1/tests/specify_cli/bundles/test_catalog_stack.py +141 -0
  585. specify_cli-1.1.1/tests/specify_cli/bundles/test_command_add.py +91 -0
  586. specify_cli-1.1.1/tests/specify_cli/bundles/test_command_build.py +58 -0
  587. specify_cli-1.1.1/tests/specify_cli/bundles/test_command_info.py +660 -0
  588. specify_cli-1.1.1/tests/specify_cli/bundles/test_command_init.py +40 -0
  589. specify_cli-1.1.1/tests/specify_cli/bundles/test_command_install.py +595 -0
  590. specify_cli-1.1.1/tests/specify_cli/bundles/test_command_list.py +103 -0
  591. specify_cli-1.1.1/tests/specify_cli/bundles/test_command_remove.py +55 -0
  592. specify_cli-1.1.1/tests/specify_cli/bundles/test_command_search.py +106 -0
  593. specify_cli-1.1.1/tests/specify_cli/bundles/test_command_update.py +71 -0
  594. specify_cli-1.1.1/tests/specify_cli/bundles/test_command_validate.py +105 -0
  595. specify_cli-1.1.1/tests/specify_cli/bundles/test_commands.py +71 -0
  596. specify_cli-1.1.1/tests/specify_cli/bundles/test_conflict.py +54 -0
  597. specify_cli-1.1.1/tests/specify_cli/bundles/test_installer.py +711 -0
  598. specify_cli-1.1.1/tests/specify_cli/bundles/test_offline.py +153 -0
  599. specify_cli-1.1.1/tests/specify_cli/bundles/test_packager.py +236 -0
  600. specify_cli-1.1.1/tests/specify_cli/bundles/test_primitives.py +839 -0
  601. specify_cli-1.1.1/tests/specify_cli/bundles/test_records.py +281 -0
  602. specify_cli-1.1.1/tests/specify_cli/bundles/test_references.py +112 -0
  603. specify_cli-1.1.1/tests/specify_cli/bundles/test_resolver.py +107 -0
  604. specify_cli-1.1.1/tests/specify_cli/bundles/test_security_paths.py +236 -0
  605. specify_cli-1.1.1/tests/specify_cli/bundles/test_sources.py +332 -0
  606. specify_cli-1.1.1/tests/specify_cli/bundles/test_validator.py +32 -0
  607. specify_cli-1.1.1/tests/specify_cli/bundles/test_versioning.py +77 -0
  608. specify_cli-1.1.1/tests/specify_cli/bundles/test_yamlio.py +58 -0
  609. specify_cli-1.1.1/tests/specify_cli/events/__init__.py +1 -0
  610. specify_cli-1.1.1/tests/specify_cli/events/test_command_run.py +145 -0
  611. specify_cli-1.1.1/tests/specify_cli/events/test_events.py +3196 -0
  612. specify_cli-1.1.1/tests/specify_cli/extensions/__init__.py +6 -0
  613. specify_cli-1.1.1/tests/specify_cli/extensions/_helpers.py +46 -0
  614. specify_cli-1.1.1/tests/specify_cli/extensions/catalog/__init__.py +1 -0
  615. specify_cli-1.1.1/tests/specify_cli/extensions/catalog/test_command_add.py +221 -0
  616. specify_cli-1.1.1/tests/specify_cli/extensions/catalog/test_command_list.py +129 -0
  617. specify_cli-1.1.1/tests/specify_cli/extensions/catalog/test_command_remove.py +75 -0
  618. specify_cli-1.1.1/tests/specify_cli/extensions/conftest.py +89 -0
  619. specify_cli-1.1.1/tests/specify_cli/extensions/test_catalog_versions.py +639 -0
  620. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_add.py +1270 -0
  621. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_add_path_traversal.py +404 -0
  622. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_disable.py +55 -0
  623. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_enable.py +52 -0
  624. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_info.py +241 -0
  625. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_list.py +110 -0
  626. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_remove.py +102 -0
  627. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_search.py +102 -0
  628. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_set_priority.py +142 -0
  629. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_update.py +863 -0
  630. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_update_artifacts.py +135 -0
  631. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_update_discovery.py +102 -0
  632. specify_cli-1.1.1/tests/specify_cli/extensions/test_command_update_transaction.py +2230 -0
  633. specify_cli-1.1.1/tests/specify_cli/integrations/__init__.py +1 -0
  634. specify_cli-1.1.1/tests/specify_cli/integrations/_catalog_helpers.py +107 -0
  635. specify_cli-1.1.1/tests/specify_cli/integrations/_helpers.py +77 -0
  636. specify_cli-1.1.1/tests/specify_cli/integrations/_scaffold_helpers.py +16 -0
  637. specify_cli-1.1.1/tests/specify_cli/integrations/catalog/__init__.py +1 -0
  638. specify_cli-1.1.1/tests/specify_cli/integrations/catalog/test_command_add.py +119 -0
  639. specify_cli-1.1.1/tests/specify_cli/integrations/catalog/test_command_list.py +146 -0
  640. specify_cli-1.1.1/tests/specify_cli/integrations/catalog/test_command_remove.py +83 -0
  641. specify_cli-1.1.1/tests/specify_cli/integrations/conftest.py +22 -0
  642. specify_cli-1.1.1/tests/specify_cli/integrations/test_catalog.py +1680 -0
  643. specify_cli-1.1.1/tests/specify_cli/integrations/test_catalog_versions.py +239 -0
  644. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_info.py +181 -0
  645. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_install.py +709 -0
  646. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_list.py +175 -0
  647. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_scaffold.py +92 -0
  648. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_scaffold_generation.py +133 -0
  649. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_search.py +199 -0
  650. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_status.py +835 -0
  651. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_switch.py +875 -0
  652. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_uninstall.py +222 -0
  653. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_upgrade.py +1721 -0
  654. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_upgrade_layout.py +120 -0
  655. specify_cli-1.1.1/tests/specify_cli/integrations/test_command_use.py +343 -0
  656. specify_cli-1.1.1/tests/specify_cli/integrations/test_lifecycle.py +59 -0
  657. specify_cli-1.1.1/tests/specify_cli/integrations/test_registration.py +186 -0
  658. specify_cli-1.1.1/tests/specify_cli/mcp_server/__init__.py +1 -0
  659. specify_cli-1.1.1/tests/specify_cli/mcp_server/test_catalog.py +43 -0
  660. specify_cli-1.1.1/tests/specify_cli/mcp_server/test_executor.py +210 -0
  661. specify_cli-1.1.1/tests/specify_cli/mcp_server/test_server.py +106 -0
  662. specify_cli-1.1.1/tests/specify_cli/mcp_server/test_stdio.py +78 -0
  663. specify_cli-1.1.1/tests/specify_cli/presets/__init__.py +1 -0
  664. specify_cli-1.1.1/tests/specify_cli/presets/_fixtures.py +82 -0
  665. specify_cli-1.1.1/tests/specify_cli/presets/_helpers.py +254 -0
  666. specify_cli-1.1.1/tests/specify_cli/presets/catalog/__init__.py +1 -0
  667. specify_cli-1.1.1/tests/specify_cli/presets/catalog/test_command_add.py +102 -0
  668. specify_cli-1.1.1/tests/specify_cli/presets/catalog/test_command_list.py +38 -0
  669. specify_cli-1.1.1/tests/specify_cli/presets/catalog/test_command_remove.py +56 -0
  670. specify_cli-1.1.1/tests/specify_cli/presets/conftest.py +10 -0
  671. specify_cli-1.1.1/tests/specify_cli/presets/test_catalog.py +1676 -0
  672. specify_cli-1.1.1/tests/specify_cli/presets/test_catalog_versions.py +981 -0
  673. specify_cli-1.1.1/tests/specify_cli/presets/test_command_add.py +1065 -0
  674. specify_cli-1.1.1/tests/specify_cli/presets/test_command_disable.py +97 -0
  675. specify_cli-1.1.1/tests/specify_cli/presets/test_command_enable.py +162 -0
  676. specify_cli-1.1.1/tests/specify_cli/presets/test_command_info.py +250 -0
  677. specify_cli-1.1.1/tests/specify_cli/presets/test_command_list.py +85 -0
  678. specify_cli-1.1.1/tests/specify_cli/presets/test_command_remove.py +21 -0
  679. specify_cli-1.1.1/tests/specify_cli/presets/test_command_resolve.py +216 -0
  680. specify_cli-1.1.1/tests/specify_cli/presets/test_command_search.py +204 -0
  681. specify_cli-1.1.1/tests/specify_cli/presets/test_command_set_priority.py +166 -0
  682. specify_cli-1.1.1/tests/specify_cli/presets/test_command_update.py +282 -0
  683. specify_cli-1.1.1/tests/specify_cli/presets/test_domain_exports.py +30 -0
  684. specify_cli-1.1.1/tests/specify_cli/presets/test_manager.py +1609 -0
  685. specify_cli-1.1.1/tests/specify_cli/presets/test_manager_commands.py +3160 -0
  686. specify_cli-1.1.1/tests/specify_cli/presets/test_manager_skills.py +2807 -0
  687. specify_cli-1.1.1/tests/specify_cli/presets/test_manifest.py +555 -0
  688. specify_cli-1.1.1/tests/specify_cli/presets/test_registration.py +40 -0
  689. specify_cli-1.1.1/tests/specify_cli/presets/test_registry.py +396 -0
  690. specify_cli-1.1.1/tests/specify_cli/presets/test_resolver.py +1802 -0
  691. specify_cli-1.1.1/tests/specify_cli/self_upgrade_helpers.py +65 -0
  692. specify_cli-1.1.1/tests/specify_cli/selfs/__init__.py +1 -0
  693. specify_cli-1.1.1/tests/specify_cli/selfs/test_command_check.py +187 -0
  694. specify_cli-1.1.1/tests/specify_cli/selfs/test_command_upgrade.py +128 -0
  695. specify_cli-1.1.1/tests/specify_cli/test_agent_config.py +80 -0
  696. specify_cli-1.1.1/tests/specify_cli/test_check_tool.py +151 -0
  697. specify_cli-1.1.1/tests/specify_cli/test_command_check.py +39 -0
  698. specify_cli-1.1.1/tests/specify_cli/test_command_init.py +211 -0
  699. specify_cli-1.1.1/tests/specify_cli/test_command_mcp.py +35 -0
  700. specify_cli-1.1.1/tests/specify_cli/test_command_version.py +187 -0
  701. specify_cli-1.1.1/tests/specify_cli/test_root_version_callback.py +35 -0
  702. specify_cli-1.1.1/tests/specify_cli/test_version_detection.py +888 -0
  703. specify_cli-1.1.1/tests/specify_cli/test_version_execution.py +543 -0
  704. specify_cli-1.1.1/tests/specify_cli/test_version_guidance.py +185 -0
  705. specify_cli-1.1.1/tests/specify_cli/test_version_release.py +286 -0
  706. specify_cli-1.1.1/tests/specify_cli/test_version_verification.py +539 -0
  707. specify_cli-1.1.1/tests/specify_cli/workflows/__init__.py +1 -0
  708. specify_cli-1.1.1/tests/specify_cli/workflows/catalog/__init__.py +1 -0
  709. specify_cli-1.1.1/tests/specify_cli/workflows/catalog/test_command_add.py +49 -0
  710. specify_cli-1.1.1/tests/specify_cli/workflows/catalog/test_command_list.py +37 -0
  711. specify_cli-1.1.1/tests/specify_cli/workflows/catalog/test_command_remove.py +19 -0
  712. specify_cli-1.1.1/tests/specify_cli/workflows/conftest.py +58 -0
  713. specify_cli-1.1.1/tests/specify_cli/workflows/helpers.py +48 -0
  714. specify_cli-1.1.1/tests/specify_cli/workflows/overlay/__init__.py +1 -0
  715. specify_cli-1.1.1/tests/specify_cli/workflows/overlay/test_command_add.py +513 -0
  716. specify_cli-1.1.1/tests/specify_cli/workflows/overlay/test_command_disable.py +165 -0
  717. specify_cli-1.1.1/tests/specify_cli/workflows/overlay/test_command_enable.py +32 -0
  718. specify_cli-1.1.1/tests/specify_cli/workflows/overlay/test_command_list.py +239 -0
  719. specify_cli-1.1.1/tests/specify_cli/workflows/overlay/test_command_remove.py +172 -0
  720. specify_cli-1.1.1/tests/specify_cli/workflows/overlay/test_command_set_priority.py +244 -0
  721. specify_cli-1.1.1/tests/specify_cli/workflows/step/__init__.py +1 -0
  722. specify_cli-1.1.1/tests/specify_cli/workflows/step/catalog/__init__.py +1 -0
  723. specify_cli-1.1.1/tests/specify_cli/workflows/step/catalog/test_command_add.py +51 -0
  724. specify_cli-1.1.1/tests/specify_cli/workflows/step/catalog/test_command_list.py +35 -0
  725. specify_cli-1.1.1/tests/specify_cli/workflows/step/catalog/test_command_remove.py +23 -0
  726. specify_cli-1.1.1/tests/specify_cli/workflows/step/catalog/test_registry.py +33 -0
  727. specify_cli-1.1.1/tests/specify_cli/workflows/step/test_catalog_versions.py +218 -0
  728. specify_cli-1.1.1/tests/specify_cli/workflows/step/test_command_add.py +1867 -0
  729. specify_cli-1.1.1/tests/specify_cli/workflows/step/test_command_info.py +144 -0
  730. specify_cli-1.1.1/tests/specify_cli/workflows/step/test_command_list.py +38 -0
  731. specify_cli-1.1.1/tests/specify_cli/workflows/step/test_command_remove.py +427 -0
  732. specify_cli-1.1.1/tests/specify_cli/workflows/step/test_command_search.py +37 -0
  733. specify_cli-1.1.1/tests/specify_cli/workflows/step/test_installer.py +1196 -0
  734. specify_cli-1.1.1/tests/specify_cli/workflows/test_catalog_versions.py +472 -0
  735. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_add.py +3206 -0
  736. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_disable.py +305 -0
  737. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_enable.py +145 -0
  738. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_info.py +143 -0
  739. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_list.py +150 -0
  740. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_remove.py +371 -0
  741. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_resolve.py +197 -0
  742. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_resume.py +652 -0
  743. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_resume_state.py +40 -0
  744. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_run.py +1394 -0
  745. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_run_ownership.py +51 -0
  746. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_search.py +96 -0
  747. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_status.py +295 -0
  748. specify_cli-1.1.1/tests/specify_cli/workflows/test_command_update.py +801 -0
  749. specify_cli-1.1.1/tests/specify_cli/workflows/test_custom_steps.py +49 -0
  750. specify_cli-1.1.1/tests/test_agent_config_consistency.py +469 -0
  751. specify_cli-1.1.1/tests/test_branch_numbering.py +24 -0
  752. specify_cli-1.1.1/tests/test_bug_fix_workflow.py +102 -0
  753. specify_cli-1.1.1/tests/test_catalog_trust_docs.py +37 -0
  754. specify_cli-1.1.1/tests/test_check_prerequisites_paths_only.py +519 -0
  755. specify_cli-1.1.1/tests/test_check_prerequisites_python_parity.py +673 -0
  756. specify_cli-1.1.1/tests/test_clarify_stage_gate.py +25 -0
  757. specify_cli-1.1.1/tests/test_command_template_hooks.py +80 -0
  758. specify_cli-1.1.1/tests/test_command_template_py_scripts.py +232 -0
  759. specify_cli-1.1.1/tests/test_community_preset_validation.py +735 -0
  760. specify_cli-1.1.1/tests/test_console_imports.py +107 -0
  761. specify_cli-1.1.1/tests/test_constitution_template_sync_report.py +25 -0
  762. specify_cli-1.1.1/tests/test_converge_template_scaffold.py +37 -0
  763. specify_cli-1.1.1/tests/test_create_new_feature_python_parity.py +1789 -0
  764. specify_cli-1.1.1/tests/test_download_security.py +1435 -0
  765. specify_cli-1.1.1/tests/test_extension_registration.py +497 -0
  766. specify_cli-1.1.1/tests/test_extension_skills.py +3679 -0
  767. specify_cli-1.1.1/tests/test_extensions.py +9235 -0
  768. specify_cli-1.1.1/tests/test_github_workflows.py +1575 -0
  769. specify_cli-1.1.1/tests/test_init_dir.py +605 -0
  770. specify_cli-1.1.1/tests/test_init_dir_cli.py +244 -0
  771. specify_cli-1.1.1/tests/test_installed_list_json.py +480 -0
  772. specify_cli-1.1.1/tests/test_live_transient_windows.py +85 -0
  773. specify_cli-1.1.1/tests/test_merge.py +240 -0
  774. specify_cli-1.1.1/tests/test_post_process.py +302 -0
  775. specify_cli-1.1.1/tests/test_presets.py +808 -0
  776. specify_cli-1.1.1/tests/test_ps1_encoding.py +55 -0
  777. specify_cli-1.1.1/tests/test_registrar_path_traversal.py +425 -0
  778. specify_cli-1.1.1/tests/test_resolve_template_python_parity.py +1510 -0
  779. specify_cli-1.1.1/tests/test_security_workflow.py +365 -0
  780. specify_cli-1.1.1/tests/test_setup_plan_feature_json.py +262 -0
  781. specify_cli-1.1.1/tests/test_setup_plan_no_overwrite.py +272 -0
  782. specify_cli-1.1.1/tests/test_setup_plan_python_parity.py +430 -0
  783. specify_cli-1.1.1/tests/test_setup_tasks.py +1042 -0
  784. specify_cli-1.1.1/tests/test_setup_tasks_python_parity.py +270 -0
  785. specify_cli-1.1.1/tests/test_shared_infra_gitignore.py +103 -0
  786. specify_cli-1.1.1/tests/test_shared_infra_integrity.py +101 -0
  787. specify_cli-1.1.1/tests/test_shared_infra_lock.py +118 -0
  788. specify_cli-1.1.1/tests/test_skill_placeholder_py.py +152 -0
  789. specify_cli-1.1.1/tests/test_specify_no_persist.py +159 -0
  790. specify_cli-1.1.1/tests/test_specify_template_numbering.py +39 -0
  791. specify_cli-1.1.1/tests/test_tasks_template_constraints.py +29 -0
  792. specify_cli-1.1.1/tests/test_timestamp_branches.py +1432 -0
  793. specify_cli-1.1.1/tests/test_utils.py +21 -0
  794. specify_cli-1.1.1/tests/test_utils_assets_imports.py +19 -0
  795. specify_cli-1.1.1/tests/test_workflows.py +11414 -0
  796. specify_cli-1.1.1/tests/unit/test_condition_expression_block.py +1002 -0
  797. specify_cli-1.1.1/tests/workflows/conftest.py +26 -0
  798. specify_cli-1.1.1/tests/workflows/test_bundled_bugfix_assess_workflows.py +93 -0
  799. specify_cli-1.1.1/tests/workflows/test_bundled_speckit_workflow.py +58 -0
  800. specify_cli-1.1.1/tests/workflows/test_overlay_composer.py +153 -0
  801. specify_cli-1.1.1/tests/workflows/test_overlay_layer_sources.py +327 -0
  802. specify_cli-1.1.1/tests/workflows/test_overlay_merge.py +932 -0
  803. specify_cli-1.1.1/tests/workflows/test_overlay_schema.py +366 -0
  804. specify_cli-1.1.1/tests/workflows/test_resolver_integration.py +567 -0
  805. specify_cli-1.1.1/tests/workflows/test_slot_step.py +242 -0
  806. specify_cli-1.1.1/workflows/ARCHITECTURE.md +235 -0
  807. specify_cli-1.1.1/workflows/PUBLISHING.md +299 -0
  808. specify_cli-1.1.1/workflows/README.md +565 -0
  809. specify_cli-1.1.1/workflows/assess/workflow.yml +62 -0
  810. specify_cli-1.1.1/workflows/bugfix/workflow.yml +50 -0
  811. specify_cli-1.1.1/workflows/catalog.community.json +50 -0
  812. specify_cli-1.1.1/workflows/catalog.json +37 -0
  813. specify_cli-1.1.1/workflows/speckit/workflow.yml +74 -0
  814. specify_cli-1.1.1/workflows/step-catalog.community.json +6 -0
  815. specify_cli-1.1.1/workflows/step-catalog.json +6 -0
  816. specify_cli-1.1.0/.devcontainer/devcontainer.json +0 -75
  817. specify_cli-1.1.0/.devcontainer/post-create.sh +0 -114
  818. specify_cli-1.1.0/.gitattributes +0 -3
  819. specify_cli-1.1.0/.github/CODEOWNERS +0 -8
  820. specify_cli-1.1.0/.github/ISSUE_TEMPLATE/agent_request.yml +0 -141
  821. specify_cli-1.1.0/.github/ISSUE_TEMPLATE/bug_report.yml +0 -118
  822. specify_cli-1.1.0/.github/ISSUE_TEMPLATE/extension_submission.yml +0 -280
  823. specify_cli-1.1.0/.github/ISSUE_TEMPLATE/feature_request.yml +0 -104
  824. specify_cli-1.1.0/.github/ISSUE_TEMPLATE/preset_submission.yml +0 -185
  825. specify_cli-1.1.0/.github/PULL_REQUEST_TEMPLATE.md +0 -22
  826. specify_cli-1.1.0/.github/aw/actions-lock.json +0 -14
  827. specify_cli-1.1.0/.github/dependabot.yml +0 -12
  828. specify_cli-1.1.0/.github/skills/add-community-extension/SKILL.md +0 -169
  829. specify_cli-1.1.0/.github/workflows/RELEASE-PROCESS.md +0 -191
  830. specify_cli-1.1.0/.github/workflows/add-community-extension.lock.yml +0 -1577
  831. specify_cli-1.1.0/.github/workflows/add-community-extension.md +0 -285
  832. specify_cli-1.1.0/.github/workflows/add-community-preset.lock.yml +0 -1577
  833. specify_cli-1.1.0/.github/workflows/add-community-preset.md +0 -279
  834. specify_cli-1.1.0/.github/workflows/catalog-assign.yml +0 -59
  835. specify_cli-1.1.0/.github/workflows/codeql.yml +0 -32
  836. specify_cli-1.1.0/.github/workflows/docs.yml +0 -69
  837. specify_cli-1.1.0/.github/workflows/lint.yml +0 -44
  838. specify_cli-1.1.0/.github/workflows/pypi.yml +0 -44
  839. specify_cli-1.1.0/.github/workflows/release-trigger.yml +0 -178
  840. specify_cli-1.1.0/.github/workflows/release.yml +0 -88
  841. specify_cli-1.1.0/.github/workflows/stale.yml +0 -43
  842. specify_cli-1.1.0/.github/workflows/test.yml +0 -55
  843. specify_cli-1.1.0/.gitignore +0 -52
  844. specify_cli-1.1.0/.markdownlint-cli2.jsonc +0 -29
  845. specify_cli-1.1.0/AGENTS.md +0 -447
  846. specify_cli-1.1.0/CHANGELOG.md +0 -1693
  847. specify_cli-1.1.0/CITATION.cff +0 -31
  848. specify_cli-1.1.0/CONTRIBUTING.md +0 -241
  849. specify_cli-1.1.0/LICENSE +0 -22
  850. specify_cli-1.1.0/PKG-INFO +0 -18
  851. specify_cli-1.1.0/README.md +0 -597
  852. specify_cli-1.1.0/docs/.gitignore +0 -9
  853. specify_cli-1.1.0/docs/README.md +0 -35
  854. specify_cli-1.1.0/docs/community/extensions.md +0 -134
  855. specify_cli-1.1.0/docs/community/friends.md +0 -14
  856. specify_cli-1.1.0/docs/community/overview.md +0 -27
  857. specify_cli-1.1.0/docs/community/presets.md +0 -32
  858. specify_cli-1.1.0/docs/community/walkthroughs.md +0 -20
  859. specify_cli-1.1.0/docs/concepts/sdd.md +0 -46
  860. specify_cli-1.1.0/docs/docfx.json +0 -81
  861. specify_cli-1.1.0/docs/index.md +0 -154
  862. specify_cli-1.1.0/docs/install/air-gapped.md +0 -59
  863. specify_cli-1.1.0/docs/install/one-time.md +0 -32
  864. specify_cli-1.1.0/docs/install/pipx.md +0 -37
  865. specify_cli-1.1.0/docs/installation.md +0 -112
  866. specify_cli-1.1.0/docs/local-development.md +0 -173
  867. specify_cli-1.1.0/docs/quickstart.md +0 -206
  868. specify_cli-1.1.0/docs/reference/authentication.md +0 -181
  869. specify_cli-1.1.0/docs/reference/core.md +0 -97
  870. specify_cli-1.1.0/docs/reference/extensions.md +0 -201
  871. specify_cli-1.1.0/docs/reference/integrations.md +0 -194
  872. specify_cli-1.1.0/docs/reference/overview.md +0 -33
  873. specify_cli-1.1.0/docs/reference/presets.md +0 -224
  874. specify_cli-1.1.0/docs/reference/workflows.md +0 -323
  875. specify_cli-1.1.0/docs/template/public/main.css +0 -264
  876. specify_cli-1.1.0/docs/toc.yml +0 -64
  877. specify_cli-1.1.0/docs/upgrade.md +0 -508
  878. specify_cli-1.1.0/extensions/EXTENSION-API-REFERENCE.md +0 -830
  879. specify_cli-1.1.0/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +0 -717
  880. specify_cli-1.1.0/extensions/EXTENSION-PUBLISHING-GUIDE.md +0 -365
  881. specify_cli-1.1.0/extensions/agent-context/README.md +0 -57
  882. specify_cli-1.1.0/extensions/agent-context/agent-context-config.yml +0 -15
  883. specify_cli-1.1.0/extensions/agent-context/commands/speckit.agent-context.update.md +0 -26
  884. specify_cli-1.1.0/extensions/agent-context/extension.yml +0 -34
  885. specify_cli-1.1.0/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -200
  886. specify_cli-1.1.0/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -237
  887. specify_cli-1.1.0/extensions/catalog.community.json +0 -3610
  888. specify_cli-1.1.0/extensions/catalog.json +0 -36
  889. specify_cli-1.1.0/extensions/git/README.md +0 -100
  890. specify_cli-1.1.0/extensions/git/commands/speckit.git.commit.md +0 -48
  891. specify_cli-1.1.0/extensions/git/commands/speckit.git.feature.md +0 -67
  892. specify_cli-1.1.0/extensions/git/commands/speckit.git.validate.md +0 -49
  893. specify_cli-1.1.0/extensions/git/config-template.yml +0 -62
  894. specify_cli-1.1.0/extensions/git/extension.yml +0 -140
  895. specify_cli-1.1.0/extensions/git/git-config.yml +0 -62
  896. specify_cli-1.1.0/extensions/git/scripts/bash/auto-commit.sh +0 -140
  897. specify_cli-1.1.0/extensions/git/scripts/bash/create-new-feature.sh +0 -453
  898. specify_cli-1.1.0/extensions/git/scripts/bash/git-common.sh +0 -54
  899. specify_cli-1.1.0/extensions/git/scripts/bash/initialize-repo.sh +0 -54
  900. specify_cli-1.1.0/extensions/git/scripts/powershell/auto-commit.ps1 +0 -169
  901. specify_cli-1.1.0/extensions/git/scripts/powershell/create-new-feature.ps1 +0 -403
  902. specify_cli-1.1.0/extensions/git/scripts/powershell/git-common.ps1 +0 -51
  903. specify_cli-1.1.0/extensions/selftest/commands/selftest.md +0 -69
  904. specify_cli-1.1.0/extensions/template/extension.yml +0 -97
  905. specify_cli-1.1.0/integrations/CONTRIBUTING.md +0 -142
  906. specify_cli-1.1.0/integrations/catalog.json +0 -304
  907. specify_cli-1.1.0/newsletters/2026-April.md +0 -147
  908. specify_cli-1.1.0/newsletters/2026-March.md +0 -80
  909. specify_cli-1.1.0/newsletters/2026-May.md +0 -138
  910. specify_cli-1.1.0/presets/ARCHITECTURE.md +0 -175
  911. specify_cli-1.1.0/presets/PUBLISHING.md +0 -306
  912. specify_cli-1.1.0/presets/README.md +0 -158
  913. specify_cli-1.1.0/presets/catalog.community.json +0 -624
  914. specify_cli-1.1.0/presets/catalog.json +0 -30
  915. specify_cli-1.1.0/presets/lean/commands/speckit.constitution.md +0 -15
  916. specify_cli-1.1.0/presets/self-test/preset.yml +0 -66
  917. specify_cli-1.1.0/presets/self-test/templates/agent-file-template.md +0 -9
  918. specify_cli-1.1.0/pyproject.toml +0 -73
  919. specify_cli-1.1.0/scripts/bash/check-prerequisites.sh +0 -192
  920. specify_cli-1.1.0/scripts/bash/common.sh +0 -721
  921. specify_cli-1.1.0/scripts/bash/create-new-feature.sh +0 -413
  922. specify_cli-1.1.0/scripts/bash/setup-plan.sh +0 -91
  923. specify_cli-1.1.0/scripts/bash/setup-tasks.sh +0 -96
  924. specify_cli-1.1.0/scripts/powershell/check-prerequisites.ps1 +0 -152
  925. specify_cli-1.1.0/scripts/powershell/common.ps1 +0 -695
  926. specify_cli-1.1.0/scripts/powershell/create-new-feature.ps1 +0 -385
  927. specify_cli-1.1.0/scripts/powershell/setup-plan.ps1 +0 -73
  928. specify_cli-1.1.0/scripts/powershell/setup-tasks.ps1 +0 -76
  929. specify_cli-1.1.0/spec-driven.md +0 -412
  930. specify_cli-1.1.0/spec-kit.code-workspace +0 -8
  931. specify_cli-1.1.0/src/specify_cli/__init__.py +0 -3441
  932. specify_cli-1.1.0/src/specify_cli/_agent_config.py +0 -45
  933. specify_cli-1.1.0/src/specify_cli/_console.py +0 -245
  934. specify_cli-1.1.0/src/specify_cli/_github_http.py +0 -93
  935. specify_cli-1.1.0/src/specify_cli/_init_options.py +0 -36
  936. specify_cli-1.1.0/src/specify_cli/_utils.py +0 -285
  937. specify_cli-1.1.0/src/specify_cli/_version.py +0 -1429
  938. specify_cli-1.1.0/src/specify_cli/agents.py +0 -1082
  939. specify_cli-1.1.0/src/specify_cli/authentication/__init__.py +0 -50
  940. specify_cli-1.1.0/src/specify_cli/authentication/azure_devops.py +0 -117
  941. specify_cli-1.1.0/src/specify_cli/authentication/config.py +0 -209
  942. specify_cli-1.1.0/src/specify_cli/authentication/http.py +0 -149
  943. specify_cli-1.1.0/src/specify_cli/catalogs.py +0 -180
  944. specify_cli-1.1.0/src/specify_cli/commands/__init__.py +0 -7
  945. specify_cli-1.1.0/src/specify_cli/commands/init.py +0 -786
  946. specify_cli-1.1.0/src/specify_cli/extensions.py +0 -3125
  947. specify_cli-1.1.0/src/specify_cli/integration_runtime.py +0 -90
  948. specify_cli-1.1.0/src/specify_cli/integration_state.py +0 -223
  949. specify_cli-1.1.0/src/specify_cli/integrations/__init__.py +0 -120
  950. specify_cli-1.1.0/src/specify_cli/integrations/_commands.py +0 -34
  951. specify_cli-1.1.0/src/specify_cli/integrations/_helpers.py +0 -402
  952. specify_cli-1.1.0/src/specify_cli/integrations/_install_commands.py +0 -309
  953. specify_cli-1.1.0/src/specify_cli/integrations/_migrate_commands.py +0 -490
  954. specify_cli-1.1.0/src/specify_cli/integrations/_query_commands.py +0 -464
  955. specify_cli-1.1.0/src/specify_cli/integrations/agy/__init__.py +0 -127
  956. specify_cli-1.1.0/src/specify_cli/integrations/amp/__init__.py +0 -21
  957. specify_cli-1.1.0/src/specify_cli/integrations/auggie/__init__.py +0 -22
  958. specify_cli-1.1.0/src/specify_cli/integrations/base.py +0 -1772
  959. specify_cli-1.1.0/src/specify_cli/integrations/bob/__init__.py +0 -21
  960. specify_cli-1.1.0/src/specify_cli/integrations/catalog.py +0 -815
  961. specify_cli-1.1.0/src/specify_cli/integrations/claude/__init__.py +0 -198
  962. specify_cli-1.1.0/src/specify_cli/integrations/cline/__init__.py +0 -162
  963. specify_cli-1.1.0/src/specify_cli/integrations/codebuddy/__init__.py +0 -22
  964. specify_cli-1.1.0/src/specify_cli/integrations/codex/__init__.py +0 -59
  965. specify_cli-1.1.0/src/specify_cli/integrations/copilot/__init__.py +0 -483
  966. specify_cli-1.1.0/src/specify_cli/integrations/cursor_agent/__init__.py +0 -95
  967. specify_cli-1.1.0/src/specify_cli/integrations/devin/__init__.py +0 -66
  968. specify_cli-1.1.0/src/specify_cli/integrations/forge/__init__.py +0 -209
  969. specify_cli-1.1.0/src/specify_cli/integrations/gemini/__init__.py +0 -22
  970. specify_cli-1.1.0/src/specify_cli/integrations/generic/__init__.py +0 -138
  971. specify_cli-1.1.0/src/specify_cli/integrations/goose/__init__.py +0 -21
  972. specify_cli-1.1.0/src/specify_cli/integrations/hermes/__init__.py +0 -280
  973. specify_cli-1.1.0/src/specify_cli/integrations/iflow/__init__.py +0 -22
  974. specify_cli-1.1.0/src/specify_cli/integrations/junie/__init__.py +0 -22
  975. specify_cli-1.1.0/src/specify_cli/integrations/kilocode/__init__.py +0 -22
  976. specify_cli-1.1.0/src/specify_cli/integrations/kimi/__init__.py +0 -125
  977. specify_cli-1.1.0/src/specify_cli/integrations/kiro_cli/__init__.py +0 -29
  978. specify_cli-1.1.0/src/specify_cli/integrations/lingma/__init__.py +0 -41
  979. specify_cli-1.1.0/src/specify_cli/integrations/manifest.py +0 -444
  980. specify_cli-1.1.0/src/specify_cli/integrations/opencode/__init__.py +0 -51
  981. specify_cli-1.1.0/src/specify_cli/integrations/pi/__init__.py +0 -21
  982. specify_cli-1.1.0/src/specify_cli/integrations/qodercli/__init__.py +0 -22
  983. specify_cli-1.1.0/src/specify_cli/integrations/qwen/__init__.py +0 -22
  984. specify_cli-1.1.0/src/specify_cli/integrations/roo/__init__.py +0 -22
  985. specify_cli-1.1.0/src/specify_cli/integrations/rovodev/__init__.py +0 -250
  986. specify_cli-1.1.0/src/specify_cli/integrations/shai/__init__.py +0 -22
  987. specify_cli-1.1.0/src/specify_cli/integrations/tabnine/__init__.py +0 -22
  988. specify_cli-1.1.0/src/specify_cli/integrations/trae/__init__.py +0 -41
  989. specify_cli-1.1.0/src/specify_cli/integrations/vibe/__init__.py +0 -110
  990. specify_cli-1.1.0/src/specify_cli/integrations/windsurf/__init__.py +0 -22
  991. specify_cli-1.1.0/src/specify_cli/presets.py +0 -3125
  992. specify_cli-1.1.0/src/specify_cli/shared_infra.py +0 -523
  993. specify_cli-1.1.0/src/specify_cli/workflows/__init__.py +0 -68
  994. specify_cli-1.1.0/src/specify_cli/workflows/base.py +0 -132
  995. specify_cli-1.1.0/src/specify_cli/workflows/catalog.py +0 -540
  996. specify_cli-1.1.0/src/specify_cli/workflows/engine.py +0 -1016
  997. specify_cli-1.1.0/src/specify_cli/workflows/expressions.py +0 -309
  998. specify_cli-1.1.0/src/specify_cli/workflows/steps/__init__.py +0 -1
  999. specify_cli-1.1.0/src/specify_cli/workflows/steps/command/__init__.py +0 -158
  1000. specify_cli-1.1.0/src/specify_cli/workflows/steps/do_while/__init__.py +0 -61
  1001. specify_cli-1.1.0/src/specify_cli/workflows/steps/fan_in/__init__.py +0 -61
  1002. specify_cli-1.1.0/src/specify_cli/workflows/steps/fan_out/__init__.py +0 -58
  1003. specify_cli-1.1.0/src/specify_cli/workflows/steps/gate/__init__.py +0 -121
  1004. specify_cli-1.1.0/src/specify_cli/workflows/steps/if_then/__init__.py +0 -55
  1005. specify_cli-1.1.0/src/specify_cli/workflows/steps/prompt/__init__.py +0 -163
  1006. specify_cli-1.1.0/src/specify_cli/workflows/steps/shell/__init__.py +0 -75
  1007. specify_cli-1.1.0/src/specify_cli/workflows/steps/switch/__init__.py +0 -70
  1008. specify_cli-1.1.0/src/specify_cli/workflows/steps/while_loop/__init__.py +0 -68
  1009. specify_cli-1.1.0/templates/checklist-template.md +0 -40
  1010. specify_cli-1.1.0/templates/commands/analyze.md +0 -252
  1011. specify_cli-1.1.0/templates/commands/checklist.md +0 -366
  1012. specify_cli-1.1.0/templates/commands/clarify.md +0 -282
  1013. specify_cli-1.1.0/templates/commands/constitution.md +0 -150
  1014. specify_cli-1.1.0/templates/commands/implement.md +0 -216
  1015. specify_cli-1.1.0/templates/commands/plan.md +0 -171
  1016. specify_cli-1.1.0/templates/commands/specify.md +0 -342
  1017. specify_cli-1.1.0/templates/commands/tasks.md +0 -216
  1018. specify_cli-1.1.0/templates/commands/taskstoissues.md +0 -100
  1019. specify_cli-1.1.0/templates/plan-template.md +0 -113
  1020. specify_cli-1.1.0/templates/vscode-settings.json +0 -14
  1021. specify_cli-1.1.0/tests/auth_helpers.py +0 -21
  1022. specify_cli-1.1.0/tests/conftest.py +0 -152
  1023. specify_cli-1.1.0/tests/extensions/git/test_git_extension.py +0 -839
  1024. specify_cli-1.1.0/tests/extensions/test_extension_agent_context.py +0 -455
  1025. specify_cli-1.1.0/tests/hooks/.specify/extensions.yml +0 -34
  1026. specify_cli-1.1.0/tests/hooks/TESTING.md +0 -30
  1027. specify_cli-1.1.0/tests/http_helpers.py +0 -15
  1028. specify_cli-1.1.0/tests/integrations/conftest.py +0 -23
  1029. specify_cli-1.1.0/tests/integrations/test_base.py +0 -302
  1030. specify_cli-1.1.0/tests/integrations/test_cli.py +0 -1949
  1031. specify_cli-1.1.0/tests/integrations/test_extra_args.py +0 -638
  1032. specify_cli-1.1.0/tests/integrations/test_integration_agy.py +0 -135
  1033. specify_cli-1.1.0/tests/integrations/test_integration_amp.py +0 -11
  1034. specify_cli-1.1.0/tests/integrations/test_integration_auggie.py +0 -11
  1035. specify_cli-1.1.0/tests/integrations/test_integration_base_markdown.py +0 -360
  1036. specify_cli-1.1.0/tests/integrations/test_integration_base_skills.py +0 -515
  1037. specify_cli-1.1.0/tests/integrations/test_integration_base_toml.py +0 -634
  1038. specify_cli-1.1.0/tests/integrations/test_integration_base_yaml.py +0 -513
  1039. specify_cli-1.1.0/tests/integrations/test_integration_bob.py +0 -11
  1040. specify_cli-1.1.0/tests/integrations/test_integration_catalog.py +0 -1531
  1041. specify_cli-1.1.0/tests/integrations/test_integration_claude.py +0 -781
  1042. specify_cli-1.1.0/tests/integrations/test_integration_cline.py +0 -223
  1043. specify_cli-1.1.0/tests/integrations/test_integration_codebuddy.py +0 -11
  1044. specify_cli-1.1.0/tests/integrations/test_integration_codex.py +0 -144
  1045. specify_cli-1.1.0/tests/integrations/test_integration_copilot.py +0 -790
  1046. specify_cli-1.1.0/tests/integrations/test_integration_cursor_agent.py +0 -263
  1047. specify_cli-1.1.0/tests/integrations/test_integration_devin.py +0 -75
  1048. specify_cli-1.1.0/tests/integrations/test_integration_forge.py +0 -481
  1049. specify_cli-1.1.0/tests/integrations/test_integration_gemini.py +0 -11
  1050. specify_cli-1.1.0/tests/integrations/test_integration_generic.py +0 -409
  1051. specify_cli-1.1.0/tests/integrations/test_integration_goose.py +0 -39
  1052. specify_cli-1.1.0/tests/integrations/test_integration_hermes.py +0 -362
  1053. specify_cli-1.1.0/tests/integrations/test_integration_iflow.py +0 -11
  1054. specify_cli-1.1.0/tests/integrations/test_integration_junie.py +0 -11
  1055. specify_cli-1.1.0/tests/integrations/test_integration_kilocode.py +0 -11
  1056. specify_cli-1.1.0/tests/integrations/test_integration_kimi.py +0 -149
  1057. specify_cli-1.1.0/tests/integrations/test_integration_kiro_cli.py +0 -149
  1058. specify_cli-1.1.0/tests/integrations/test_integration_lingma.py +0 -11
  1059. specify_cli-1.1.0/tests/integrations/test_integration_opencode.py +0 -200
  1060. specify_cli-1.1.0/tests/integrations/test_integration_pi.py +0 -11
  1061. specify_cli-1.1.0/tests/integrations/test_integration_qodercli.py +0 -11
  1062. specify_cli-1.1.0/tests/integrations/test_integration_qwen.py +0 -11
  1063. specify_cli-1.1.0/tests/integrations/test_integration_roo.py +0 -11
  1064. specify_cli-1.1.0/tests/integrations/test_integration_rovodev.py +0 -305
  1065. specify_cli-1.1.0/tests/integrations/test_integration_shai.py +0 -11
  1066. specify_cli-1.1.0/tests/integrations/test_integration_state.py +0 -86
  1067. specify_cli-1.1.0/tests/integrations/test_integration_subcommand.py +0 -1551
  1068. specify_cli-1.1.0/tests/integrations/test_integration_tabnine.py +0 -11
  1069. specify_cli-1.1.0/tests/integrations/test_integration_trae.py +0 -11
  1070. specify_cli-1.1.0/tests/integrations/test_integration_vibe.py +0 -38
  1071. specify_cli-1.1.0/tests/integrations/test_integration_windsurf.py +0 -11
  1072. specify_cli-1.1.0/tests/integrations/test_manifest.py +0 -455
  1073. specify_cli-1.1.0/tests/integrations/test_registry.py +0 -290
  1074. specify_cli-1.1.0/tests/self_upgrade_helpers.py +0 -64
  1075. specify_cli-1.1.0/tests/test_agent_config_consistency.py +0 -309
  1076. specify_cli-1.1.0/tests/test_authentication.py +0 -873
  1077. specify_cli-1.1.0/tests/test_branch_numbering.py +0 -74
  1078. specify_cli-1.1.0/tests/test_check_prerequisites_paths_only.py +0 -205
  1079. specify_cli-1.1.0/tests/test_check_tool.py +0 -149
  1080. specify_cli-1.1.0/tests/test_cli_version.py +0 -79
  1081. specify_cli-1.1.0/tests/test_commands_package.py +0 -42
  1082. specify_cli-1.1.0/tests/test_console_imports.py +0 -41
  1083. specify_cli-1.1.0/tests/test_extension_registration.py +0 -497
  1084. specify_cli-1.1.0/tests/test_extension_skills.py +0 -1331
  1085. specify_cli-1.1.0/tests/test_extension_update_hardening.py +0 -109
  1086. specify_cli-1.1.0/tests/test_extensions.py +0 -5363
  1087. specify_cli-1.1.0/tests/test_github_http.py +0 -79
  1088. specify_cli-1.1.0/tests/test_merge.py +0 -190
  1089. specify_cli-1.1.0/tests/test_presets.py +0 -5101
  1090. specify_cli-1.1.0/tests/test_ps1_encoding.py +0 -54
  1091. specify_cli-1.1.0/tests/test_registrar_path_traversal.py +0 -204
  1092. specify_cli-1.1.0/tests/test_self_upgrade_detection.py +0 -887
  1093. specify_cli-1.1.0/tests/test_self_upgrade_execution.py +0 -542
  1094. specify_cli-1.1.0/tests/test_self_upgrade_guidance.py +0 -184
  1095. specify_cli-1.1.0/tests/test_self_upgrade_verification.py +0 -649
  1096. specify_cli-1.1.0/tests/test_setup_plan_feature_json.py +0 -202
  1097. specify_cli-1.1.0/tests/test_setup_plan_no_overwrite.py +0 -216
  1098. specify_cli-1.1.0/tests/test_setup_tasks.py +0 -844
  1099. specify_cli-1.1.0/tests/test_timestamp_branches.py +0 -1376
  1100. specify_cli-1.1.0/tests/test_upgrade.py +0 -404
  1101. specify_cli-1.1.0/tests/test_utils_assets_imports.py +0 -20
  1102. specify_cli-1.1.0/tests/test_workflow_run_without_project.py +0 -238
  1103. specify_cli-1.1.0/tests/test_workflows.py +0 -3476
  1104. specify_cli-1.1.0/workflows/ARCHITECTURE.md +0 -211
  1105. specify_cli-1.1.0/workflows/PUBLISHING.md +0 -285
  1106. specify_cli-1.1.0/workflows/README.md +0 -443
  1107. specify_cli-1.1.0/workflows/catalog.community.json +0 -6
  1108. specify_cli-1.1.0/workflows/catalog.json +0 -16
  1109. specify_cli-1.1.0/workflows/speckit/workflow.yml +0 -77
  1110. {specify_cli-1.1.0 → specify_cli-1.1.1}/.editorconfig +0 -0
  1111. {specify_cli-1.1.0 → specify_cli-1.1.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  1112. {specify_cli-1.1.0 → specify_cli-1.1.1}/.zenodo.json +0 -0
  1113. {specify_cli-1.1.0 → specify_cli-1.1.1}/CODE_OF_CONDUCT.md +0 -0
  1114. {specify_cli-1.1.0 → specify_cli-1.1.1}/DEVELOPMENT.md +0 -0
  1115. {specify_cli-1.1.0 → specify_cli-1.1.1}/SECURITY.md +0 -0
  1116. {specify_cli-1.1.0 → specify_cli-1.1.1}/SUPPORT.md +0 -0
  1117. /specify_cli-1.1.0/media/logo_large.webp → /specify_cli-1.1.1/docs/images/spec-kit-logo.webp +0 -0
  1118. {specify_cli-1.1.0 → specify_cli-1.1.1}/docs/install/uv.md +0 -0
  1119. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/EXTENSION-USER-GUIDE.md +0 -0
  1120. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/README.md +0 -0
  1121. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/RFC-EXTENSION-SYSTEM.md +0 -0
  1122. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/git/commands/speckit.git.initialize.md +0 -0
  1123. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/git/commands/speckit.git.remote.md +0 -0
  1124. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/git/scripts/powershell/initialize-repo.ps1 +0 -0
  1125. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/selftest/extension.yml +0 -0
  1126. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/template/.gitignore +0 -0
  1127. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/template/CHANGELOG.md +0 -0
  1128. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/template/EXAMPLE-README.md +0 -0
  1129. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/template/LICENSE +0 -0
  1130. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/template/README.md +0 -0
  1131. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/template/commands/example.md +0 -0
  1132. {specify_cli-1.1.0 → specify_cli-1.1.1}/extensions/template/config-template.yml +0 -0
  1133. {specify_cli-1.1.0 → specify_cli-1.1.1}/integrations/README.md +0 -0
  1134. {specify_cli-1.1.0 → specify_cli-1.1.1}/integrations/catalog.community.json +0 -0
  1135. {specify_cli-1.1.0 → specify_cli-1.1.1}/media/bootstrap-claude-code.gif +0 -0
  1136. {specify_cli-1.1.0 → specify_cli-1.1.1}/media/logo_small.webp +0 -0
  1137. {specify_cli-1.1.0 → specify_cli-1.1.1}/media/spec-kit-video-header.jpg +0 -0
  1138. {specify_cli-1.1.0 → specify_cli-1.1.1}/media/specify_cli.gif +0 -0
  1139. {specify_cli-1.1.0 → specify_cli-1.1.1}/newsletters/2026-February.md +0 -0
  1140. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/lean/README.md +0 -0
  1141. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/lean/commands/speckit.implement.md +0 -0
  1142. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/lean/commands/speckit.plan.md +0 -0
  1143. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/lean/commands/speckit.specify.md +0 -0
  1144. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/lean/commands/speckit.tasks.md +0 -0
  1145. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/lean/preset.yml +0 -0
  1146. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/scaffold/README.md +0 -0
  1147. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/scaffold/commands/speckit.myext.myextcmd.md +0 -0
  1148. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/scaffold/commands/speckit.specify.md +0 -0
  1149. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/scaffold/preset.yml +0 -0
  1150. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/scaffold/templates/myext-template.md +0 -0
  1151. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/scaffold/templates/spec-template.md +0 -0
  1152. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/self-test/commands/speckit.specify.md +0 -0
  1153. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/self-test/commands/speckit.wrap-test.md +0 -0
  1154. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/self-test/templates/checklist-template.md +0 -0
  1155. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/self-test/templates/constitution-template.md +0 -0
  1156. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/self-test/templates/plan-template.md +0 -0
  1157. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/self-test/templates/spec-template.md +0 -0
  1158. {specify_cli-1.1.0 → specify_cli-1.1.1}/presets/self-test/templates/tasks-template.md +0 -0
  1159. {specify_cli-1.1.0 → specify_cli-1.1.1}/src/specify_cli/_assets.py +0 -0
  1160. {specify_cli-1.1.0 → specify_cli-1.1.1}/src/specify_cli/authentication/base.py +0 -0
  1161. {specify_cli-1.1.0 → specify_cli-1.1.1}/src/specify_cli/authentication/github.py +0 -0
  1162. {specify_cli-1.1.0 → specify_cli-1.1.1}/templates/constitution-template.md +0 -0
  1163. {specify_cli-1.1.0 → specify_cli-1.1.1}/templates/spec-template.md +0 -0
  1164. {specify_cli-1.1.0 → specify_cli-1.1.1}/templates/tasks-template.md +0 -0
  1165. {specify_cli-1.1.0 → specify_cli-1.1.1}/tests/__init__.py +0 -0
  1166. {specify_cli-1.1.0 → specify_cli-1.1.1}/tests/extensions/__init__.py +0 -0
  1167. {specify_cli-1.1.0/tests/integrations → specify_cli-1.1.1/tests/extensions/assess}/__init__.py +0 -0
  1168. {specify_cli-1.1.0 → specify_cli-1.1.1}/tests/extensions/git/__init__.py +0 -0
  1169. {specify_cli-1.1.0 → specify_cli-1.1.1}/tests/hooks/plan.md +0 -0
  1170. {specify_cli-1.1.0 → specify_cli-1.1.1}/tests/hooks/spec.md +0 -0
  1171. {specify_cli-1.1.0 → specify_cli-1.1.1}/tests/hooks/tasks.md +0 -0
  1172. {specify_cli-1.1.0/tests → specify_cli-1.1.1/tests/specify_cli}/test_version_imports.py +0 -0
@@ -0,0 +1,74 @@
1
+ // For format details, see https://aka.ms/devcontainer.json. For config options, see the
2
+ // README at: https://github.com/devcontainers/templates/tree/main/src/python
3
+ {
4
+ "name": "SpecKitDevContainer",
5
+ // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6
+ "image": "mcr.microsoft.com/devcontainers/python:3.13-trixie", // based on Debian "Trixie" (13)
7
+ "features": {
8
+ "ghcr.io/devcontainers/features/common-utils:2": {
9
+ "installZsh": true,
10
+ "installOhMyZsh": true,
11
+ "installOhMyZshConfig": true,
12
+ "upgradePackages": true,
13
+ "username": "devcontainer",
14
+ "userUid": "automatic",
15
+ "userGid": "automatic"
16
+ },
17
+ "ghcr.io/devcontainers/features/dotnet:2": {
18
+ "version": "lts"
19
+ },
20
+ "ghcr.io/devcontainers/features/git:1": {
21
+ "ppa": true,
22
+ "version": "latest"
23
+ },
24
+ "ghcr.io/devcontainers/features/node": {
25
+ "version": "lts"
26
+ }
27
+ },
28
+
29
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
30
+ "forwardPorts": [
31
+ 8080 // for Spec-Kit documentation site
32
+ ],
33
+ "containerUser": "devcontainer",
34
+ "updateRemoteUserUID": true,
35
+ "postCreateCommand": "chmod +x ./.devcontainer/post-create.sh && ./.devcontainer/post-create.sh",
36
+ "postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
37
+ "customizations": {
38
+ "vscode": {
39
+ "extensions": [
40
+ "mhutchie.git-graph",
41
+ "eamodio.gitlens",
42
+ "anweber.reveal-button",
43
+ "chrisdias.promptboost",
44
+ // Github Copilot
45
+ "GitHub.copilot",
46
+ "GitHub.copilot-chat",
47
+ // Codex
48
+ "openai.chatgpt",
49
+ // Kilo Code
50
+ "kilocode.Kilo-Code",
51
+ // Claude Code
52
+ "anthropic.claude-code"
53
+ ],
54
+ "settings": {
55
+ "debug.javascript.autoAttachFilter": "disabled", // fix running commands in integrated terminal
56
+
57
+ // Specify settings for Github Copilot
58
+ "git.autofetch": true,
59
+ "chat.promptFilesRecommendations": {
60
+ "speckit.constitution": true,
61
+ "speckit.specify": true,
62
+ "speckit.plan": true,
63
+ "speckit.tasks": true,
64
+ "speckit.implement": true
65
+ },
66
+ "chat.tools.terminal.autoApprove": {
67
+ ".specify/scripts/bash/": true,
68
+ ".specify/scripts/powershell/": true,
69
+ ".specify/scripts/python/": true
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,125 @@
1
+ #!/bin/bash
2
+
3
+ # Exit immediately on error, treat unset variables as an error, and fail if any command in a pipeline fails.
4
+ set -euo pipefail
5
+
6
+ # Function to run a command and show logs only on error
7
+ run_command() {
8
+ local command_to_run="$*"
9
+ local output
10
+ local exit_code
11
+
12
+ # Capture all output (stdout and stderr)
13
+ output=$(eval "$command_to_run" 2>&1) || exit_code=$?
14
+ exit_code=${exit_code:-0}
15
+
16
+ if [ $exit_code -ne 0 ]; then
17
+ echo -e "\033[0;31m[ERROR] Command failed (Exit Code $exit_code): $command_to_run\033[0m" >&2
18
+ echo -e "\033[0;31m$output\033[0m" >&2
19
+
20
+ exit $exit_code
21
+ fi
22
+ }
23
+
24
+ # Installing CLI-based AI Agents
25
+
26
+ echo -e "\n🤖 Installing Copilot CLI..."
27
+ run_command "npm install -g @github/copilot@latest"
28
+ echo "✅ Done"
29
+
30
+ echo -e "\n🤖 Installing Claude CLI..."
31
+ run_command "npm install -g @anthropic-ai/claude-code@latest"
32
+ echo "✅ Done"
33
+
34
+ echo -e "\n🤖 Installing Codex CLI..."
35
+ run_command "npm install -g @openai/codex@latest"
36
+ echo "✅ Done"
37
+
38
+ echo -e "\n🤖 Installing Gemini CLI..."
39
+ run_command "npm install -g @google/gemini-cli@latest"
40
+ echo "✅ Done"
41
+
42
+ echo -e "\n🤖 Installing Augie CLI..."
43
+ run_command "npm install -g @augmentcode/auggie@latest"
44
+ echo "✅ Done"
45
+
46
+ echo -e "\n🤖 Installing Qwen Code CLI..."
47
+ run_command "npm install -g @qwen-code/qwen-code@latest"
48
+ echo "✅ Done"
49
+
50
+ echo -e "\n🤖 Installing OpenCode CLI..."
51
+ run_command "npm install -g opencode-ai@latest"
52
+ echo "✅ Done"
53
+
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"
94
+ echo "✅ Done"
95
+
96
+ echo -e "\n🤖 Installing CodeBuddy CLI..."
97
+ run_command "npm install -g @tencent-ai/codebuddy-code@latest"
98
+ echo "✅ Done"
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
+
111
+ # Installing UV (Python package manager)
112
+ echo -e "\n🐍 Installing UV - Python Package Manager..."
113
+ run_command "pipx install uv"
114
+ echo "✅ Done"
115
+
116
+ # Installing DocFx (for documentation site)
117
+ echo -e "\n📚 Installing DocFx..."
118
+ run_command "dotnet tool update -g docfx"
119
+ echo "✅ Done"
120
+
121
+ echo -e "\n🧹 Cleaning cache..."
122
+ run_command "sudo apt-get autoclean"
123
+ run_command "sudo apt-get clean"
124
+
125
+ echo "✅ Setup completed. Happy coding! 🚀"
@@ -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,7 @@
1
+ # Global code owner
2
+ * @mnriem
3
+
4
+ # Community catalog files — explicit ownership for when global ownership expands
5
+ /extensions/catalog.community.json @mnriem
6
+ /integrations/catalog.community.json @mnriem
7
+ /presets/catalog.community.json @mnriem
@@ -0,0 +1,154 @@
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, Docker Agent, Factory Droid, DeepSeek Harness, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, MiniMax Code, Mistral Vibe, Muse Code, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
12
+
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.
142
+
143
+ - type: textarea
144
+ id: ai-disclosure
145
+ attributes:
146
+ label: AI Disclosure
147
+ description: >-
148
+ Per our [Contributing guidelines](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#ai-contributions-in-spec-kit),
149
+ any AI assistance used to create this issue must be disclosed. If you used AI, name the agent/tool, model(s),
150
+ settings/mode (reasoning effort; autonomous vs. human-supervised), and extent. Otherwise leave this as "N/A".
151
+ This does not change how your issue is handled — it just gives maintainers visibility into model/agent usage.
152
+ value: "N/A"
153
+ validations:
154
+ required: true
@@ -0,0 +1,154 @@
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
+ - Docker Agent
77
+ - Factory Droid
78
+ - DeepSeek Harness
79
+ - Firebender
80
+ - Forge
81
+ - Gemini CLI
82
+ - GitHub Copilot
83
+ - Goose
84
+ - Grok Build
85
+ - Hermes Agent
86
+ - IBM Bob
87
+ - Junie
88
+ - Kilo Code
89
+ - Kimi Code
90
+ - Kiro CLI
91
+ - Lingma
92
+ - MiniMax Code
93
+ - Mistral Vibe
94
+ - Muse Code
95
+ - Oh My Pi
96
+ - opencode
97
+ - Pi Coding Agent
98
+ - Qoder CLI
99
+ - Qwen Code
100
+ - RovoDev ACLI
101
+ - SHAI
102
+ - Tabnine CLI
103
+ - Trae
104
+ - ZCode
105
+ - Zed
106
+ - Not applicable
107
+ validations:
108
+ required: true
109
+
110
+ - type: input
111
+ id: os
112
+ attributes:
113
+ label: Operating System
114
+ description: Your operating system and version
115
+ placeholder: "e.g., macOS 14.2, Ubuntu 22.04, Windows 11"
116
+ validations:
117
+ required: true
118
+
119
+ - type: input
120
+ id: python
121
+ attributes:
122
+ label: Python Version
123
+ description: "Run `python --version` or `python3 --version`"
124
+ placeholder: "e.g., Python 3.11.5"
125
+ validations:
126
+ required: true
127
+
128
+ - type: textarea
129
+ id: logs
130
+ attributes:
131
+ label: Error Logs
132
+ description: Please paste any relevant error messages or logs
133
+ render: shell
134
+ placeholder: Paste error output here
135
+
136
+ - type: textarea
137
+ id: context
138
+ attributes:
139
+ label: Additional Context
140
+ description: Add any other context about the problem
141
+ placeholder: Screenshots, related issues, workarounds attempted, etc.
142
+
143
+ - type: textarea
144
+ id: ai-disclosure
145
+ attributes:
146
+ label: AI Disclosure
147
+ description: >-
148
+ Per our [Contributing guidelines](https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md#ai-contributions-in-spec-kit),
149
+ any AI assistance used to create this issue must be disclosed. If you used AI, name the agent/tool, model(s),
150
+ settings/mode (reasoning effort; autonomous vs. human-supervised), and extent. Otherwise leave this as "N/A".
151
+ This does not change how your issue is handled — it just gives maintainers visibility into model/agent usage.
152
+ value: "N/A"
153
+ validations:
154
+ required: true