devflow-cli 2.8.0__tar.gz → 3.0.0__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 (429) hide show
  1. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.github/workflows/ci.yml +4 -1
  2. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.github/workflows/release.yml +4 -1
  3. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.idea/misc.xml +0 -1
  4. devflow_cli-3.0.0/.idea/workspace.xml +251 -0
  5. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/CHANGELOG.md +35 -0
  6. devflow_cli-3.0.0/CLAUDE.md +20 -0
  7. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/CONTRIBUTING.md +1 -1
  8. devflow_cli-3.0.0/PKG-INFO +113 -0
  9. devflow_cli-3.0.0/README.md +85 -0
  10. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/commands/devflow.init.md +5 -7
  11. devflow_cli-3.0.0/commands/devflow.md +25 -0
  12. devflow_cli-3.0.0/commands/devflow.regen.md +34 -0
  13. devflow_cli-3.0.0/commands/devflow.status.md +11 -0
  14. devflow_cli-3.0.0/docs/activity-contracts.md +281 -0
  15. devflow_cli-3.0.0/docs/cli-reference.md +105 -0
  16. devflow_cli-3.0.0/docs/commands-reference.md +13 -0
  17. devflow_cli-3.0.0/docs/cursor-guide.md +12 -0
  18. devflow_cli-3.0.0/docs/guides/brownfield.md +11 -0
  19. devflow_cli-3.0.0/docs/guides/greenfield.md +10 -0
  20. devflow_cli-3.0.0/docs/guides/microservices.md +12 -0
  21. devflow_cli-3.0.0/docs/index.md +16 -0
  22. devflow_cli-3.0.0/docs/pipeline-reference.generated.md +30 -0
  23. devflow_cli-3.0.0/docs/pipeline.md +28 -0
  24. devflow_cli-3.0.0/docs/spec-driven.md +11 -0
  25. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/extensions/EXTENSION-API-REFERENCE.md +1 -1
  26. devflow_cli-3.0.0/extensions/catalog.json +19 -0
  27. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/pyproject.toml +16 -3
  28. devflow_cli-3.0.0/src/devflow_cli/__init__.py +47 -0
  29. devflow_cli-3.0.0/src/devflow_cli/adapters/agents.py +328 -0
  30. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/adapters/linear.py +18 -14
  31. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/cli.py +4 -10
  32. devflow_cli-3.0.0/src/devflow_cli/commands/adaptive.py +594 -0
  33. devflow_cli-3.0.0/src/devflow_cli/commands/assess.py +117 -0
  34. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/check.py +45 -16
  35. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/docs_sync.py +2 -2
  36. devflow_cli-3.0.0/src/devflow_cli/commands/export_cmd.py +91 -0
  37. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/feature.py +32 -47
  38. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/init_cmd.py +28 -12
  39. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/linear.py +2 -2
  40. devflow_cli-3.0.0/src/devflow_cli/commands/migrate_cmd.py +200 -0
  41. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/stale.py +9 -9
  42. devflow_cli-3.0.0/src/devflow_cli/commands/status.py +194 -0
  43. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/upgrade_cmd.py +9 -0
  44. devflow_cli-3.0.0/src/devflow_cli/core/activity_contracts.py +656 -0
  45. devflow_cli-3.0.0/src/devflow_cli/core/adaptive_runner.py +343 -0
  46. devflow_cli-3.0.0/src/devflow_cli/core/adaptive_workflow.py +289 -0
  47. devflow_cli-3.0.0/src/devflow_cli/core/assessment.py +273 -0
  48. devflow_cli-3.0.0/src/devflow_cli/core/automatic_evidence.py +719 -0
  49. devflow_cli-3.0.0/src/devflow_cli/core/contract_schemas.py +110 -0
  50. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/core/docgen.py +29 -32
  51. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/core/installer.py +62 -4
  52. devflow_cli-3.0.0/src/devflow_cli/core/operational.py +37 -0
  53. devflow_cli-3.0.0/src/devflow_cli/core/redaction.py +68 -0
  54. devflow_cli-3.0.0/src/devflow_cli/core/remediation.py +158 -0
  55. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/core/staleness.py +22 -35
  56. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/core/validators.py +24 -0
  57. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/core/verification.py +52 -7
  58. devflow_cli-3.0.0/src/devflow_cli/core/waivers.py +285 -0
  59. devflow_cli-3.0.0/src/devflow_cli/core/worklog.py +304 -0
  60. devflow_cli-3.0.0/src/devflow_cli/core/worktree_snapshot.py +91 -0
  61. devflow_cli-3.0.0/src/devflow_cli/schemas/activity-contract-v1.schema.json +76 -0
  62. devflow_cli-3.0.0/src/devflow_cli/schemas/activity-result-v1.schema.json +85 -0
  63. devflow_cli-3.0.0/src/devflow_cli/schemas/assessment-v1.schema.json +60 -0
  64. devflow_cli-3.0.0/src/devflow_cli/schemas/workflow-state-v2.schema.json +66 -0
  65. devflow_cli-3.0.0/src/devflow_cli/utils/__init__.py +0 -0
  66. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/utils/paths.py +23 -12
  67. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/constitution-template.md +1 -1
  68. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/devflow-hooks-template.yml +4 -4
  69. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/conftest.py +0 -30
  70. devflow_cli-3.0.0/tests/test_activity_contracts.py +443 -0
  71. devflow_cli-3.0.0/tests/test_adaptive_runner.py +576 -0
  72. devflow_cli-3.0.0/tests/test_adaptive_workflow.py +185 -0
  73. devflow_cli-3.0.0/tests/test_agent_adapters.py +209 -0
  74. devflow_cli-3.0.0/tests/test_assessment.py +112 -0
  75. devflow_cli-3.0.0/tests/test_automatic_evidence.py +755 -0
  76. devflow_cli-3.0.0/tests/test_cmd_adaptive.py +791 -0
  77. devflow_cli-3.0.0/tests/test_cmd_assess.py +110 -0
  78. devflow_cli-3.0.0/tests/test_cmd_check.py +112 -0
  79. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_cmd_feature.py +19 -12
  80. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_cmd_init.py +38 -0
  81. devflow_cli-3.0.0/tests/test_cmd_migrate.py +185 -0
  82. devflow_cli-3.0.0/tests/test_cmd_status.py +141 -0
  83. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_cmd_traceability.py +6 -4
  84. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_cmd_upgrade.py +14 -0
  85. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_cmd_verify.py +6 -4
  86. devflow_cli-3.0.0/tests/test_constants.py +33 -0
  87. devflow_cli-3.0.0/tests/test_contract_schemas.py +123 -0
  88. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_docgen.py +6 -5
  89. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_hooks.py +1 -1
  90. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_installer.py +36 -1
  91. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_integration.py +64 -48
  92. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_linear_adapter.py +4 -4
  93. devflow_cli-3.0.0/tests/test_linear_order.py +52 -0
  94. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_logging.py +0 -19
  95. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_paths.py +29 -0
  96. devflow_cli-3.0.0/tests/test_staleness.py +85 -0
  97. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_validators.py +63 -89
  98. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_verification.py +87 -0
  99. devflow_cli-3.0.0/tests/test_waivers.py +182 -0
  100. devflow_cli-3.0.0/tests/test_wheel_adaptive_acceptance.py +420 -0
  101. devflow_cli-3.0.0/tests/test_wheel_install.py +99 -0
  102. devflow_cli-3.0.0/tests/test_worklog.py +228 -0
  103. devflow_cli-3.0.0/tests/test_worktree_snapshot.py +59 -0
  104. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/uv.lock +230 -1
  105. devflow_cli-2.8.0/CLAUDE.md +0 -142
  106. devflow_cli-2.8.0/PKG-INFO +0 -149
  107. devflow_cli-2.8.0/README.md +0 -123
  108. devflow_cli-2.8.0/agents/devflow-autofix.md +0 -111
  109. devflow_cli-2.8.0/agents/devflow-review.md +0 -119
  110. devflow_cli-2.8.0/commands/devflow.analyze.md +0 -75
  111. devflow_cli-2.8.0/commands/devflow.checklist.md +0 -75
  112. devflow_cli-2.8.0/commands/devflow.clarify.md +0 -93
  113. devflow_cli-2.8.0/commands/devflow.constitution.md +0 -63
  114. devflow_cli-2.8.0/commands/devflow.contracts.md +0 -65
  115. devflow_cli-2.8.0/commands/devflow.docs.md +0 -59
  116. devflow_cli-2.8.0/commands/devflow.implement.md +0 -123
  117. devflow_cli-2.8.0/commands/devflow.md +0 -351
  118. devflow_cli-2.8.0/commands/devflow.metrics.md +0 -61
  119. devflow_cli-2.8.0/commands/devflow.plan.md +0 -70
  120. devflow_cli-2.8.0/commands/devflow.regen.md +0 -40
  121. devflow_cli-2.8.0/commands/devflow.research.md +0 -59
  122. devflow_cli-2.8.0/commands/devflow.review-impl.md +0 -58
  123. devflow_cli-2.8.0/commands/devflow.review-spec.md +0 -53
  124. devflow_cli-2.8.0/commands/devflow.review-tasks.md +0 -52
  125. devflow_cli-2.8.0/commands/devflow.spec.md +0 -60
  126. devflow_cli-2.8.0/commands/devflow.status.md +0 -92
  127. devflow_cli-2.8.0/commands/devflow.sync-linear.md +0 -44
  128. devflow_cli-2.8.0/commands/devflow.tasks-to-issues.md +0 -44
  129. devflow_cli-2.8.0/commands/devflow.tasks.md +0 -59
  130. devflow_cli-2.8.0/docs/cli-reference.md +0 -660
  131. devflow_cli-2.8.0/docs/commands-reference.md +0 -557
  132. devflow_cli-2.8.0/docs/cursor-guide.md +0 -75
  133. devflow_cli-2.8.0/docs/guides/brownfield.md +0 -213
  134. devflow_cli-2.8.0/docs/guides/greenfield.md +0 -197
  135. devflow_cli-2.8.0/docs/guides/microservices.md +0 -199
  136. devflow_cli-2.8.0/docs/index.md +0 -26
  137. devflow_cli-2.8.0/docs/pipeline-reference.generated.md +0 -23
  138. devflow_cli-2.8.0/docs/pipeline.md +0 -306
  139. devflow_cli-2.8.0/docs/spec-driven.md +0 -306
  140. devflow_cli-2.8.0/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +0 -196
  141. devflow_cli-2.8.0/extensions/README.md +0 -138
  142. devflow_cli-2.8.0/extensions/catalog.json +0 -77
  143. devflow_cli-2.8.0/src/devflow_cli/__init__.py +0 -113
  144. devflow_cli-2.8.0/src/devflow_cli/adapters/agents.py +0 -148
  145. devflow_cli-2.8.0/src/devflow_cli/commands/export_cmd.py +0 -149
  146. devflow_cli-2.8.0/src/devflow_cli/commands/migrate_cmd.py +0 -105
  147. devflow_cli-2.8.0/src/devflow_cli/commands/migrate_speckit.py +0 -344
  148. devflow_cli-2.8.0/src/devflow_cli/commands/review.py +0 -54
  149. devflow_cli-2.8.0/src/devflow_cli/commands/rollback.py +0 -53
  150. devflow_cli-2.8.0/src/devflow_cli/commands/run.py +0 -123
  151. devflow_cli-2.8.0/src/devflow_cli/commands/status.py +0 -131
  152. devflow_cli-2.8.0/src/devflow_cli/commands/step.py +0 -118
  153. devflow_cli-2.8.0/src/devflow_cli/core/orchestrator.py +0 -170
  154. devflow_cli-2.8.0/src/devflow_cli/core/state.py +0 -576
  155. devflow_cli-2.8.0/src/devflow_cli/core/state_store.py +0 -45
  156. devflow_cli-2.8.0/src/devflow_cli/schemas/state.schema.json +0 -39
  157. devflow_cli-2.8.0/templates/analyze-template.md +0 -115
  158. devflow_cli-2.8.0/templates/checklist-template.md +0 -64
  159. devflow_cli-2.8.0/templates/checklists/api.md +0 -25
  160. devflow_cli-2.8.0/templates/checklists/requirements.md +0 -25
  161. devflow_cli-2.8.0/templates/checklists/security.md +0 -25
  162. devflow_cli-2.8.0/templates/checklists/ux.md +0 -25
  163. devflow_cli-2.8.0/templates/clarify-template.md +0 -43
  164. devflow_cli-2.8.0/templates/docs-template.md +0 -74
  165. devflow_cli-2.8.0/templates/export/copilot-instructions-template.md +0 -33
  166. devflow_cli-2.8.0/templates/export/cursor-rules-template.md +0 -38
  167. devflow_cli-2.8.0/templates/review-impl-template.md +0 -71
  168. devflow_cli-2.8.0/templates/review-spec-template.md +0 -59
  169. devflow_cli-2.8.0/templates/review-tasks-template.md +0 -49
  170. devflow_cli-2.8.0/tests/fixtures/mock-state.json +0 -9
  171. devflow_cli-2.8.0/tests/test_agent_adapters.py +0 -76
  172. devflow_cli-2.8.0/tests/test_cmd_check.py +0 -53
  173. devflow_cli-2.8.0/tests/test_cmd_migrate.py +0 -100
  174. devflow_cli-2.8.0/tests/test_cmd_migrate_speckit.py +0 -471
  175. devflow_cli-2.8.0/tests/test_cmd_review.py +0 -95
  176. devflow_cli-2.8.0/tests/test_cmd_run.py +0 -39
  177. devflow_cli-2.8.0/tests/test_cmd_status.py +0 -123
  178. devflow_cli-2.8.0/tests/test_cmd_step.py +0 -141
  179. devflow_cli-2.8.0/tests/test_constants.py +0 -57
  180. devflow_cli-2.8.0/tests/test_e2e_pipeline.py +0 -295
  181. devflow_cli-2.8.0/tests/test_linear_order.py +0 -70
  182. devflow_cli-2.8.0/tests/test_orchestrator.py +0 -105
  183. devflow_cli-2.8.0/tests/test_rollback.py +0 -497
  184. devflow_cli-2.8.0/tests/test_staleness.py +0 -258
  185. devflow_cli-2.8.0/tests/test_state.py +0 -1024
  186. devflow_cli-2.8.0/tests/test_state_schema.py +0 -14
  187. /devflow_cli-2.8.0/src/devflow_cli/commands/__init__.py → /devflow_cli-3.0.0/.ai/mcp/mcp.json +0 -0
  188. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.claude/commands/speckit.analyze.md +0 -0
  189. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.claude/commands/speckit.checklist.md +0 -0
  190. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.claude/commands/speckit.clarify.md +0 -0
  191. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.claude/commands/speckit.constitution.md +0 -0
  192. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.claude/commands/speckit.implement.md +0 -0
  193. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.claude/commands/speckit.plan.md +0 -0
  194. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.claude/commands/speckit.specify.md +0 -0
  195. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.claude/commands/speckit.tasks.md +0 -0
  196. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.claude/commands/speckit.taskstoissues.md +0 -0
  197. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.githooks/post-checkout +0 -0
  198. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.githooks/post-merge +0 -0
  199. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.gitignore +0 -0
  200. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.idea/.gitignore +0 -0
  201. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.idea/devflow.iml +0 -0
  202. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.idea/modules.xml +0 -0
  203. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.idea/vcs.xml +0 -0
  204. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/init-options.json +0 -0
  205. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/memory/constitution.md +0 -0
  206. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/scripts/bash/check-prerequisites.sh +0 -0
  207. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/scripts/bash/common.sh +0 -0
  208. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/scripts/bash/create-new-feature.sh +0 -0
  209. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/scripts/bash/setup-plan.sh +0 -0
  210. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/scripts/bash/update-agent-context.sh +0 -0
  211. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/001-cli-init-options/checklists/requirements.md +0 -0
  212. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/001-cli-init-options/contracts/cli-init.md +0 -0
  213. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/001-cli-init-options/data-model.md +0 -0
  214. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/001-cli-init-options/plan.md +0 -0
  215. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/001-cli-init-options/research.md +0 -0
  216. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/001-cli-init-options/spec.md +0 -0
  217. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/001-cli-init-options/tasks.md +0 -0
  218. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/002-cascade-regen/checklists/requirements.md +0 -0
  219. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/002-cascade-regen/contracts/cli-regen.md +0 -0
  220. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/002-cascade-regen/contracts/cli-status-staleness.md +0 -0
  221. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/002-cascade-regen/data-model.md +0 -0
  222. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/002-cascade-regen/plan.md +0 -0
  223. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/002-cascade-regen/research.md +0 -0
  224. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/002-cascade-regen/spec.md +0 -0
  225. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/002-cascade-regen/tasks.md +0 -0
  226. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/003-usecase-guides/checklists/requirements.md +0 -0
  227. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/003-usecase-guides/data-model.md +0 -0
  228. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/003-usecase-guides/plan.md +0 -0
  229. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/003-usecase-guides/quickstart.md +0 -0
  230. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/003-usecase-guides/research.md +0 -0
  231. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/003-usecase-guides/spec.md +0 -0
  232. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/003-usecase-guides/tasks.md +0 -0
  233. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/004-specify-central-directory/checklists/requirements.md +0 -0
  234. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/004-specify-central-directory/contracts/cli-commands.md +0 -0
  235. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/004-specify-central-directory/data-model.md +0 -0
  236. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/004-specify-central-directory/plan.md +0 -0
  237. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/004-specify-central-directory/quickstart.md +0 -0
  238. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/004-specify-central-directory/research.md +0 -0
  239. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/004-specify-central-directory/spec.md +0 -0
  240. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/004-specify-central-directory/tasks.md +0 -0
  241. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/005-implement-subphases/checklists/requirements.md +0 -0
  242. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/005-implement-subphases/plan.md +0 -0
  243. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/005-implement-subphases/quickstart.md +0 -0
  244. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/005-implement-subphases/research.md +0 -0
  245. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/005-implement-subphases/spec.md +0 -0
  246. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/005-implement-subphases/tasks.md +0 -0
  247. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/006-template-upgrade/checklists/requirements.md +0 -0
  248. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/006-template-upgrade/contracts/cli-upgrade.md +0 -0
  249. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/006-template-upgrade/data-model.md +0 -0
  250. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/006-template-upgrade/plan.md +0 -0
  251. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/006-template-upgrade/quickstart.md +0 -0
  252. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/006-template-upgrade/research.md +0 -0
  253. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/006-template-upgrade/spec.md +0 -0
  254. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/006-template-upgrade/tasks.md +0 -0
  255. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/007-project-documentation/checklists/requirements.md +0 -0
  256. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/007-project-documentation/data-model.md +0 -0
  257. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/007-project-documentation/plan.md +0 -0
  258. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/007-project-documentation/quickstart.md +0 -0
  259. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/007-project-documentation/research.md +0 -0
  260. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/007-project-documentation/spec.md +0 -0
  261. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/007-project-documentation/tasks.md +0 -0
  262. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/008-hardening-bugs/checklists/requirements.md +0 -0
  263. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/008-hardening-bugs/plan.md +0 -0
  264. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/008-hardening-bugs/quickstart.md +0 -0
  265. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/008-hardening-bugs/research.md +0 -0
  266. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/008-hardening-bugs/spec.md +0 -0
  267. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/008-hardening-bugs/tasks.md +0 -0
  268. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/009-ci-pypi/checklists/requirements.md +0 -0
  269. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/009-ci-pypi/plan.md +0 -0
  270. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/009-ci-pypi/quickstart.md +0 -0
  271. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/009-ci-pypi/research.md +0 -0
  272. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/009-ci-pypi/spec.md +0 -0
  273. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/009-ci-pypi/tasks.md +0 -0
  274. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/010-flexible-pipeline/checklists/requirements.md +0 -0
  275. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/010-flexible-pipeline/plan.md +0 -0
  276. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/010-flexible-pipeline/quickstart.md +0 -0
  277. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/010-flexible-pipeline/research.md +0 -0
  278. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/010-flexible-pipeline/spec.md +0 -0
  279. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/010-flexible-pipeline/tasks.md +0 -0
  280. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/011-cursor-support/checklists/requirements.md +0 -0
  281. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/011-cursor-support/plan.md +0 -0
  282. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/011-cursor-support/quickstart.md +0 -0
  283. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/011-cursor-support/research.md +0 -0
  284. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/011-cursor-support/spec.md +0 -0
  285. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/011-cursor-support/tasks.md +0 -0
  286. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/012-fix-critical-bugs/checklists/requirements.md +0 -0
  287. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/012-fix-critical-bugs/plan.md +0 -0
  288. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/012-fix-critical-bugs/research.md +0 -0
  289. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/012-fix-critical-bugs/spec.md +0 -0
  290. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/012-fix-critical-bugs/tasks.md +0 -0
  291. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/013-align-truth-sources/checklists/requirements.md +0 -0
  292. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/013-align-truth-sources/plan.md +0 -0
  293. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/013-align-truth-sources/quickstart.md +0 -0
  294. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/013-align-truth-sources/spec.md +0 -0
  295. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/013-align-truth-sources/tasks.md +0 -0
  296. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/014-enforce-state-machine/checklists/requirements.md +0 -0
  297. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/014-enforce-state-machine/plan.md +0 -0
  298. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/014-enforce-state-machine/quickstart.md +0 -0
  299. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/014-enforce-state-machine/spec.md +0 -0
  300. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/014-enforce-state-machine/tasks.md +0 -0
  301. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/015-fix-review-contradiction/checklists/requirements.md +0 -0
  302. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/015-fix-review-contradiction/plan.md +0 -0
  303. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/015-fix-review-contradiction/research.md +0 -0
  304. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/015-fix-review-contradiction/spec.md +0 -0
  305. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/015-fix-review-contradiction/tasks.md +0 -0
  306. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/016-harden-state-machine/checklists/requirements.md +0 -0
  307. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/016-harden-state-machine/plan.md +0 -0
  308. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/016-harden-state-machine/research.md +0 -0
  309. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/016-harden-state-machine/spec.md +0 -0
  310. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/016-harden-state-machine/tasks.md +0 -0
  311. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/017-fix-robustness-issues/checklists/requirements.md +0 -0
  312. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/017-fix-robustness-issues/plan.md +0 -0
  313. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/017-fix-robustness-issues/research.md +0 -0
  314. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/017-fix-robustness-issues/spec.md +0 -0
  315. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/017-fix-robustness-issues/tasks.md +0 -0
  316. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/018-fix-final-robustness/spec.md +0 -0
  317. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/019-quality-hardening/checklists/requirements.md +0 -0
  318. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/019-quality-hardening/data-model.md +0 -0
  319. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/019-quality-hardening/plan.md +0 -0
  320. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/019-quality-hardening/research.md +0 -0
  321. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/019-quality-hardening/spec.md +0 -0
  322. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/019-quality-hardening/tasks.md +0 -0
  323. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/020-migrate-speckit/checklists/requirements.md +0 -0
  324. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/020-migrate-speckit/data-model.md +0 -0
  325. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/020-migrate-speckit/plan.md +0 -0
  326. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/020-migrate-speckit/quickstart.md +0 -0
  327. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/020-migrate-speckit/research.md +0 -0
  328. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/020-migrate-speckit/spec.md +0 -0
  329. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/020-migrate-speckit/tasks.md +0 -0
  330. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/021-review-iterations/checklists/requirements.md +0 -0
  331. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/021-review-iterations/plan.md +0 -0
  332. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/021-review-iterations/research.md +0 -0
  333. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/021-review-iterations/spec.md +0 -0
  334. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/021-review-iterations/tasks.md +0 -0
  335. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/022-fix-regen-command/checklists/requirements.md +0 -0
  336. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/022-fix-regen-command/plan.md +0 -0
  337. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/022-fix-regen-command/research.md +0 -0
  338. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/022-fix-regen-command/spec.md +0 -0
  339. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/022-fix-regen-command/tasks.md +0 -0
  340. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/023-add-logging/checklists/requirements.md +0 -0
  341. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/023-add-logging/plan.md +0 -0
  342. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/023-add-logging/research.md +0 -0
  343. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/023-add-logging/spec.md +0 -0
  344. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/023-add-logging/tasks.md +0 -0
  345. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/024-validate-constants/checklists/requirements.md +0 -0
  346. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/024-validate-constants/plan.md +0 -0
  347. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/024-validate-constants/research.md +0 -0
  348. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/024-validate-constants/spec.md +0 -0
  349. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/024-validate-constants/tasks.md +0 -0
  350. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/025-harden-tests/checklists/requirements.md +0 -0
  351. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/025-harden-tests/plan.md +0 -0
  352. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/025-harden-tests/research.md +0 -0
  353. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/025-harden-tests/spec.md +0 -0
  354. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/025-harden-tests/tasks.md +0 -0
  355. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/027-pipeline-auto-execution/checklists/requirements.md +0 -0
  356. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/027-pipeline-auto-execution/contracts/orchestrator-contract.md +0 -0
  357. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/027-pipeline-auto-execution/data-model.md +0 -0
  358. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/027-pipeline-auto-execution/plan.md +0 -0
  359. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/027-pipeline-auto-execution/quickstart.md +0 -0
  360. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/027-pipeline-auto-execution/research.md +0 -0
  361. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/027-pipeline-auto-execution/spec.md +0 -0
  362. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/specs/027-pipeline-auto-execution/tasks.md +0 -0
  363. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/templates/agent-file-template.md +0 -0
  364. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/templates/checklist-template.md +0 -0
  365. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/templates/constitution-template.md +0 -0
  366. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/templates/plan-template.md +0 -0
  367. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/templates/spec-template-brownfield.md +0 -0
  368. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/templates/spec-template-greenfield.md +0 -0
  369. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/templates/spec-template-microservices.md +0 -0
  370. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/templates/spec-template.md +0 -0
  371. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/.specify/templates/tasks-template.md +0 -0
  372. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/LICENSE +0 -0
  373. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/commands/devflow.context.md +0 -0
  374. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/commands/devflow.extension.md +0 -0
  375. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/extensions/catalog.community.json +0 -0
  376. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/extensions/template/example-command.md +0 -0
  377. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/extensions/template/example-extension.json +0 -0
  378. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/adapters/__init__.py +0 -0
  379. {devflow_cli-2.8.0/src/devflow_cli/core → devflow_cli-3.0.0/src/devflow_cli/commands}/__init__.py +0 -0
  380. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/context.py +0 -0
  381. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/extension.py +0 -0
  382. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/hooks_cmd.py +0 -0
  383. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/traceability.py +0 -0
  384. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/commands/verify.py +0 -0
  385. {devflow_cli-2.8.0/src/devflow_cli/utils → devflow_cli-3.0.0/src/devflow_cli/core}/__init__.py +0 -0
  386. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/core/catalog.py +0 -0
  387. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/core/git.py +0 -0
  388. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/core/hooks.py +0 -0
  389. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/core/manifest.py +0 -0
  390. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/core/scanner.py +0 -0
  391. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/core/traceability.py +0 -0
  392. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/utils/console.py +0 -0
  393. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/utils/logging.py +0 -0
  394. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/src/devflow_cli/utils/strings.py +0 -0
  395. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/agent-context-template.md +0 -0
  396. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/contracts/README-template.md +0 -0
  397. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/contracts/api-template.md +0 -0
  398. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/contracts/components-template.md +0 -0
  399. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/contracts/interfaces-template.md +0 -0
  400. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/contracts/services-template.md +0 -0
  401. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/contracts-template.md +0 -0
  402. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/data-model-template.md +0 -0
  403. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/extension-manifest-template.json +0 -0
  404. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/plan-template.md +0 -0
  405. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/quickstart-template.md +0 -0
  406. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/research-template.md +0 -0
  407. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/spec-template.md +0 -0
  408. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/templates/tasks-template.md +0 -0
  409. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/fixtures/agents/mock-agent.md +0 -0
  410. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/fixtures/commands/mock-command.md +0 -0
  411. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/fixtures/mock-catalog.json +0 -0
  412. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/run-tests.sh +0 -0
  413. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test-helpers.sh +0 -0
  414. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test-template-variants.sh +0 -0
  415. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_bash_runner.py +0 -0
  416. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_catalog.py +0 -0
  417. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_cmd_context.py +0 -0
  418. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_cmd_docs_sync.py +0 -0
  419. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_cmd_extension.py +0 -0
  420. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_cmd_hooks.py +0 -0
  421. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_cmd_linear.py +0 -0
  422. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_cmd_stale.py +0 -0
  423. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_context.py +0 -0
  424. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_git.py +0 -0
  425. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_manifest.py +0 -0
  426. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_paths_project_root.py +0 -0
  427. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_scanner.py +0 -0
  428. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_traceability.py +0 -0
  429. {devflow_cli-2.8.0 → devflow_cli-3.0.0}/tests/test_version.py +0 -0
