@openflowjs/cli 0.2.0

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 (403) hide show
  1. package/dist/bin/openflow.d.ts +2 -0
  2. package/dist/bin/openflow.js +8 -0
  3. package/dist/bin/openflow.js.map +1 -0
  4. package/dist/commands/config.d.ts +2 -0
  5. package/dist/commands/config.js +38 -0
  6. package/dist/commands/config.js.map +1 -0
  7. package/dist/commands/flow.d.ts +1 -0
  8. package/dist/commands/flow.js +119 -0
  9. package/dist/commands/flow.js.map +1 -0
  10. package/dist/commands/init.d.ts +2 -0
  11. package/dist/commands/init.js +1082 -0
  12. package/dist/commands/init.js.map +1 -0
  13. package/dist/commands/iteration.d.ts +1 -0
  14. package/dist/commands/iteration.js +131 -0
  15. package/dist/commands/iteration.js.map +1 -0
  16. package/dist/commands/mcp.d.ts +1 -0
  17. package/dist/commands/mcp.js +12 -0
  18. package/dist/commands/mcp.js.map +1 -0
  19. package/dist/commands/module.d.ts +1 -0
  20. package/dist/commands/module.js +137 -0
  21. package/dist/commands/module.js.map +1 -0
  22. package/dist/commands/plan.d.ts +1 -0
  23. package/dist/commands/plan.js +111 -0
  24. package/dist/commands/plan.js.map +1 -0
  25. package/dist/commands/plugin.d.ts +1 -0
  26. package/dist/commands/plugin.js +246 -0
  27. package/dist/commands/plugin.js.map +1 -0
  28. package/dist/commands/preflight.d.ts +8 -0
  29. package/dist/commands/preflight.js +57 -0
  30. package/dist/commands/preflight.js.map +1 -0
  31. package/dist/commands/review.d.ts +1 -0
  32. package/dist/commands/review.js +145 -0
  33. package/dist/commands/review.js.map +1 -0
  34. package/dist/commands/state.d.ts +1 -0
  35. package/dist/commands/state.js +28 -0
  36. package/dist/commands/state.js.map +1 -0
  37. package/dist/commands/validate.d.ts +1 -0
  38. package/dist/commands/validate.js +310 -0
  39. package/dist/commands/validate.js.map +1 -0
  40. package/dist/core/artifacts.d.ts +140 -0
  41. package/dist/core/artifacts.js +809 -0
  42. package/dist/core/artifacts.js.map +1 -0
  43. package/dist/core/index.d.ts +12 -0
  44. package/dist/core/index.js +27 -0
  45. package/dist/core/index.js.map +1 -0
  46. package/dist/core-artifacts/marketplace.json +14 -0
  47. package/dist/core-artifacts/modules.json +20 -0
  48. package/dist/core-artifacts/openflow/.claude-plugin/plugin.json +8 -0
  49. package/dist/core-artifacts/openflow/.mcp.json +9 -0
  50. package/dist/core-artifacts/openflow/agents/openflow-artifact-reviewer.md +308 -0
  51. package/dist/core-artifacts/openflow/agents/openflow-code-reviewer.md +177 -0
  52. package/dist/core-artifacts/openflow/agents/openflow-executor-deep.md +119 -0
  53. package/dist/core-artifacts/openflow/agents/openflow-executor-general.md +104 -0
  54. package/dist/core-artifacts/openflow/agents/openflow-executor-quick.md +93 -0
  55. package/dist/core-artifacts/openflow/agents/openflow-explorer.md +69 -0
  56. package/dist/core-artifacts/openflow/agents/openflow-knowledge-curator.md +89 -0
  57. package/dist/core-artifacts/openflow/commands/knowledge.md +102 -0
  58. package/dist/core-artifacts/openflow/hooks/hooks.json +33 -0
  59. package/dist/core-artifacts/openflow/scripts/openflow-drift-guard.cjs +54 -0
  60. package/dist/core-artifacts/openflow/scripts/openflow-evidence-reminder.cjs +64 -0
  61. package/dist/core-artifacts/openflow/scripts/openflow-mcp-review.cjs +27 -0
  62. package/dist/core-artifacts/openflow/scripts/openflow-write-guard.cjs +27 -0
  63. package/dist/core-artifacts/openflow/scripts/session-start.cjs +12 -0
  64. package/dist/core-artifacts/openflow/skills/brainstorm/SKILL.md +131 -0
  65. package/dist/core-artifacts/openflow/skills/cli-reference/SKILL.md +196 -0
  66. package/dist/core-artifacts/openflow/skills/finalize/SKILL.md +109 -0
  67. package/dist/core-artifacts/openflow/skills/finalize/references/summary-template.md +39 -0
  68. package/dist/core-artifacts/openflow/skills/implement/SKILL.md +296 -0
  69. package/dist/core-artifacts/openflow/skills/implement/references/working-memory.md +49 -0
  70. package/dist/core-artifacts/openflow/skills/knowledge-retrieval/SKILL.md +78 -0
  71. package/dist/core-artifacts/openflow/skills/prd/SKILL.md +173 -0
  72. package/dist/core-artifacts/openflow/skills/prd/references/level-routing.md +94 -0
  73. package/dist/core-artifacts/openflow/skills/prd/references/prd-template.md +187 -0
  74. package/dist/core-artifacts/openflow/skills/prd/references/wireframe-template.html +122 -0
  75. package/dist/core-artifacts/openflow/skills/spec/SKILL.md +341 -0
  76. package/dist/core-artifacts/openflow/skills/spec/references/context-template.md +38 -0
  77. package/dist/core-artifacts/openflow/skills/spec/references/plan-template.md +61 -0
  78. package/dist/core-artifacts/openflow/skills/spec/references/spec-template.md +187 -0
  79. package/dist/core-artifacts/openflow/skills/spec/references/tasks-template.md +99 -0
  80. package/dist/core-artifacts/openflow/skills/workflow-governance/SKILL.md +384 -0
  81. package/dist/core-artifacts/openflow/skills/workflow-governance/references/knowledge-schema.md +241 -0
  82. package/dist/core-artifacts/openflow/skills/workflow-governance/references/state-files.md +148 -0
  83. package/dist/core-artifacts/openflow/skills/workflow-governance/references/workflow.md +119 -0
  84. package/dist/core-artifacts/templates/.gitkeep +0 -0
  85. package/dist/index.d.ts +4 -0
  86. package/dist/index.js +5 -0
  87. package/dist/index.js.map +1 -0
  88. package/dist/mcp/review-mcp-server.d.ts +1 -0
  89. package/dist/mcp/review-mcp-server.js +191 -0
  90. package/dist/mcp/review-mcp-server.js.map +1 -0
  91. package/dist/mcp/review-server.d.ts +33 -0
  92. package/dist/mcp/review-server.js +340 -0
  93. package/dist/mcp/review-server.js.map +1 -0
  94. package/dist/mcp/review-ui/assets/arc-DH58vMfF.js +1 -0
  95. package/dist/mcp/review-ui/assets/architecture-YZFGNWBL-CW8o5JQi.js +1 -0
  96. package/dist/mcp/review-ui/assets/architectureDiagram-Q4EWVU46-CH35GquJ.js +36 -0
  97. package/dist/mcp/review-ui/assets/array-BCJ35G43.js +1 -0
  98. package/dist/mcp/review-ui/assets/blockDiagram-DXYQGD6D-B1JZnKG_.js +132 -0
  99. package/dist/mcp/review-ui/assets/c4Diagram-AHTNJAMY-DCAtnxWd.js +10 -0
  100. package/dist/mcp/review-ui/assets/channel-BgHR4NPf.js +1 -0
  101. package/dist/mcp/review-ui/assets/chunk-2KRD3SAO-BkEfK915.js +1 -0
  102. package/dist/mcp/review-ui/assets/chunk-4BX2VUAB-Dn9kswJO.js +1 -0
  103. package/dist/mcp/review-ui/assets/chunk-4TB4RGXK-DbeI3ZO6.js +206 -0
  104. package/dist/mcp/review-ui/assets/chunk-55IACEB6-CLBoivXU.js +1 -0
  105. package/dist/mcp/review-ui/assets/chunk-5FUZZQ4R-DU7La6QA.js +62 -0
  106. package/dist/mcp/review-ui/assets/chunk-5PVQY5BW-Dy3eUu9a.js +2 -0
  107. package/dist/mcp/review-ui/assets/chunk-67CJDMHE-BKQ4iYAM.js +1 -0
  108. package/dist/mcp/review-ui/assets/chunk-7N4EOEYR-CUngSlME.js +1 -0
  109. package/dist/mcp/review-ui/assets/chunk-AA7GKIK3-BClDbXxt.js +1 -0
  110. package/dist/mcp/review-ui/assets/chunk-BSJP7CBP-BlpmbHL-.js +1 -0
  111. package/dist/mcp/review-ui/assets/chunk-CIAEETIT-THpBXcoN.js +1 -0
  112. package/dist/mcp/review-ui/assets/chunk-Dlc7tRH4.js +1 -0
  113. package/dist/mcp/review-ui/assets/chunk-EDXVE4YY-DNUlHz7M.js +1 -0
  114. package/dist/mcp/review-ui/assets/chunk-ENJZ2VHE-fwEKj0pQ.js +10 -0
  115. package/dist/mcp/review-ui/assets/chunk-FMBD7UC4-Cj8B2TLo.js +15 -0
  116. package/dist/mcp/review-ui/assets/chunk-FOC6F5B3-BtR_JW_A.js +1 -0
  117. package/dist/mcp/review-ui/assets/chunk-ICPOFSXX-WTr3HDYE.js +122 -0
  118. package/dist/mcp/review-ui/assets/chunk-K5T4RW27-vtP3ehR7.js +94 -0
  119. package/dist/mcp/review-ui/assets/chunk-KGLVRYIC-Di2tkB7O.js +1 -0
  120. package/dist/mcp/review-ui/assets/chunk-LIHQZDEY-DoHl9hYE.js +1 -0
  121. package/dist/mcp/review-ui/assets/chunk-ORNJ4GCN-Bff-Vc2X.js +1 -0
  122. package/dist/mcp/review-ui/assets/chunk-OYMX7WX6-Djey8TrX.js +231 -0
  123. package/dist/mcp/review-ui/assets/chunk-QZHKN3VN-C4w1Z4n9.js +1 -0
  124. package/dist/mcp/review-ui/assets/chunk-U2HBQHQK-D8HUikvJ.js +70 -0
  125. package/dist/mcp/review-ui/assets/chunk-X2U36JSP-CuZ-SN2r.js +1 -0
  126. package/dist/mcp/review-ui/assets/chunk-YZCP3GAM-D0-dHF3G.js +1 -0
  127. package/dist/mcp/review-ui/assets/chunk-ZZ45TVLE-C1aIZGDA.js +1 -0
  128. package/dist/mcp/review-ui/assets/classDiagram-6PBFFD2Q-DHrSK7zx.js +1 -0
  129. package/dist/mcp/review-ui/assets/classDiagram-v2-HSJHXN6E-ftN8ECVk.js +1 -0
  130. package/dist/mcp/review-ui/assets/clone-C3rjhi9V.js +1 -0
  131. package/dist/mcp/review-ui/assets/cose-bilkent-S5V4N54A-szpqu_3d.js +1 -0
  132. package/dist/mcp/review-ui/assets/cytoscape.esm-DZ22BVwz.js +321 -0
  133. package/dist/mcp/review-ui/assets/dagre-B4oIQbi5.js +1 -0
  134. package/dist/mcp/review-ui/assets/dagre-KV5264BT-zDsxU5-B.js +4 -0
  135. package/dist/mcp/review-ui/assets/defaultLocale-CIS5GEjP.js +1 -0
  136. package/dist/mcp/review-ui/assets/diagram-5BDNPKRD-UgfFjZ4o.js +10 -0
  137. package/dist/mcp/review-ui/assets/diagram-G4DWMVQ6-Wh9VCn50.js +24 -0
  138. package/dist/mcp/review-ui/assets/diagram-MMDJMWI5-xVD3G7_9.js +43 -0
  139. package/dist/mcp/review-ui/assets/diagram-TYMM5635-AUD291P2.js +24 -0
  140. package/dist/mcp/review-ui/assets/dist-B51l2n-9.js +1 -0
  141. package/dist/mcp/review-ui/assets/erDiagram-SMLLAGMA-B83D6NXm.js +85 -0
  142. package/dist/mcp/review-ui/assets/flatten-B80WBwOJ.js +1 -0
  143. package/dist/mcp/review-ui/assets/flowDiagram-DWJPFMVM-D3lXOeHD.js +162 -0
  144. package/dist/mcp/review-ui/assets/ganttDiagram-T4ZO3ILL-CFAN903o.js +292 -0
  145. package/dist/mcp/review-ui/assets/gitGraph-7Q5UKJZL-BfgkNWmC.js +1 -0
  146. package/dist/mcp/review-ui/assets/gitGraphDiagram-UUTBAWPF-DxqTOi4I.js +106 -0
  147. package/dist/mcp/review-ui/assets/graphlib-De-foo_H.js +1 -0
  148. package/dist/mcp/review-ui/assets/identity-CWMh0UL-.js +1 -0
  149. package/dist/mcp/review-ui/assets/index-Do0fBEfH.css +2 -0
  150. package/dist/mcp/review-ui/assets/index-uPMLqduV.js +123 -0
  151. package/dist/mcp/review-ui/assets/info-OMHHGYJF-DE18zZ5Z.js +1 -0
  152. package/dist/mcp/review-ui/assets/infoDiagram-42DDH7IO-Bnco1OGr.js +2 -0
  153. package/dist/mcp/review-ui/assets/init-BMBYmmUa.js +1 -0
  154. package/dist/mcp/review-ui/assets/ishikawaDiagram-UXIWVN3A-B89fugr9.js +70 -0
  155. package/dist/mcp/review-ui/assets/journeyDiagram-VCZTEJTY-CMx2w_is.js +139 -0
  156. package/dist/mcp/review-ui/assets/kanban-definition-6JOO6SKY-YvTOD1Vd.js +89 -0
  157. package/dist/mcp/review-ui/assets/katex-8mXVa4k3.js +257 -0
  158. package/dist/mcp/review-ui/assets/line-BCdBO-oK.js +1 -0
  159. package/dist/mcp/review-ui/assets/linear-d7UHSQqm.js +1 -0
  160. package/dist/mcp/review-ui/assets/mermaid-parser.core-DI1-3xL2.js +4 -0
  161. package/dist/mcp/review-ui/assets/mindmap-definition-QFDTVHPH-E_mV-_Fs.js +96 -0
  162. package/dist/mcp/review-ui/assets/ordinal-BDTCIhXR.js +1 -0
  163. package/dist/mcp/review-ui/assets/packet-4T2RLAQJ-BLPGKWDX.js +1 -0
  164. package/dist/mcp/review-ui/assets/path-CIRGLb_6.js +1 -0
  165. package/dist/mcp/review-ui/assets/pie-ZZUOXDRM-DVV6Yua9.js +1 -0
  166. package/dist/mcp/review-ui/assets/pieDiagram-DEJITSTG-Ct4JvywP.js +30 -0
  167. package/dist/mcp/review-ui/assets/quadrantDiagram-34T5L4WZ-BSFYvc1U.js +7 -0
  168. package/dist/mcp/review-ui/assets/radar-PYXPWWZC-BMkQDLKp.js +1 -0
  169. package/dist/mcp/review-ui/assets/reduce-C80XcylQ.js +1 -0
  170. package/dist/mcp/review-ui/assets/requirementDiagram-MS252O5E-Bp7uSYEK.js +84 -0
  171. package/dist/mcp/review-ui/assets/rough.esm-DtEqI08j.js +1 -0
  172. package/dist/mcp/review-ui/assets/sankeyDiagram-XADWPNL6-CV38ZpSv.js +10 -0
  173. package/dist/mcp/review-ui/assets/sequenceDiagram-FGHM5R23-BXN9jl1N.js +157 -0
  174. package/dist/mcp/review-ui/assets/src-Cxc1bu7b.js +1 -0
  175. package/dist/mcp/review-ui/assets/stateDiagram-FHFEXIEX-DZduDkIw.js +1 -0
  176. package/dist/mcp/review-ui/assets/stateDiagram-v2-QKLJ7IA2-xAWOcxSi.js +1 -0
  177. package/dist/mcp/review-ui/assets/timeline-definition-GMOUNBTQ-CLqXzNm8.js +120 -0
  178. package/dist/mcp/review-ui/assets/treeView-SZITEDCU-tPcANHUc.js +1 -0
  179. package/dist/mcp/review-ui/assets/treemap-W4RFUUIX-BGbXISSk.js +1 -0
  180. package/dist/mcp/review-ui/assets/vennDiagram-DHZGUBPP-gCnd0IYN.js +34 -0
  181. package/dist/mcp/review-ui/assets/wardley-RL74JXVD-CK3EfklM.js +1 -0
  182. package/dist/mcp/review-ui/assets/wardleyDiagram-NUSXRM2D-Dd7qMlPS.js +20 -0
  183. package/dist/mcp/review-ui/assets/xychartDiagram-5P7HB3ND-DXHXO8Zm.js +7 -0
  184. package/dist/mcp/review-ui/index.html +29 -0
  185. package/dist/mcp/studio/assets/arc-DH58vMfF.js +1 -0
  186. package/dist/mcp/studio/assets/architecture-YZFGNWBL-8xrwD39F.js +1 -0
  187. package/dist/mcp/studio/assets/architectureDiagram-Q4EWVU46-VmcLZTJf.js +36 -0
  188. package/dist/mcp/studio/assets/array-BCJ35G43.js +1 -0
  189. package/dist/mcp/studio/assets/blockDiagram-DXYQGD6D-D-1mlLYy.js +132 -0
  190. package/dist/mcp/studio/assets/c4Diagram-AHTNJAMY-DCAtnxWd.js +10 -0
  191. package/dist/mcp/studio/assets/channel-BgHR4NPf.js +1 -0
  192. package/dist/mcp/studio/assets/chunk-2KRD3SAO-CMDQx2WD.js +1 -0
  193. package/dist/mcp/studio/assets/chunk-4BX2VUAB-Dn9kswJO.js +1 -0
  194. package/dist/mcp/studio/assets/chunk-4TB4RGXK-aFEYGDkJ.js +206 -0
  195. package/dist/mcp/studio/assets/chunk-55IACEB6-CLBoivXU.js +1 -0
  196. package/dist/mcp/studio/assets/chunk-5FUZZQ4R-DU7La6QA.js +62 -0
  197. package/dist/mcp/studio/assets/chunk-5PVQY5BW-Dy3eUu9a.js +2 -0
  198. package/dist/mcp/studio/assets/chunk-67CJDMHE-DnkyJt7A.js +1 -0
  199. package/dist/mcp/studio/assets/chunk-7N4EOEYR-cnJ9dWSC.js +1 -0
  200. package/dist/mcp/studio/assets/chunk-AA7GKIK3-DjCZnyrT.js +1 -0
  201. package/dist/mcp/studio/assets/chunk-BSJP7CBP-BlpmbHL-.js +1 -0
  202. package/dist/mcp/studio/assets/chunk-CIAEETIT-CtvXSBsf.js +1 -0
  203. package/dist/mcp/studio/assets/chunk-Dlc7tRH4.js +1 -0
  204. package/dist/mcp/studio/assets/chunk-EDXVE4YY-DNUlHz7M.js +1 -0
  205. package/dist/mcp/studio/assets/chunk-ENJZ2VHE-fwEKj0pQ.js +10 -0
  206. package/dist/mcp/studio/assets/chunk-FMBD7UC4-Cj8B2TLo.js +15 -0
  207. package/dist/mcp/studio/assets/chunk-FOC6F5B3-Ca28VADd.js +1 -0
  208. package/dist/mcp/studio/assets/chunk-ICPOFSXX-WTr3HDYE.js +122 -0
  209. package/dist/mcp/studio/assets/chunk-K5T4RW27-pqiOLnBn.js +94 -0
  210. package/dist/mcp/studio/assets/chunk-KGLVRYIC-DZfGlR-G.js +1 -0
  211. package/dist/mcp/studio/assets/chunk-LIHQZDEY-6Ygb8Kwt.js +1 -0
  212. package/dist/mcp/studio/assets/chunk-ORNJ4GCN-DSlr7oSO.js +1 -0
  213. package/dist/mcp/studio/assets/chunk-OYMX7WX6-8z_2lCb3.js +231 -0
  214. package/dist/mcp/studio/assets/chunk-QZHKN3VN-C4w1Z4n9.js +1 -0
  215. package/dist/mcp/studio/assets/chunk-U2HBQHQK-D8HUikvJ.js +70 -0
  216. package/dist/mcp/studio/assets/chunk-X2U36JSP-CuZ-SN2r.js +1 -0
  217. package/dist/mcp/studio/assets/chunk-YZCP3GAM-D0-dHF3G.js +1 -0
  218. package/dist/mcp/studio/assets/chunk-ZZ45TVLE-C1aIZGDA.js +1 -0
  219. package/dist/mcp/studio/assets/classDiagram-6PBFFD2Q-IZXxqxqM.js +1 -0
  220. package/dist/mcp/studio/assets/classDiagram-v2-HSJHXN6E-BiJKwTXT.js +1 -0
  221. package/dist/mcp/studio/assets/clone-g4CuF1Hf.js +1 -0
  222. package/dist/mcp/studio/assets/cose-bilkent-S5V4N54A-szpqu_3d.js +1 -0
  223. package/dist/mcp/studio/assets/cytoscape.esm-DZ22BVwz.js +321 -0
  224. package/dist/mcp/studio/assets/dagre-Be9o0OzC.js +1 -0
  225. package/dist/mcp/studio/assets/dagre-KV5264BT-iB6PnHLr.js +4 -0
  226. package/dist/mcp/studio/assets/defaultLocale-CIS5GEjP.js +1 -0
  227. package/dist/mcp/studio/assets/diagram-5BDNPKRD-BLfWbiEB.js +10 -0
  228. package/dist/mcp/studio/assets/diagram-G4DWMVQ6-CgcnwgVO.js +24 -0
  229. package/dist/mcp/studio/assets/diagram-MMDJMWI5-CpkXvs2p.js +43 -0
  230. package/dist/mcp/studio/assets/diagram-TYMM5635-guxqmxjJ.js +24 -0
  231. package/dist/mcp/studio/assets/dist-B51l2n-9.js +1 -0
  232. package/dist/mcp/studio/assets/erDiagram-SMLLAGMA-Lwv-cC2Y.js +85 -0
  233. package/dist/mcp/studio/assets/flatten-Dv3Z_7XJ.js +1 -0
  234. package/dist/mcp/studio/assets/flowDiagram-DWJPFMVM-BKnaFfFR.js +162 -0
  235. package/dist/mcp/studio/assets/ganttDiagram-T4ZO3ILL-CFAN903o.js +292 -0
  236. package/dist/mcp/studio/assets/gitGraph-7Q5UKJZL-BSdEZNVc.js +1 -0
  237. package/dist/mcp/studio/assets/gitGraphDiagram-UUTBAWPF-D4z4QWni.js +106 -0
  238. package/dist/mcp/studio/assets/graphlib-C1IZi4Cg.js +1 -0
  239. package/dist/mcp/studio/assets/identity-CWMh0UL-.js +1 -0
  240. package/dist/mcp/studio/assets/index-CyBqHDpB.js +109 -0
  241. package/dist/mcp/studio/assets/index-Dn_Ujmba.css +2 -0
  242. package/dist/mcp/studio/assets/info-OMHHGYJF-CoTx64p3.js +1 -0
  243. package/dist/mcp/studio/assets/infoDiagram-42DDH7IO-QEji23sQ.js +2 -0
  244. package/dist/mcp/studio/assets/init-BMBYmmUa.js +1 -0
  245. package/dist/mcp/studio/assets/ishikawaDiagram-UXIWVN3A-lMurmqul.js +70 -0
  246. package/dist/mcp/studio/assets/journeyDiagram-VCZTEJTY-CMx2w_is.js +139 -0
  247. package/dist/mcp/studio/assets/kanban-definition-6JOO6SKY-DsOybLrS.js +89 -0
  248. package/dist/mcp/studio/assets/katex-8mXVa4k3.js +257 -0
  249. package/dist/mcp/studio/assets/line-BCdBO-oK.js +1 -0
  250. package/dist/mcp/studio/assets/linear-d7UHSQqm.js +1 -0
  251. package/dist/mcp/studio/assets/mermaid-parser.core-BZtTt4qJ.js +4 -0
  252. package/dist/mcp/studio/assets/mindmap-definition-QFDTVHPH-B2yfABR9.js +96 -0
  253. package/dist/mcp/studio/assets/ordinal-BDTCIhXR.js +1 -0
  254. package/dist/mcp/studio/assets/packet-4T2RLAQJ-Bi4IG7s8.js +1 -0
  255. package/dist/mcp/studio/assets/path-CIRGLb_6.js +1 -0
  256. package/dist/mcp/studio/assets/pie-ZZUOXDRM-DsJRjVcu.js +1 -0
  257. package/dist/mcp/studio/assets/pieDiagram-DEJITSTG-JeKGFs3r.js +30 -0
  258. package/dist/mcp/studio/assets/quadrantDiagram-34T5L4WZ-BSFYvc1U.js +7 -0
  259. package/dist/mcp/studio/assets/radar-PYXPWWZC-cUDYP2Ic.js +1 -0
  260. package/dist/mcp/studio/assets/reduce-x-wchVXY.js +1 -0
  261. package/dist/mcp/studio/assets/requirementDiagram-MS252O5E-CGeLKQyn.js +84 -0
  262. package/dist/mcp/studio/assets/rough.esm-DtEqI08j.js +1 -0
  263. package/dist/mcp/studio/assets/sankeyDiagram-XADWPNL6-CV38ZpSv.js +10 -0
  264. package/dist/mcp/studio/assets/sequenceDiagram-FGHM5R23-BbHPv3l1.js +157 -0
  265. package/dist/mcp/studio/assets/src-Cxc1bu7b.js +1 -0
  266. package/dist/mcp/studio/assets/stateDiagram-FHFEXIEX-BuBuguzn.js +1 -0
  267. package/dist/mcp/studio/assets/stateDiagram-v2-QKLJ7IA2-PQA-rl9o.js +1 -0
  268. package/dist/mcp/studio/assets/timeline-definition-GMOUNBTQ-D5xtyNE9.js +120 -0
  269. package/dist/mcp/studio/assets/treeView-SZITEDCU-DhRx0eaI.js +1 -0
  270. package/dist/mcp/studio/assets/treemap-W4RFUUIX-Btsj9DUH.js +1 -0
  271. package/dist/mcp/studio/assets/vennDiagram-DHZGUBPP-W4g15SMY.js +34 -0
  272. package/dist/mcp/studio/assets/wardley-RL74JXVD-BTpKsgl7.js +1 -0
  273. package/dist/mcp/studio/assets/wardleyDiagram-NUSXRM2D-f7wgXdwe.js +20 -0
  274. package/dist/mcp/studio/assets/xychartDiagram-5P7HB3ND-BWx9swPf.js +7 -0
  275. package/dist/mcp/studio/index.html +29 -0
  276. package/dist/review-mcp-server.d.ts +1 -0
  277. package/dist/review-mcp-server.js +178 -0
  278. package/dist/review-mcp-server.js.map +1 -0
  279. package/dist/review-server.d.ts +17 -0
  280. package/dist/review-server.js +223 -0
  281. package/dist/review-server.js.map +1 -0
  282. package/dist/review-ui/assets/arc-DH58vMfF.js +1 -0
  283. package/dist/review-ui/assets/architecture-YZFGNWBL-ChakYgFO.js +1 -0
  284. package/dist/review-ui/assets/architectureDiagram-Q4EWVU46-CcJOZCOb.js +36 -0
  285. package/dist/review-ui/assets/array-BCJ35G43.js +1 -0
  286. package/dist/review-ui/assets/blockDiagram-DXYQGD6D-H7mMv5Tv.js +132 -0
  287. package/dist/review-ui/assets/c4Diagram-AHTNJAMY-DCAtnxWd.js +10 -0
  288. package/dist/review-ui/assets/channel-BgHR4NPf.js +1 -0
  289. package/dist/review-ui/assets/chunk-2KRD3SAO-BfA3IkPQ.js +1 -0
  290. package/dist/review-ui/assets/chunk-4BX2VUAB-Dn9kswJO.js +1 -0
  291. package/dist/review-ui/assets/chunk-4TB4RGXK-CvTeZi33.js +206 -0
  292. package/dist/review-ui/assets/chunk-55IACEB6-CLBoivXU.js +1 -0
  293. package/dist/review-ui/assets/chunk-5FUZZQ4R-DU7La6QA.js +62 -0
  294. package/dist/review-ui/assets/chunk-5PVQY5BW-Dy3eUu9a.js +2 -0
  295. package/dist/review-ui/assets/chunk-67CJDMHE-BQ1xNHFx.js +1 -0
  296. package/dist/review-ui/assets/chunk-7N4EOEYR-B1ORNLQP.js +1 -0
  297. package/dist/review-ui/assets/chunk-AA7GKIK3-D3pS3mnx.js +1 -0
  298. package/dist/review-ui/assets/chunk-BSJP7CBP-BlpmbHL-.js +1 -0
  299. package/dist/review-ui/assets/chunk-CIAEETIT-BDZkAY47.js +1 -0
  300. package/dist/review-ui/assets/chunk-Dlc7tRH4.js +1 -0
  301. package/dist/review-ui/assets/chunk-EDXVE4YY-DNUlHz7M.js +1 -0
  302. package/dist/review-ui/assets/chunk-ENJZ2VHE-fwEKj0pQ.js +10 -0
  303. package/dist/review-ui/assets/chunk-FMBD7UC4-Cj8B2TLo.js +15 -0
  304. package/dist/review-ui/assets/chunk-FOC6F5B3-DGtCX5Ra.js +1 -0
  305. package/dist/review-ui/assets/chunk-ICPOFSXX-WTr3HDYE.js +122 -0
  306. package/dist/review-ui/assets/chunk-K5T4RW27-CWpdECLF.js +94 -0
  307. package/dist/review-ui/assets/chunk-KGLVRYIC-oI2XKaPz.js +1 -0
  308. package/dist/review-ui/assets/chunk-LIHQZDEY-Dzp3G35O.js +1 -0
  309. package/dist/review-ui/assets/chunk-ORNJ4GCN-DsHuVbPU.js +1 -0
  310. package/dist/review-ui/assets/chunk-OYMX7WX6-fgjoXAXJ.js +231 -0
  311. package/dist/review-ui/assets/chunk-QZHKN3VN-C4w1Z4n9.js +1 -0
  312. package/dist/review-ui/assets/chunk-U2HBQHQK-D8HUikvJ.js +70 -0
  313. package/dist/review-ui/assets/chunk-X2U36JSP-CuZ-SN2r.js +1 -0
  314. package/dist/review-ui/assets/chunk-YZCP3GAM-D0-dHF3G.js +1 -0
  315. package/dist/review-ui/assets/chunk-ZZ45TVLE-C1aIZGDA.js +1 -0
  316. package/dist/review-ui/assets/classDiagram-6PBFFD2Q-D_3LhkJc.js +1 -0
  317. package/dist/review-ui/assets/classDiagram-v2-HSJHXN6E-DQRUREh5.js +1 -0
  318. package/dist/review-ui/assets/clone-BZMtGzbS.js +1 -0
  319. package/dist/review-ui/assets/cose-bilkent-S5V4N54A-szpqu_3d.js +1 -0
  320. package/dist/review-ui/assets/cytoscape.esm-DZ22BVwz.js +321 -0
  321. package/dist/review-ui/assets/dagre-BfNtd34y.js +1 -0
  322. package/dist/review-ui/assets/dagre-KV5264BT-D6PbxORW.js +4 -0
  323. package/dist/review-ui/assets/defaultLocale-CIS5GEjP.js +1 -0
  324. package/dist/review-ui/assets/diagram-5BDNPKRD-BNAXBDig.js +10 -0
  325. package/dist/review-ui/assets/diagram-G4DWMVQ6-CIGS_5yQ.js +24 -0
  326. package/dist/review-ui/assets/diagram-MMDJMWI5-DJmcU2xZ.js +43 -0
  327. package/dist/review-ui/assets/diagram-TYMM5635-DW8XzrAz.js +24 -0
  328. package/dist/review-ui/assets/dist-B51l2n-9.js +1 -0
  329. package/dist/review-ui/assets/erDiagram-SMLLAGMA-BfUNH8zz.js +85 -0
  330. package/dist/review-ui/assets/flatten-BHh95bpO.js +1 -0
  331. package/dist/review-ui/assets/flowDiagram-DWJPFMVM-qgnlSvEC.js +162 -0
  332. package/dist/review-ui/assets/ganttDiagram-T4ZO3ILL-CFAN903o.js +292 -0
  333. package/dist/review-ui/assets/gitGraph-7Q5UKJZL-Dn47XunR.js +1 -0
  334. package/dist/review-ui/assets/gitGraphDiagram-UUTBAWPF-BcG6fDsE.js +106 -0
  335. package/dist/review-ui/assets/graphlib-Cie4kcbC.js +1 -0
  336. package/dist/review-ui/assets/identity-CWMh0UL-.js +1 -0
  337. package/dist/review-ui/assets/index-ByplNhhd.css +2 -0
  338. package/dist/review-ui/assets/index-S7nbpFp2.js +123 -0
  339. package/dist/review-ui/assets/info-OMHHGYJF-hAukP1xW.js +1 -0
  340. package/dist/review-ui/assets/infoDiagram-42DDH7IO-FblTAfC3.js +2 -0
  341. package/dist/review-ui/assets/init-BMBYmmUa.js +1 -0
  342. package/dist/review-ui/assets/ishikawaDiagram-UXIWVN3A-BA7dJd-J.js +70 -0
  343. package/dist/review-ui/assets/journeyDiagram-VCZTEJTY-CMx2w_is.js +139 -0
  344. package/dist/review-ui/assets/kanban-definition-6JOO6SKY-CFiOZCrT.js +89 -0
  345. package/dist/review-ui/assets/katex-8mXVa4k3.js +257 -0
  346. package/dist/review-ui/assets/line-BCdBO-oK.js +1 -0
  347. package/dist/review-ui/assets/linear-d7UHSQqm.js +1 -0
  348. package/dist/review-ui/assets/mermaid-parser.core-BHMXLuNx.js +4 -0
  349. package/dist/review-ui/assets/mindmap-definition-QFDTVHPH-CWO7vDqu.js +96 -0
  350. package/dist/review-ui/assets/ordinal-BDTCIhXR.js +1 -0
  351. package/dist/review-ui/assets/packet-4T2RLAQJ-Btz3ryW7.js +1 -0
  352. package/dist/review-ui/assets/path-CIRGLb_6.js +1 -0
  353. package/dist/review-ui/assets/pie-ZZUOXDRM-CreBtuDj.js +1 -0
  354. package/dist/review-ui/assets/pieDiagram-DEJITSTG-X2mFk5I3.js +30 -0
  355. package/dist/review-ui/assets/quadrantDiagram-34T5L4WZ-BSFYvc1U.js +7 -0
  356. package/dist/review-ui/assets/radar-PYXPWWZC-BcAPYMpV.js +1 -0
  357. package/dist/review-ui/assets/reduce-14YNCNxn.js +1 -0
  358. package/dist/review-ui/assets/requirementDiagram-MS252O5E-CDv1lxdq.js +84 -0
  359. package/dist/review-ui/assets/rough.esm-DtEqI08j.js +1 -0
  360. package/dist/review-ui/assets/sankeyDiagram-XADWPNL6-CV38ZpSv.js +10 -0
  361. package/dist/review-ui/assets/sequenceDiagram-FGHM5R23-DCuV_bhx.js +157 -0
  362. package/dist/review-ui/assets/src-Cxc1bu7b.js +1 -0
  363. package/dist/review-ui/assets/stateDiagram-FHFEXIEX-BfE_bGUQ.js +1 -0
  364. package/dist/review-ui/assets/stateDiagram-v2-QKLJ7IA2-u1yKXWoz.js +1 -0
  365. package/dist/review-ui/assets/timeline-definition-GMOUNBTQ-Ci0uFxaT.js +120 -0
  366. package/dist/review-ui/assets/treeView-SZITEDCU-BXg6-7zY.js +1 -0
  367. package/dist/review-ui/assets/treemap-W4RFUUIX-BToYbgol.js +1 -0
  368. package/dist/review-ui/assets/vennDiagram-DHZGUBPP-DvOuThac.js +34 -0
  369. package/dist/review-ui/assets/wardley-RL74JXVD-BAYzkcK-.js +1 -0
  370. package/dist/review-ui/assets/wardleyDiagram-NUSXRM2D-YxTu6WZw.js +20 -0
  371. package/dist/review-ui/assets/xychartDiagram-5P7HB3ND-V9j-Dl7t.js +7 -0
  372. package/dist/review-ui/index.html +29 -0
  373. package/dist/run-openflow-cli.d.ts +1 -0
  374. package/dist/run-openflow-cli.js +41 -0
  375. package/dist/run-openflow-cli.js.map +1 -0
  376. package/dist/shared/args.d.ts +3 -0
  377. package/dist/shared/args.js +27 -0
  378. package/dist/shared/args.js.map +1 -0
  379. package/dist/shared/browser.d.ts +4 -0
  380. package/dist/shared/browser.js +17 -0
  381. package/dist/shared/browser.js.map +1 -0
  382. package/dist/shared/fs.d.ts +15 -0
  383. package/dist/shared/fs.js +48 -0
  384. package/dist/shared/fs.js.map +1 -0
  385. package/dist/shared/i18n.d.ts +5 -0
  386. package/dist/shared/i18n.js +65 -0
  387. package/dist/shared/i18n.js.map +1 -0
  388. package/dist/shared/locales/en-US.json +88 -0
  389. package/dist/shared/locales/zh-CN.json +88 -0
  390. package/dist/shared/plugin-registry.d.ts +36 -0
  391. package/dist/shared/plugin-registry.js +51 -0
  392. package/dist/shared/plugin-registry.js.map +1 -0
  393. package/dist/shared/project-state.d.ts +17 -0
  394. package/dist/shared/project-state.js +75 -0
  395. package/dist/shared/project-state.js.map +1 -0
  396. package/dist/shared/terminal.d.ts +10 -0
  397. package/dist/shared/terminal.js +110 -0
  398. package/dist/shared/terminal.js.map +1 -0
  399. package/package.json +28 -0
  400. package/templates/archive/.gitkeep +1 -0
  401. package/templates/config.json +11 -0
  402. package/templates/current.json +3 -0
  403. package/templates/iterations/.gitkeep +1 -0