@@ -30,7 +30,10 @@ jobs:
30
30
  uv pip install -e ".[dev]"
31
31
 
32
32
  - name: Run pytest
33
- run: uv run pytest tests/ -v
33
+ run: uv run pytest tests/ -v --ignore=tests/test_wheel_adaptive_acceptance.py
34
+
35
+ - name: Run installed-wheel adaptive acceptance
36
+ run: uv run pytest tests/test_wheel_adaptive_acceptance.py -v
34
37
 
35
38
  - name: Check generated documentation
36
39
  run: uv run devflow docs-sync --check
@@ -24,7 +24,10 @@ jobs:
24
24
  uv pip install -e ".[dev]"
25
25
 
26
26
  - name: Run tests
27
- run: uv run pytest tests/ -v
27
+ run: uv run pytest tests/ -v --ignore=tests/test_wheel_adaptive_acceptance.py
28
+
29
+ - name: Run installed-wheel adaptive acceptance
30
+ run: uv run pytest tests/test_wheel_adaptive_acceptance.py -v
28
31
 
29
32
  publish:
30
33
  needs: test
@@ -1,4 +1,3 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
1
  <project version="4">
3
2
  <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="corretto-21" project-jdk-type="JavaSDK">
4
3
  <output url="file://$PROJECT_DIR$/out" />
@@ -0,0 +1,251 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AutoImportSettings">
4
+ <option name="autoReloadType" value="SELECTIVE" />
5
+ </component>
6
+ <component name="ChangeListManager">
7
+ <list default="true" id="4d5164b1-14ff-40b3-8f55-b6f2c3abff01" name="Changes" comment="">
8
+ <change beforePath="$PROJECT_DIR$/pyproject.toml" beforeDir="false" afterPath="$PROJECT_DIR$/pyproject.toml" afterDir="false" />
9
+ <change beforePath="$PROJECT_DIR$/src/devflow_cli/utils/paths.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/devflow_cli/utils/paths.py" afterDir="false" />
10
+ </list>
11
+ <option name="SHOW_DIALOG" value="false" />
12
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
13
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
14
+ <option name="LAST_RESOLUTION" value="IGNORE" />
15
+ </component>
16
+ <component name="EmbeddingIndexingInfo">
17
+ <option name="cachedIndexableFilesCount" value="1457" />
18
+ <option name="fileBasedEmbeddingIndicesEnabled" value="true" />
19
+ </component>
20
+ <component name="Git.Settings">
21
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
22
+ </component>
23
+ <component name="GitHubPullRequestSearchHistory">{
24
+ &quot;lastFilter&quot;: {
25
+ &quot;state&quot;: &quot;OPEN&quot;,
26
+ &quot;assignee&quot;: &quot;sopequenoteck&quot;
27
+ }
28
+ }</component>
29
+ <component name="GitToolBoxStore">
30
+ <option name="branchesCleanupHistory">
31
+ <BranchesCleanupHistory>
32
+ <option name="history">
33
+ <list>
34
+ <BranchCleanupEntry>
35
+ <option name="deletions">
36
+ <list>
37
+ <BranchDeletion>
38
+ <option name="hash" value="861fc6362be269bb7f402d7760f3bf7b565d7460" />
39
+ <option name="name" value="017-fix-robustness-issues" />
40
+ </BranchDeletion>
41
+ <BranchDeletion>
42
+ <option name="hash" value="608c9bc52be63c110d9d2a9a5b4fe919f90c8154" />
43
+ <option name="name" value="026-fix-command-ambiguities" />
44
+ </BranchDeletion>
45
+ <BranchDeletion>
46
+ <option name="hash" value="c9d97356f42487cc635e82f35068c632449e7459" />
47
+ <option name="name" value="016-harden-state-machine" />
48
+ </BranchDeletion>
49
+ <BranchDeletion>
50
+ <option name="hash" value="f6ef9c69dcc416b37b0d7b15cc2bc418adb94445" />
51
+ <option name="name" value="008-hardening-bugs" />
52
+ </BranchDeletion>
53
+ <BranchDeletion>
54
+ <option name="hash" value="cf559e1c5ab82ad66ad5a6ba9ca8bf3c612a8dbe" />
55
+ <option name="name" value="001-cli-init-options" />
56
+ </BranchDeletion>
57
+ <BranchDeletion>
58
+ <option name="hash" value="9c9ac6ba6122577894e95900414ad21c94117675" />
59
+ <option name="name" value="003-usecase-guides" />
60
+ </BranchDeletion>
61
+ <BranchDeletion>
62
+ <option name="hash" value="7fbc2c734b62139eac11b05a5fc51f31bdb482e8" />
63
+ <option name="name" value="007-project-documentation" />
64
+ </BranchDeletion>
65
+ <BranchDeletion>
66
+ <option name="hash" value="a9402192387c3130a0550834b187d4cd022fc28d" />
67
+ <option name="name" value="009-ci-pypi" />
68
+ </BranchDeletion>
69
+ <BranchDeletion>
70
+ <option name="hash" value="babf269c6d664519da2db7d800ff964e24b29765" />
71
+ <option name="name" value="022-fix-regen-command" />
72
+ </BranchDeletion>
73
+ <BranchDeletion>
74
+ <option name="hash" value="1bc969c678242c64fbdd16339cb2569d555b48ea" />
75
+ <option name="name" value="014-enforce-state-machine" />
76
+ </BranchDeletion>
77
+ <BranchDeletion>
78
+ <option name="hash" value="cf559e1c5ab82ad66ad5a6ba9ca8bf3c612a8dbe" />
79
+ <option name="name" value="002-cascade-regen" />
80
+ </BranchDeletion>
81
+ <BranchDeletion>
82
+ <option name="hash" value="711a399e63592a4650e63f53299603b02b19a8e7" />
83
+ <option name="name" value="020-migrate-speckit" />
84
+ </BranchDeletion>
85
+ <BranchDeletion>
86
+ <option name="hash" value="f83a06b13183c09aa274c9713480da13ba690419" />
87
+ <option name="name" value="010-flexible-pipeline" />
88
+ </BranchDeletion>
89
+ <BranchDeletion>
90
+ <option name="hash" value="9ba410df0892ce61400945b739b28df87b2670d5" />
91
+ <option name="name" value="004-specify-central-directory" />
92
+ </BranchDeletion>
93
+ <BranchDeletion>
94
+ <option name="hash" value="b7141bc1dae8a40dbaf8d2440b2cbd7b7fe3650b" />
95
+ <option name="name" value="006-template-upgrade" />
96
+ </BranchDeletion>
97
+ <BranchDeletion>
98
+ <option name="hash" value="449d3673848e3ceabfe85596c7ce8ec7f69e35b5" />
99
+ <option name="name" value="005-implement-subphases" />
100
+ </BranchDeletion>
101
+ <BranchDeletion>
102
+ <option name="hash" value="bd6a5e9b3463a8330f1a4b033c32437498baa909" />
103
+ <option name="name" value="027-pipeline-auto-execution" />
104
+ </BranchDeletion>
105
+ <BranchDeletion>
106
+ <option name="hash" value="b79001ec8e632e99c5337f66fdd9ecfcdca38810" />
107
+ <option name="name" value="021-review-iterations" />
108
+ </BranchDeletion>
109
+ <BranchDeletion>
110
+ <option name="hash" value="e01363f1ba914e75a33565e598ea3c0c83654a6f" />
111
+ <option name="name" value="019-quality-hardening" />
112
+ </BranchDeletion>
113
+ <BranchDeletion>
114
+ <option name="hash" value="86a6c0fcca1d4c5eb6ed1591f5b43d8dc1fd2e46" />
115
+ <option name="name" value="013-align-truth-sources" />
116
+ </BranchDeletion>
117
+ <BranchDeletion>
118
+ <option name="hash" value="5a987e7e2f7f890c3206247b171fa1c36e2fd108" />
119
+ <option name="name" value="018-fix-final-robustness" />
120
+ </BranchDeletion>
121
+ <BranchDeletion>
122
+ <option name="hash" value="4d3bc84a3b655b019e7f3a55569b6fa2681a3e95" />
123
+ <option name="name" value="015-fix-review-contradiction" />
124
+ </BranchDeletion>
125
+ <BranchDeletion>
126
+ <option name="hash" value="661d72db714f24d86b4d8e8895198d3eabb2450e" />
127
+ <option name="name" value="feature/git-hooks-auto-promote" />
128
+ </BranchDeletion>
129
+ <BranchDeletion>
130
+ <option name="hash" value="db082c4529f8cee67b9f82e702e3928f8ba9adcc" />
131
+ <option name="name" value="011-cursor-support" />
132
+ </BranchDeletion>
133
+ <BranchDeletion>
134
+ <option name="hash" value="83a3817a3e6a87553b17065990c842702309c87b" />
135
+ <option name="name" value="025-harden-tests" />
136
+ </BranchDeletion>
137
+ <BranchDeletion>
138
+ <option name="hash" value="7bf297d86fcb2cd560e2a48e13e037c68f80197d" />
139
+ <option name="name" value="012-fix-critical-bugs" />
140
+ </BranchDeletion>
141
+ <BranchDeletion>
142
+ <option name="hash" value="573bfc9a8fb73e4211493a905fb2a5f3aede7ff5" />
143
+ <option name="name" value="023-add-logging" />
144
+ </BranchDeletion>
145
+ <BranchDeletion>
146
+ <option name="hash" value="5fc33e862e6736b67d94690db1117493528cbe85" />
147
+ <option name="name" value="024-validate-constants" />
148
+ </BranchDeletion>
149
+ </list>
150
+ </option>
151
+ <option name="timestamp" value="1787005388911" />
152
+ </BranchCleanupEntry>
153
+ </list>
154
+ </option>
155
+ </BranchesCleanupHistory>
156
+ </option>
157
+ <option name="recentBranches">
158
+ <RecentBranches>
159
+ <option name="branchesForRepo">
160
+ <list>
161
+ <RecentBranchesForRepo>
162
+ <option name="branches">
163
+ <list>
164
+ <RecentBranch>
165
+ <option name="branchName" value="main" />
166
+ <option name="lastUsedInstant" value="1787262556" />
167
+ </RecentBranch>
168
+ <RecentBranch>
169
+ <option name="branchName" value="develop" />
170
+ <option name="lastUsedInstant" value="1787262555" />
171
+ </RecentBranch>
172
+ </list>
173
+ </option>
174
+ <option name="repositoryRootUrl" value="file://$PROJECT_DIR$" />
175
+ </RecentBranchesForRepo>
176
+ </list>
177
+ </option>
178
+ </RecentBranches>
179
+ </option>
180
+ </component>
181
+ <component name="GithubPullRequestsUISettings">{
182
+ &quot;selectedUrlAndAccountId&quot;: {
183
+ &quot;url&quot;: &quot;https://github.com/sopequenoteck/devflow.git&quot;,
184
+ &quot;accountId&quot;: &quot;8169ef0d-6593-43b8-9a77-2780a60dc5ac&quot;
185
+ }
186
+ }</component>
187
+ <component name="McpProjectServerCommands">
188
+ <commands />
189
+ <urls />
190
+ </component>
191
+ <component name="ProjectColorInfo">{
192
+ &quot;associatedIndex&quot;: 7,
193
+ &quot;fromUser&quot;: false
194
+ }</component>
195
+ <component name="ProjectId" id="3I2KWolJpZcPmEOGT7J0Rsp6K3n" />
196
+ <component name="ProjectViewState">
197
+ <option name="hideEmptyMiddlePackages" value="true" />
198
+ <option name="showLibraryContents" value="true" />
199
+ </component>
200
+ <component name="PropertiesComponent"><![CDATA[{
201
+ "keyToString": {
202
+ "ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
203
+ "ModuleVcsDetector.initialDetectionPerformed": "true",
204
+ "RunOnceActivity.MCP Project settings loaded": "true",
205
+ "RunOnceActivity.ShowReadmeOnStart": "true",
206
+ "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
207
+ "RunOnceActivity.git.unshallow": "true",
208
+ "RunOnceActivity.typescript.service.memoryLimit.init": "true",
209
+ "SHARE_PROJECT_CONFIGURATION_FILES": "true",
210
+ "codeWithMe.voiceChat.enabledByDefault": "false",
211
+ "com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultModelSelectionForGA.v1": "true",
212
+ "dart.analysis.tool.window.visible": "false",
213
+ "git-widget-placeholder": "main",
214
+ "junie.onboarding.icon.badge.shown": "true",
215
+ "kotlin-language-version-configured": "true",
216
+ "last_opened_file_path": "/Users/kellysossoe/Code/Apps/devflow",
217
+ "node.js.detected.package.eslint": "true",
218
+ "node.js.detected.package.tslint": "true",
219
+ "node.js.selected.package.eslint": "(autodetect)",
220
+ "node.js.selected.package.tslint": "(autodetect)",
221
+ "nodejs_package_manager_path": "npm",
222
+ "settings.editor.selected.configurable": "settings.sync",
223
+ "show.migrate.to.gradle.popup": "false",
224
+ "to.speed.mode.migration.done": "true",
225
+ "vue.rearranger.settings.migration": "true"
226
+ }
227
+ }]]></component>
228
+ <component name="SharedIndexes">
229
+ <attachedChunks>
230
+ <set>
231
+ <option value="bundled-jdk-30f59d01ecdd-37e91769500f-intellij.indexing.shared.core-IU-261.26222.65" />
232
+ <option value="bundled-js-predefined-d6986cc7102b-31caf2ab9e3c-JavaScript-IU-261.26222.65" />
233
+ </set>
234
+ </attachedChunks>
235
+ </component>
236
+ <component name="TaskManager">
237
+ <task active="true" id="Default" summary="Default task">
238
+ <changelist id="4d5164b1-14ff-40b3-8f55-b6f2c3abff01" name="Changes" comment="" />
239
+ <created>1786957258019</created>
240
+ <option name="number" value="Default" />
241
+ <option name="presentableId" value="Default" />
242
+ <updated>1786957258019</updated>
243
+ <workItem from="1786957259143" duration="1286000" />
244
+ <workItem from="1787262300781" duration="880000" />
245
+ </task>
246
+ <servers />
247
+ </component>
248
+ <component name="TypeScriptGeneratedFilesManager">
249
+ <option name="version" value="3" />
250
+ </component>
251
+ </project>
@@ -5,6 +5,41 @@ Tous les changements notables de ce projet sont documentés dans ce fichier.
5
5
  Le format est basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/),