@@ -0,0 +1,241 @@
1
+ # Knowledge File Schema
2
+
3
+ Complete schema definitions for `.openflow/knowledge/` files. Read this reference when creating, validating, or curating knowledge entries during `/openflow-finalize`.
4
+
5
+ ## Knowledge Types and ID Prefixes
6
+
7
+ | Type | Prefix | Directory |
8
+ |------|--------|-----------|
9
+ | Decision | `D-NNN` | `knowledge/decisions/` |
10
+ | Guideline | `G-NNN` | `knowledge/guidelines/` |
11
+ | Pitfall | `P-NNN` | `knowledge/pitfalls/` |
12
+ | Process | `PR-NNN` | `knowledge/processes/` |
13
+
14
+ Use zero-padded sequential numbers: `001-`, `002-`, `003-`. Check existing files before creating to avoid collisions.
15
+
16
+ > Note: The `problems/` directory is a legacy alias for `pitfalls/`. New entries should use `pitfalls/`. Existing `problems/` entries remain valid and use the same `P-NNN` prefix and `type: pitfall` schema.
17
+
18
+ ## Decision Files (`decisions/NNN-<slug>.md`)
19
+
20
+ ```yaml
21
+ ---
22
+ id: D-NNN
23
+ type: decision
24
+ date: YYYY-MM-DD
25
+ scope: [file, package, concept]
26
+ tags: [category, category]
27
+ evidence:
28
+ - iteration: <iteration-id>
29
+ outcome: success | partial | failure
30
+ summary: <one line>
31
+ status: active | superseded | deprecated
32
+ superseded_by: null | D-NNN
33
+ applies_to: [file, package, concept]
34
+ ---
35
+
36
+ ## Decision
37
+
38
+ <One sentence stating the decision.>
39
+
40
+ ## Rationale
41
+
42
+ <Why this decision was made.>
43
+
44
+ ## Pattern
45
+
46
+ <Reusable pattern this decision exemplifies.>
47
+
48
+ ## Source
49
+
50
+ - Iteration: <iteration-id>
51
+ ```
52
+
53
+ ## Pitfall Files (`pitfalls/NNN-<slug>.md`)
54
+
55
+ Pitfalls cover both known traps to avoid (preventive) and problems that were encountered and resolved (reactive).
56
+
57
+ ```yaml
58
+ ---
59
+ id: P-NNN
60
+ type: pitfall
61
+ date: YYYY-MM-DD
62
+ scope: [file, package, concept]
63
+ tags: [category, category]
64
+ evidence:
65
+ - iteration: <iteration-id>
66
+ outcome: success | partial | failure
67
+ summary: <one line>
68
+ symptoms:
69
+ - <observable symptom string>
70
+ ---
71
+
72
+ ## Pitfall
73
+
74
+ <One sentence describing the known problem.>
75
+
76
+ ## Symptoms
77
+
78
+ <Observable signs that this pitfall has occurred or is occurring.>
79
+
80
+ ## Root Cause
81
+
82
+ <What typically causes this issue.>
83
+
84
+ ## Prevention
85
+
86
+ <How to avoid this pitfall in the future.>
87
+
88
+ ## Fix
89
+
90
+ <How to resolve it when encountered.>
91
+
92
+ ## Source
93
+
94
+ - Iteration: <iteration-id>
95
+ ```
96
+
97
+ ## Guideline Files (`guidelines/NNN-<slug>.md`)
98
+
99
+ ```yaml
100
+ ---
101
+ id: G-NNN
102
+ type: guideline
103
+ date: YYYY-MM-DD
104
+ scope: [file, package, concept]
105
+ tags: [category, category]
106
+ evidence:
107
+ - iteration: <iteration-id>
108
+ outcome: success | partial | failure
109
+ summary: <one line>
110
+ ---
111
+
112
+ ## Guideline
113
+
114
+ <One sentence describing the recommended practice.>
115
+
116
+ ## When to Apply
117
+
118
+ <Conditions under which this guideline is relevant.>
119
+
120
+ ## Pattern
121
+
122
+ <The recommended approach.>
123
+
124
+ ## Source
125
+
126
+ - Iteration: <iteration-id>
127
+ ```
128
+
129
+ ## Process Files (`processes/NNN-<slug>.md`)
130
+
131
+ ```yaml
132
+ ---
133
+ id: PR-NNN
134
+ type: process
135
+ date: YYYY-MM-DD
136
+ scope: [file, package, concept]
137
+ tags: [category, category]
138
+ evidence:
139
+ - iteration: <iteration-id>
140
+ outcome: success | partial | failure
141
+ summary: <one line>
142
+ ---
143
+
144
+ ## Process
145
+
146
+ <One sentence describing the process.>
147
+
148
+ ## When to Follow
149
+
150
+ <Conditions under which this process should be applied.>
151
+
152
+ ## Steps
153
+
154
+ <Numbered list of steps to follow.>
155
+
156
+ ## Validation
157
+
158
+ <How to verify the process was followed correctly.>
159
+
160
+ ## Source
161
+
162
+ - Iteration: <iteration-id>
163
+ ```
164
+
165
+ ## Lifecycle
166
+
167
+ 1. **Creation**: Knowledge files are created during `/openflow-finalize` when durable knowledge meets extraction criteria.
168
+ 2. **Retrieval**: Knowledge files are read during `/openflow-spec` and `/openflow-implement` by the `knowledge-retrieval` skill.
169
+ 3. **Superseding**: When a decision is overturned, set `status: superseded` and `superseded_by` to the new decision ID. Do not delete old files.
170
+ 4. **Removal**: Knowledge entries can be removed only by explicit user request. Move to `knowledge/archive/` rather than deleting.
171
+
172
+ ## Knowledge Index Structure
173
+
174
+ Knowledge indexes provide fast lookup without scanning all files. They are maintained by the `knowledge-curator` during the archive phase.
175
+
176
+ ### catalog.json
177
+
178
+ Top-level machine-readable index at `knowledge/catalog.json`:
179
+
180
+ ```json
181
+ {
182
+ "version": 1,
183
+ "updated_at": "YYYY-MM-DD",
184
+ "entries": [
185
+ {
186
+ "id": "D-001",
187
+ "type": "decision",
188
+ "title": "Short title",
189
+ "tags": ["tag1"],
190
+ "scope": ["package-a"],
191
+ "summary": "One-line summary"
192
+ }
193
+ ]
194
+ }
195
+ ```
196
+
197
+ Fields:
198
+ - `version` (integer): Schema version. Currently `1`.
199
+ - `updated_at` (string): ISO date of last update (`YYYY-MM-DD`).
200
+ - `entries` (array): All knowledge entries across all types.
201
+ - `id` (string): Knowledge ID with type prefix (`D-NNN`, `G-NNN`, `P-NNN`, `PR-NNN`).
202
+ - `type` (string): One of `decision`, `guideline`, `pitfall`, `process`.
203
+ - `title` (string): Short human-readable title.
204
+ - `tags` (array of strings): Categories for retrieval.
205
+ - `scope` (array of strings): Affected files, packages, or concepts.
206
+ - `summary` (string): One-sentence summary for quick scanning.
207
+
208
+ ### Per-type index.json
209
+
210
+ Each knowledge subdirectory has its own `index.json` for type-scoped lookups:
211
+
212
+ `knowledge/decisions/index.json`, `knowledge/guidelines/index.json`, `knowledge/pitfalls/index.json`, `knowledge/processes/index.json`
213
+
214
+ ```json
215
+ {
216
+ "type": "decision",
217
+ "entries": [
218
+ {
219
+ "id": "D-001",
220
+ "title": "Short title",
221
+ "tags": ["tag1"],
222
+ "scope": ["package-a"],
223
+ "summary": "One-line summary"
224
+ }
225
+ ]
226
+ }
227
+ ```
228
+
229
+ ### CATALOG.md
230
+
231
+ `knowledge/CATALOG.md` is a human-readable panoramic directory of all knowledge. It is generated or updated by the archive phase and provides a browsable overview for developers and reviewers.
232
+
233
+ ### Index Update Timing
234
+
235
+ Indexes are maintained exclusively during the `/openflow-finalize` phase by the `knowledge-curator` agent:
236
+
237
+ 1. After new knowledge files are created, regenerate `catalog.json` from all knowledge files.
238
+ 2. Update the relevant per-type `index.json` files for any types that had new or modified entries.
239
+ 3. Regenerate `CATALOG.md` from the updated catalog data.
240
+
241
+ Indexes must never be modified outside of the archive phase.
@@ -0,0 +1,148 @@
1
+ # State Files
2
+
3
+ This reference covers OpenFlow's machine-readable state files and human-readable status mirrors. AI agents must never write `flow.json` or `current.json` directly — use the openflow CLI commands defined in `cli-reference`.
4
+
5
+ ## current.json
6
+
7
+ `current.json` points commands to the active iteration.
8
+
9
+ Location: `.openflow/current.json`
10
+
11
+ Shape:
12
+
13
+ ```json
14
+ {
15
+ "activeIteration": "2026-05-09-openflow-spec-prompts"
16
+ }
17
+ ```
18
+
19
+ Rules:
20
+
21
+ - `activeIteration` must be a folder name under `.openflow/iterations/`.
22
+ - Use `null` when no iteration is active.
23
+ - Do not store stage, level, or gate state here. Those belong in the iteration `flow.json`.
24
+ - Update this file via `openflow iteration create|switch|close`.
25
+
26
+ ## flow.json
27
+
28
+ `flow.json` is the machine-readable state for one iteration.
29
+
30
+ Location: `.openflow/iterations/<iteration-id>/flow.json`
31
+
32
+ Spec-stage shape:
33
+
34
+ ```json
35
+ {
36
+ "id": "2026-05-09-openflow-spec-prompts",
37
+ "title": "OpenFlow spec prompt design",
38
+ "level": "2",
39
+ "stage": "spec",
40
+ "revision": 1,
41
+ "gate": "review_required",
42
+ "createdAt": "2026-05-09T10:00:00+08:00",
43
+ "updatedAt": "2026-05-09T10:30:00+08:00",
44
+ "activeTask": null
45
+ }
46
+ ```
47
+
48
+ Rules:
49
+
50
+ - Keep `id` equal to the iteration folder name.
51
+ - Use `stage: "spec"` throughout the spec phase.
52
+ - Use `stage: "implement"` while implementing approved tasks.
53
+ - Use `stage: "finalize"` while preparing `SUMMARY.md` and final validation.
54
+ - Use `stage: "archived"` only after final validation passes and the iteration is ready to move under `.openflow/archive/`.
55
+ - Use `level` values `"0"`, `"1"`, `"2"`, or `"3"`.
56
+ - Increment `revision` when `SPEC.md`, `TASKS.md`, or `PLAN.md` changes materially.
57
+ - Update `updatedAt` whenever durable artifacts change.
58
+ - Keep `activeTask` as `null` during spec.
59
+ - Set `activeTask` to the active `T-###` during implement.
60
+ - Set `activeTask` back to `null` before final archive.
61
+ - Store gate status here instead of parsing `STATE.md`.
62
+
63
+ **flow.json must be modified only via openflow CLI commands** — never written directly by AI agents:
64
+
65
+ - Gate changes: `openflow flow set-gate <gate>`
66
+ - Stage transitions: `openflow flow set-stage <stage>`
67
+ - Revision increments: `openflow flow inc-revision`
68
+ - Task activation: `openflow flow set-task <T-###>` or `openflow flow set-task -`
69
+ - Drift recovery: `openflow flow restart-spec --reason "<why>" --task <T-###>`
70
+
71
+ The initial `flow.json` is created by `openflow iteration create`.
72
+
73
+ ## STATE.md
74
+
75
+ `STATE.md` is a readable status summary. It mirrors `flow.json` but does not replace it.
76
+
77
+ Location: `.openflow/iterations/<iteration-id>/STATE.md`
78
+
79
+ Template:
80
+
81
+ ```markdown
82
+ # OpenFlow State
83
+
84
+ - Flow: 2026-05-09-openflow-spec-prompts
85
+ - Title: OpenFlow spec prompt design
86
+ - Stage: spec
87
+ - Level: 2
88
+ - Revision: 1
89
+ - Active task: none
90
+ - Gate status: review_required
91
+
92
+ ## Open Questions
93
+
94
+ - None.
95
+
96
+ ## Last Update
97
+
98
+ - 2026-05-09T10:30:00+08:00: Spec artifacts prepared for review.
99
+
100
+ ## Next Action
101
+
102
+ - Run `openflow review --flow .openflow/iterations/2026-05-09-openflow-spec-prompts --mode spec`.
103
+ ```
104
+
105
+ Rules:
106
+
107
+ - Keep it short.
108
+ - Update it after the other artifacts so it reflects reality.
109
+ - Do not hide scope, acceptance, or task detail here; link to `SPEC.md` and `TASKS.md` by implication through the same folder.
110
+
111
+ ## Review Files
112
+
113
+ Review artifacts live under `.openflow/iterations/<iteration-id>/reviews/`.
114
+
115
+ Only `spec-review.json` is used in the workflow (no archive-review.json). The Review UI displays SPEC.md as the primary review target. PLAN.md, TASKS.md, and CONTEXT.md are shown as collapsible reference material.
116
+
117
+ ### spec-review.json
118
+
119
+ Location: `reviews/spec-review.json`
120
+
121
+ Shape:
122
+
123
+ ```json
124
+ {
125
+ "stage": "spec",
126
+ "revision": 1,
127
+ "status": "approved",
128
+ "reviewedAt": "2026-05-09T10:45:00+08:00",
129
+ "comments": [],
130
+ "requestedChanges": []
131
+ }
132
+ ```
133
+
134
+ ### spec-reviewer.md
135
+
136
+ Location: `reviews/spec-reviewer.md` — Markdown output from the `artifact-reviewer` (mode: spec) AI subagent.
137
+
138
+ ### history.jsonl
139
+
140
+ Location: `reviews/history.jsonl` — append-only log of review iterations.
141
+
142
+ Rules:
143
+
144
+ - The Review UI writes `spec-review.json`.
145
+ - The main agent reads review files and updates `flow.json` and `STATE.md`.
146
+ - Do not store review state in root `.openflow/REVIEW.json` for new iterations.
147
+ - If review requests changes, revise the same iteration and run `openflow flow inc-revision`.
148
+ - Preserve reviewer findings unless they are superseded by a later review file or history entry.
@@ -0,0 +1,119 @@
1
+ # OpenFlow Workflow Rules
2
+
3
+ ## Iteration Resolution
4
+
5
+ When a command starts:
6
+
7
+ 1. Read `.openflow/current.json`.
8
+ 2. If `activeIteration` points to an existing folder, read its `flow.json`.
9
+ 3. Continue the active iteration only when the stage matches the command or the user explicitly asks to revise it.
10
+ 4. Create a new iteration when there is no active iteration or the active iteration has moved beyond the requested command's stage.
11
+
12
+ Suggested iteration id:
13
+
14
+ ```text
15
+ YYYY-MM-DD-short-slug
16
+ ```
17
+
18
+ Use the user's requested change to form the slug. Keep it stable once created.
19
+
20
+ ## Level Routing Decision Tree
21
+
22
+ Route before writing the spec. Revise the route if exploration reveals more risk.
23
+
24
+ Start at Level 1. Move up or down based on evidence.
25
+
26
+ ### Level 0 (Skip) -- Use when ALL are true:
27
+
28
+ - Single file change
29
+ - Under 10 lines
30
+ - Zero risk (no API, schema, security, or migration impact)
31
+ - Acceptance is obvious
32
+ - No OpenFlow artifacts needed -- implement directly
33
+
34
+ ### Level 1 (Simple) -- Default starting point:
35
+
36
+ Use when:
37
+
38
+ - 1-3 files affected
39
+ - No technical decisions required
40
+ - No public API, schema, migration, security, package boundary, or broad docs impact
41
+ - Validation is straightforward
42
+
43
+ Artifacts: SPEC only (Goal + Scope + Non-Goals + Acceptance).
44
+ Gate: No formal gate. Conversational confirm.
45
+
46
+ ### Level 2 (Standard) -- Use when ANY are true:
47
+
48
+ - 3+ files or modules involved
49
+ - Technical decisions required
50
+ - User-visible behavior changes
51
+ - Tests, docs, CLI behavior, or Review UI behavior changes
52
+ - Acceptance needs explicit criteria
53
+ - Shared components affected
54
+ - Moderate unknowns but no architectural risk
55
+
56
+ Artifacts: SPEC + PLAN + TASKS.
57
+ Gate: Single review gate. SPEC.md is reviewed via Review UI (PLAN/TASKS/CONTEXT shown as reference). Approved review required before implement.
58
+
59
+ ### Level 3 (Deep) -- Use when ANY are true:
60
+
61
+ - Architecture or package boundaries change
62
+ - Public API, storage, migration, auth/security, performance, or extension contracts change
63
+ - Multiple independent implementation tracks need coordination
64
+ - Mistakes would be hard to detect with simple tests
65
+ - The user is still making product decisions that materially affect the design
66
+ - Data model changes or cross-boundary coordination required
67
+
68
+ Artifacts: Full set (SPEC + PLAN + TASKS + reviews).
69
+ Gate: Single review gate. SPEC.md is reviewed by `artifact-reviewer` (mode: spec) AI then Human Review UI. PLAN+TASKS are reviewed by `artifact-reviewer` (mode: plan) AI only (no separate human gate).
70
+
71
+ ## Gate Values
72
+
73
+ Recommended `flow.json.gate` values:
74
+
75
+ - `draft`: artifacts are being prepared.
76
+ - `review_required`: ready for human review.
77
+ - `changes_requested`: review found changes.
78
+ - `approved`: gate passed.
79
+ - `skipped`: gate intentionally skipped for a Level 0 or Level 1 flow.
80
+ - `blocked`: gate cannot proceed.
81
+
82
+ ## Revision Rules
83
+
84
+ Increment `flow.json.revision` when any of these change materially:
85
+
86
+ - `SPEC.md`
87
+ - `TASKS.md`
88
+ - `PLAN.md`
89
+
90
+ Do not increment for formatting-only changes that do not alter scope, acceptance, or tasks.
91
+
92
+ When revision increments after an approval:
93
+
94
+ 1. reset `flow.json.gate`
95
+ 2. update `STATE.md`
96
+ 3. append or preserve review history
97
+ 4. require review again when level requires it
98
+
99
+ ## Blocked State
100
+
101
+ Use `blocked` when progress would otherwise guess across a material decision or failing gate.
102
+
103
+ Record:
104
+
105
+ - what is blocked
106
+ - who or what can unblock it
107
+ - which artifact needs revision
108
+ - the last safe state
109
+
110
+ Do not continue execution work while the gate is blocked.
111
+
112
+ ## Concurrent Iterations
113
+
114
+ Multiple iterations can exist simultaneously under `.openflow/iterations/`. The active iteration in `.openflow/current.json` determines which iteration commands operate on by default.
115
+
116
+ - Use `openflow iteration list` to see all iterations and their stages.
117
+ - Use `openflow iteration switch <id>` to change the active iteration.
118
+ - Starting a new spec (`/openflow-spec`) while another iteration is active creates a new iteration and switches to it.
119
+ - The previous iteration remains in its current state and can be resumed later.
File without changes
@@ -0,0 +1,4 @@
1
+ export { runOpenFlowCli } from "./run-openflow-cli.js";
2
+ export { runReviewMcpServer } from "./mcp/review-mcp-server.js";
3
+ export { startReviewServer, type ReviewMode, type ReviewServerOptions, type RunningReviewServer } from "./mcp/review-server.js";
4
+ export * from "./core/index.js";
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export { runOpenFlowCli } from "./run-openflow-cli.js";
2
+ export { runReviewMcpServer } from "./mcp/review-mcp-server.js";
3
+ export { startReviewServer } from "./mcp/review-server.js";
4
+ export * from "./core/index.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAuE,MAAM,wBAAwB,CAAC;AAChI,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function runReviewMcpServer(): Promise<void>;