6
6
  et ce projet adhère au [Semantic Versioning](https://semver.org/lang/fr/).
7
7
 
8
+ ## [3.0.0] - 2026-08-25
9
+
10
+ ### Changed
11
+
12
+ - Le moteur de workflow historique est remplacé par le workflow adaptatif, fondé sur des activités vérifiables, des contrats structurés et des preuves locales.
13
+ - Le parcours quotidien passe par `devflow assess` puis `devflow adaptive start`, `run` et `status`.
14
+ - Les adaptateurs Codex, Claude Code et Cursor utilisent désormais le même contrat d'activité portable.
15
+
16
+ ### Removed
17
+
18
+ - Les commandes, états et artefacts du moteur de workflow historique sont supprimés.
19
+
20
+ ### Migration
21
+
22
+ - Pour reprendre une feature existante, exécuter `devflow migrate <ISSUE_ID> --dry-run`, puis `devflow migrate <ISSUE_ID>` après vérification. L'ancien état est conservé sous `legacy-state.json`.
23
+
24
+ ## [2.9.0] - 2026-08-20
25
+
26
+ ### Added
27
+
28
+ - Workflows adaptatifs exécutables `quick`, `standard`, `deep` et `critical`, avec contrats d'activités structurés pour Codex.
29
+ - Preuves automatiques, worklog régénérable, dérogations contrôlées et réouverture auditée des activités en remédiation.
30
+ - Gates Critical distinctes pour sécurité/données, review indépendante et rollback, avec rejet des suites sensibles sans test réellement exécuté.
31
+ - Cible officielle `devflow init --ai codex` et diagnostic `devflow check --ai codex` sans dépendance à `~/.claude/`.
32
+
33
+ ### Changed
34
+
35
+ - Les validations nécessitant Docker ou un service externe sont exécutées par la gate locale `verify` plutôt que dans le sandbox de l'agent.
36
+ - La review consomme les preuves Devflow actuelles et réserve ses propres commandes aux inspections compatibles avec la lecture seule.
37
+
38
+ ### Fixed
39
+
40
+ - Conservation cumulative du périmètre de fichiers lors des reprises d'implémentation.
41
+ - Rejet explicite des résultats Maven sensibles où tous les tests sont ignorés ou aucun bilan de test n'est détectable.
42
+
8
43
  ## [2.8.0] - 2026-08-17
9
44
 
10
45
  ### Added
@@ -0,0 +1,20 @@
1
+ # Devflow
2
+
3
+ Ce dépôt implémente exclusivement un workflow adaptatif. Les changements de
4
+ politique passent par `assessment.json`; les transitions passent par la CLI et
5
+ ne doivent jamais être réalisées en éditant les fichiers d’état.
6
+
7
+ <!-- devflow:pipeline:start -->
8
+ Workflow adaptatif à quatre profils, sélectionné par `devflow assess` : quick: assess → implement → verify → done; standard: assess → prepare → implement → verify → done; deep: assess → spec → plan → tasks → implement → verify → review → done; critical: assess → risk-assessment → spec → research → contracts → plan → tasks → implement → verify → review → rollback-check → done. `assessment.json` porte la politique et `workflow-state.json` porte uniquement la progression et les preuves.
9
+ <!-- devflow:pipeline:end -->
10
+
11
+ ## Commandes de développement
12
+
13
+ ```bash
14
+ uv run pytest -q
15
+ ./tests/run-tests.sh
16
+ uv run devflow docs-sync --check
17
+ ```
18
+
19
+ Pour un essai réel : `feature`, `assess`, `adaptive start`, puis une activité à
20
+ la fois avec `adaptive run`.
@@ -92,7 +92,7 @@ Les tests bash couvrent les scripts legacy (`devflow-cli.sh`, `setup-feature.sh`
92
92
 
93
93
  ## Développer une extension
94
94
 
95
- Voir le guide complet : [extensions/EXTENSION-DEVELOPMENT-GUIDE.md](./extensions/EXTENSION-DEVELOPMENT-GUIDE.md).
95
+ Voir la référence : [extensions/EXTENSION-API-REFERENCE.md](./extensions/EXTENSION-API-REFERENCE.md).
96
96
 
97
97
  En résumé :
98
98
  1. Créer un manifest JSON suivant le schéma dans [EXTENSION-API-REFERENCE.md](./extensions/EXTENSION-API-REFERENCE.md)
@@ -0,0 +1,113 @@
1
+ Metadata-Version: 2.5
2
+ Name: devflow-cli
3
+ Version: 3.0.0
4
+ Summary: Spec-Driven Development workflow CLI
5
+ Project-URL: Homepage, https://github.com/sopequenoteck/devflow
6
+ Project-URL: Repository, https://github.com/sopequenoteck/devflow
7
+ Author-email: sopequenoteck <sopequeno.tech@gmail.com>
8
+ License: MIT
9
+ License-File: LICENSE
10
+ Keywords: claude-code,cli,codex,development,spec-driven,workflow
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Software Development :: Quality Assurance
18
+ Requires-Python: >=3.11
19
+ Requires-Dist: jsonschema>=4.23
20
+ Requires-Dist: pyyaml>=6
21
+ Requires-Dist: rich>=13
22
+ Requires-Dist: typer>=0.12
23
+ Provides-Extra: dev
24
+ Requires-Dist: hatchling>=1.27; extra == 'dev'
25
+ Requires-Dist: pytest-cov>=5; extra == 'dev'
26
+ Requires-Dist: pytest>=8; extra == 'dev'
27
+ Description-Content-Type: text/markdown
28
+
29
+ # devflow
30
+
31
+ Devflow est un moteur de développement adaptatif pour Codex, Claude Code et
32
+ Cursor. Il choisit un niveau de rigueur à partir de signaux explicites, produit
33
+ des contrats d’activité portables et bloque les transitions tant que les
34
+ preuves attendues ne sont pas présentes.
35
+
36
+ ## Profils
37
+
38
+ - `quick` : changement local, clair et peu risqué.
39
+ - `standard` : plusieurs composants ou risque modéré.
40
+ - `deep` : changement transversal, ambigu ou contractuel.
41
+ - `critical` : sécurité, données, migration ou risque élevé.
42
+
43
+ Les routes exactes et leurs preuves sont générées dans
44
+ [docs/pipeline-reference.generated.md](docs/pipeline-reference.generated.md).
45
+
46
+ ## Installation
47
+
48
+ ```bash
49
+ uv tool install devflow-cli
50
+ devflow init --ai codex
51
+ ```
52
+
53
+ Python 3.11+ et Git sont requis. `--ai` accepte `codex`, `claude-code` ou
54
+ `cursor`.
55
+
56
+ ## Parcours quotidien
57
+
58
+ ```bash
59
+ devflow feature KS-123 --short-name user-auth
60
+ devflow assess KS-123 --scope multiple --ambiguity medium --risk medium
61
+ devflow adaptive start KS-123
62
+ devflow adaptive run KS-123 --agent codex
63
+ devflow adaptive status KS-123
64
+ ```
65
+
66
+ `adaptive status --json` fournit un état exploitable par la CI. Les échecs
67
+ distinguent explicitement blocage métier, contrat invalide, panne agent,
68
+ validation échouée et conflit concurrent ; chaque refus affiche la commande de
69
+ reprise recommandée.
70
+
71
+ Chaque invocation de `adaptive run` traite une activité. La politique est dans
72
+ `assessment.json`; la progression et les preuves sont dans
73
+ `workflow-state.json`. Les résultats agent sont validés par schéma et les
74
+ preuves d’exécution sensibles sont produites localement par Devflow.
75
+
76
+ Les trois adaptateurs acceptent les mêmes contrats structurés :
77
+
78
+ ```bash
79
+ devflow adaptive run KS-123 --agent codex
80
+ devflow adaptive run KS-123 --agent claude
81
+ devflow adaptive run KS-123 --agent cursor
82
+ ```
83
+
84
+ ## Migrer une ancienne feature
85
+
86
+ ```bash
87
+ devflow migrate KS-123 --dry-run
88
+ devflow migrate KS-123 --profile deep
89
+ ```
90
+
91
+ La migration conserve les artefacts, archive `state.json` sous
92
+ `legacy-state.json`, puis redémarre à la première activité vérifiable du profil.
93
+ Sans identifiant, `devflow migrate` traite toutes les anciennes features.
94
+ `devflow init` et `devflow upgrade` déplacent également les anciennes commandes
95
+ Claude connues vers `~/.claude/.devflow-legacy-backup/` sans toucher aux
96
+ commandes personnalisées.
97
+
98
+ ## Documentation
99
+
100
+ - [Workflow adaptatif](docs/pipeline.md)
101
+ - [Référence CLI](docs/cli-reference.md)
102
+ - [Contrats d’activité](docs/activity-contracts.md)
103
+ - [Façade Claude Code](docs/commands-reference.md)
104
+ - [Guide Cursor](docs/cursor-guide.md)
105
+
106
+ ## Développement
107
+
108
+ ```bash
109
+ uv sync --extra dev
110
+ uv run pytest -q
111
+ ./tests/run-tests.sh
112
+ uv run devflow docs-sync --check
113
+ ```
@@ -0,0 +1,85 @@
1
+ # devflow
2
+
3
+ Devflow est un moteur de développement adaptatif pour Codex, Claude Code et
4
+ Cursor. Il choisit un niveau de rigueur à partir de signaux explicites, produit
5
+ des contrats d’activité portables et bloque les transitions tant que les
6
+ preuves attendues ne sont pas présentes.
7
+
8
+ ## Profils
9
+
10
+ - `quick` : changement local, clair et peu risqué.
11
+ - `standard` : plusieurs composants ou risque modéré.
12
+ - `deep` : changement transversal, ambigu ou contractuel.
13
+ - `critical` : sécurité, données, migration ou risque élevé.
14
+
15
+ Les routes exactes et leurs preuves sont générées dans
16
+ [docs/pipeline-reference.generated.md](docs/pipeline-reference.generated.md).
17
+
18
+ ## Installation
19
+
20
+ ```bash
21
+ uv tool install devflow-cli
22
+ devflow init --ai codex
23
+ ```
24
+
25
+ Python 3.11+ et Git sont requis. `--ai` accepte `codex`, `claude-code` ou
26
+ `cursor`.
27
+
28
+ ## Parcours quotidien
29
+
30
+ ```bash
31
+ devflow feature KS-123 --short-name user-auth
32
+ devflow assess KS-123 --scope multiple --ambiguity medium --risk medium
33
+ devflow adaptive start KS-123
34
+ devflow adaptive run KS-123 --agent codex
35
+ devflow adaptive status KS-123
36
+ ```
37
+
38
+ `adaptive status --json` fournit un état exploitable par la CI. Les échecs
39
+ distinguent explicitement blocage métier, contrat invalide, panne agent,
40
+ validation échouée et conflit concurrent ; chaque refus affiche la commande de
41
+ reprise recommandée.
42
+
43
+ Chaque invocation de `adaptive run` traite une activité. La politique est dans
44
+ `assessment.json`; la progression et les preuves sont dans
45
+ `workflow-state.json`. Les résultats agent sont validés par schéma et les
46
+ preuves d’exécution sensibles sont produites localement par Devflow.
47
+
48
+ Les trois adaptateurs acceptent les mêmes contrats structurés :
49
+
50
+ ```bash
51
+ devflow adaptive run KS-123 --agent codex
52
+ devflow adaptive run KS-123 --agent claude
53
+ devflow adaptive run KS-123 --agent cursor
54
+ ```
55
+
56
+ ## Migrer une ancienne feature
57
+
58
+ ```bash
59
+ devflow migrate KS-123 --dry-run
60
+ devflow migrate KS-123 --profile deep
61
+ ```
62
+
63
+ La migration conserve les artefacts, archive `state.json` sous
64
+ `legacy-state.json`, puis redémarre à la première activité vérifiable du profil.
65
+ Sans identifiant, `devflow migrate` traite toutes les anciennes features.
66
+ `devflow init` et `devflow upgrade` déplacent également les anciennes commandes
67
+ Claude connues vers `~/.claude/.devflow-legacy-backup/` sans toucher aux
68
+ commandes personnalisées.
69
+
70
+ ## Documentation
71
+
72
+ - [Workflow adaptatif](docs/pipeline.md)
73
+ - [Référence CLI](docs/cli-reference.md)
74
+ - [Contrats d’activité](docs/activity-contracts.md)
75
+ - [Façade Claude Code](docs/commands-reference.md)
76
+ - [Guide Cursor](docs/cursor-guide.md)
77
+
78
+ ## Développement
79
+
80
+ ```bash
81
+ uv sync --extra dev
82
+ uv run pytest -q
83
+ ./tests/run-tests.sh
84
+ uv run devflow docs-sync --check
85
+ ```
@@ -1,6 +1,6 @@
1
1
  # /devflow.init
2
2
 
3
- Initialise devflow dans un projet : copie les commandes, agents, templates et scripts vers ~/.claude/ et prépare la structure projet.
3
+ Initialise devflow dans un projet : copie la façade adaptative, les templates et les scripts vers ~/.claude/ et prépare la structure projet.
4
4
 
5
5
  ## Objectif
6
6
 
@@ -19,12 +19,10 @@ Installer ou réinstaller devflow de manière propre avec validation post-instal
19
19
  2. **Vérifier** que le projet cible est un dépôt git (sinon → erreur)
20
20
  3. **Créer `.specify/specs/`** dans le projet cible si absent
21
21
  4. **Copier les commandes** devflow vers `~/.claude/commands/`
22
- 5. **Copier les agents** devflow vers `~/.claude/agents/`
23
- 6. **Copier les templates** vers `~/.claude/templates/`
24
- 7. **Copier les scripts** vers `~/.claude/scripts/` et ajouter +x
25
- 8. Si `--with-constitution` : copier le template constitution vers `.specify/memory/constitution.md` du projet cible (ne pas écraser si existant, sauf --force)
26
- 9. **Appeler `check-prerequisites.sh`** pour valider l'installation
27
- 10. **Afficher le rapport** : X fichiers copiés, Y ignorés (existants)
22
+ 5. **Copier les templates** vers `~/.claude/templates/`
23
+ 6. **Copier les scripts** vers `~/.claude/scripts/` et ajouter +x
24
+ 7. Si `--with-constitution` : copier le template constitution vers `.specify/memory/constitution.md` du projet cible (ne pas écraser si existant, sauf --force)
25
+ 8. **Afficher le rapport** : X fichiers copiés, Y ignorés (existants)
28
26
 
29
27
  ## Contraintes
30
28
 
@@ -0,0 +1,25 @@
1
+ ---
2
+ description: Pilote le workflow adaptatif Devflow depuis Claude Code
3
+ argument-hint: ISSUE_ID [--agent claude|codex|cursor]
4
+ allowed-tools: Bash(devflow:*)
5
+ ---
6
+
7
+ # Devflow adaptatif
8
+
9
+ Utiliser exclusivement la machine adaptative de la CLI. Ne jamais créer ni
10
+ interpréter de `state.json`.
11
+
12
+ 1. Lire `$ARGUMENTS` et extraire l'identifiant de feature.
13
+ 2. Exécuter `devflow status ISSUE_ID`.
14
+ 3. Si la feature n'existe pas, demander à l'utilisateur de lancer
15
+ `devflow feature ISSUE_ID`.
16
+ 4. Si elle n'est pas évaluée, demander les signaux nécessaires puis lancer
17
+ `devflow assess ISSUE_ID` avec des options explicites.
18
+ 5. Si elle est évaluée mais non démarrée, lancer
19
+ `devflow adaptive start ISSUE_ID`.
20
+ 6. Lancer une seule activité avec
21
+ `devflow adaptive run ISSUE_ID --agent AGENT`.
22
+ 7. Afficher ensuite `devflow adaptive status ISSUE_ID`.
23
+
24
+ Le contrat produit par Devflow est la seule autorité sur les actions,
25
+ artefacts, validations et preuves de l'activité.
@@ -0,0 +1,34 @@
1
+ # /devflow.regen
2
+
3
+ Détecte les artefacts désuets et rouvre la première activité concernée.
4
+
5
+ ## Objectif
6
+
7
+ Revenir au premier artefact désuet afin que le workflow adaptatif régénère ensuite la chaîne sous contrôle de ses contrats.
8
+
9
+ ## Workflow
10
+
11
+ 1. **Detecter** les artefacts desuets :
12
+ ```bash
13
+ devflow stale --json
14
+ ```
15
+ Parse le JSON retourne. Si `stale` est vide, afficher "Tout est synchronise" et terminer.
16
+
17
+ 2. **Afficher la prévisualisation** :
18
+ - Lister chaque artefact stale avec sa raison
19
+ - Afficher la commande `adaptive reopen` du premier artefact désuet
20
+
21
+ 3. **Demander confirmation** a l'utilisateur.
22
+ - Si refuse → terminer sans action.
23
+
24
+ 4. **Exécuter uniquement la première commande** `adaptive reopen`.
25
+ 5. Afficher `devflow adaptive status ISSUE_ID` et proposer de reprendre avec
26
+ `devflow adaptive run ISSUE_ID --agent AGENT`.
27
+
28
+ 6. **Rapporter** l’activité rouverte et les artefacts qui seront régénérés.
29
+
30
+ ## Contraintes
31
+
32
+ - Utiliser `devflow stale --json` pour la detection (ne pas reimplementer la logique mtime)
33
+ - Ne jamais exécuter plusieurs `reopen` successifs
34
+ - Ne jamais regenerer sans confirmation explicite
@@ -0,0 +1,11 @@
1
+ ---
2
+ description: Affiche le statut adaptatif d'une feature Devflow
3
+ argument-hint: ISSUE_ID
4
+ allowed-tools: Bash(devflow status:*)
5
+ ---
6
+
7
+ # Statut Devflow
8
+
9
+ Exécuter `devflow status $ARGUMENTS` et restituer fidèlement le profil,
10
+ l'activité courante, la progression et les preuves restantes. Cette commande
11
+ est strictement en lecture seule.