@khoavu882/doflow 0.0.0-stage → 2.0.0-beta.3

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 (407) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +132 -2
  3. package/bin/doflow.js +44 -0
  4. package/core/.antigravity-plugin/hooks.json +39 -0
  5. package/core/.antigravity-plugin/mcp_config.json +18 -0
  6. package/core/.antigravity-plugin/plugin.json +31 -0
  7. package/core/.claude-plugin/marketplace.json +20 -0
  8. package/core/.claude-plugin/plugin.json +21 -0
  9. package/core/.codex-plugin/marketplace.json +20 -0
  10. package/core/.codex-plugin/plugin.json +35 -0
  11. package/core/.plugin/plugin.json +19 -0
  12. package/core/harnesses/antigravity/hooks/pre-implementation-gate.sh +9 -0
  13. package/core/harnesses/antigravity/hooks/stop-check.sh +10 -0
  14. package/core/harnesses/claude/hooks/lib.sh +304 -0
  15. package/core/harnesses/claude/hooks/mcp-tool-guard.sh +20 -0
  16. package/core/harnesses/claude/hooks/permission-audit.sh +47 -0
  17. package/core/harnesses/claude/hooks/post-compact.sh +74 -0
  18. package/core/harnesses/claude/hooks/post-edit-lint.sh +36 -0
  19. package/core/harnesses/claude/hooks/post-tool-failure.sh +47 -0
  20. package/core/harnesses/claude/hooks/pre-bash-guard.sh +20 -0
  21. package/core/harnesses/claude/hooks/pre-compact.sh +43 -0
  22. package/core/harnesses/claude/hooks/pre-implement-gate.sh +21 -0
  23. package/core/harnesses/claude/hooks/session-end.sh +89 -0
  24. package/core/harnesses/claude/hooks/session-start.sh +5 -0
  25. package/core/harnesses/claude/hooks/skill-config-audit.sh +39 -0
  26. package/core/harnesses/claude/hooks/stop-check.sh +5 -0
  27. package/core/harnesses/claude/hooks/subagent-audit.sh +7 -0
  28. package/core/harnesses/claude/hooks/user-prompt-submit.sh +5 -0
  29. package/core/harnesses/claude/settings/keybindings.json +20 -0
  30. package/core/harnesses/claude/settings/settings.json +201 -0
  31. package/core/harnesses/claude/statusline/doflow-statusline.sh +49 -0
  32. package/core/harnesses/codex/agents/core-implementer.toml +7 -0
  33. package/core/harnesses/codex/agents/quality-guardian.toml +8 -0
  34. package/core/harnesses/codex/agents/research-writer.toml +8 -0
  35. package/core/harnesses/codex/agents/spec-analyst.toml +8 -0
  36. package/core/harnesses/codex/agents/system-architect.toml +9 -0
  37. package/core/harnesses/codex/config/config.toml +10 -0
  38. package/core/harnesses/codex/hooks/hooks.json +122 -0
  39. package/core/harnesses/codex/hooks/lib.sh +335 -0
  40. package/core/harnesses/codex/hooks/mcp-tool-guard.sh +18 -0
  41. package/core/harnesses/codex/hooks/post-edit-lint.impl.sh +52 -0
  42. package/core/harnesses/codex/hooks/post-edit-lint.sh +6 -0
  43. package/core/harnesses/codex/hooks/pre-bash-guard.sh +18 -0
  44. package/core/harnesses/codex/hooks/pre-compact.impl.sh +46 -0
  45. package/core/harnesses/codex/hooks/pre-compact.sh +9 -0
  46. package/core/harnesses/codex/hooks/pre-implement-gate.sh +19 -0
  47. package/core/harnesses/codex/hooks/session-end.impl.sh +92 -0
  48. package/core/harnesses/codex/hooks/session-end.sh +5 -0
  49. package/core/harnesses/codex/hooks/session-start.sh +5 -0
  50. package/core/harnesses/codex/hooks/stop-check.sh +8 -0
  51. package/core/harnesses/codex/hooks/subagent-audit.sh +8 -0
  52. package/core/harnesses/codex/hooks/user-prompt-submit.sh +6 -0
  53. package/core/harnesses/gemini/hooks/hooks.json +77 -0
  54. package/core/harnesses/gemini/hooks/lib.sh +302 -0
  55. package/core/harnesses/gemini/hooks/mcp-tool-guard.sh +21 -0
  56. package/core/harnesses/gemini/hooks/post-edit-lint.sh +39 -0
  57. package/core/harnesses/gemini/hooks/pre-bash-guard.sh +21 -0
  58. package/core/harnesses/gemini/hooks/pre-compact.sh +38 -0
  59. package/core/harnesses/gemini/hooks/pre-implement-gate.sh +22 -0
  60. package/core/harnesses/gemini/hooks/session-end.impl.sh +89 -0
  61. package/core/harnesses/gemini/hooks/session-end.sh +5 -0
  62. package/core/harnesses/gemini/hooks/session-start.sh +5 -0
  63. package/core/harnesses/gemini/settings/adapter-defaults.json +4 -0
  64. package/core/harnesses/kiro/agents/doflow.json +58 -0
  65. package/core/harnesses/kiro/hooks/doflow.json +53 -0
  66. package/core/harnesses/kiro/hooks/lib.sh +324 -0
  67. package/core/harnesses/kiro/hooks/mcp-tool-guard.sh +9 -0
  68. package/core/harnesses/kiro/hooks/pre-bash-guard.sh +9 -0
  69. package/core/harnesses/kiro/hooks/pre-implement-gate.sh +9 -0
  70. package/core/harnesses/kiro/hooks/session-start.sh +9 -0
  71. package/core/harnesses/kiro/hooks/stop-check.sh +43 -0
  72. package/core/harnesses/shared/hooks/ENVELOPE_MIGRATION.md +39 -0
  73. package/core/harnesses/shared/hooks/adapters/antigravity.js +111 -0
  74. package/core/harnesses/shared/hooks/adapters/arg-fields.js +19 -0
  75. package/core/harnesses/shared/hooks/adapters/gemini.js +114 -0
  76. package/core/harnesses/shared/hooks/hooks.json +47 -0
  77. package/core/harnesses/shared/hooks/policies/blocked-patterns.conf +91 -0
  78. package/core/harnesses/shared/hooks/policies/capture-failure.sh +97 -0
  79. package/core/harnesses/shared/hooks/policies/deny-json.sh +29 -0
  80. package/core/harnesses/shared/hooks/policies/lib.sh +501 -0
  81. package/core/harnesses/shared/hooks/policies/mcp-policy.conf +21 -0
  82. package/core/harnesses/shared/hooks/policies/mcp-tool-guard.sh +91 -0
  83. package/core/harnesses/shared/hooks/policies/pre-bash-guard.sh +328 -0
  84. package/core/harnesses/shared/hooks/policies/pre-implementation-gate.sh +496 -0
  85. package/core/harnesses/shared/hooks/policies/prompt-nudge.jq +131 -0
  86. package/core/harnesses/shared/hooks/policies/session-context.sh +141 -0
  87. package/core/harnesses/shared/hooks/policies/stop-check.sh +264 -0
  88. package/core/harnesses/shared/hooks/policies/subagent-audit.sh +46 -0
  89. package/core/harnesses/shared/hooks/policies/user-prompt-submit.sh +235 -0
  90. package/core/harnesses/shared/hooks/stream-hook-runner.js +590 -0
  91. package/core/harnesses/shared/locator/doflow-run +87 -0
  92. package/core/registry/advice.json +101 -0
  93. package/core/registry/assets.json +792 -0
  94. package/core/registry/capabilities.json +120 -0
  95. package/core/registry/contracts.json +189 -0
  96. package/core/registry/external-tools.json +191 -0
  97. package/core/registry/harnesses.json +2062 -0
  98. package/core/registry/lifecycle.json +231 -0
  99. package/core/registry/mcp.json +18 -0
  100. package/core/registry/models.json +79 -0
  101. package/core/registry/readiness-templates.json +118 -0
  102. package/core/registry/routes.json +47 -0
  103. package/core/registry/storage.json +1057 -0
  104. package/core/registry/verification.json +258 -0
  105. package/core/registry/workflows.json +790 -0
  106. package/core/shared/agent-specs/core-implementer.md +73 -0
  107. package/core/shared/agent-specs/quality-guardian.md +28 -0
  108. package/core/shared/agent-specs/research-writer.md +31 -0
  109. package/core/shared/agent-specs/spec-analyst.md +33 -0
  110. package/core/shared/agent-specs/system-architect.md +29 -0
  111. package/core/shared/guidance/DOFLOW_CORE.md +8 -0
  112. package/core/shared/guidance/FLAGS.md +25 -0
  113. package/core/shared/guidance/PRINCIPLES.md +61 -0
  114. package/core/shared/guidance/VERSION +1 -0
  115. package/core/shared/guidance/mcp/MCP_Context7.md +18 -0
  116. package/core/shared/guidance/mcp/MCP_Sequential.md +17 -0
  117. package/core/shared/guidance/modes/MODE_Brainstorming.md +46 -0
  118. package/core/shared/guidance/modes/MODE_DeepResearch.md +69 -0
  119. package/core/shared/guidance/modes/MODE_Introspection.md +33 -0
  120. package/core/shared/guidance/modes/MODE_Orchestration.md +57 -0
  121. package/core/shared/guidance/modes/MODE_Task_Management.md +74 -0
  122. package/core/shared/guidance/pointers/claude-gemini.md +2 -0
  123. package/core/shared/guidance/pointers/codex.md +6 -0
  124. package/core/shared/guidance/references/ARTIFACT_FORMAT.md +373 -0
  125. package/core/shared/guidance/references/ARTIFACT_VOICE.md +104 -0
  126. package/core/shared/guidance/references/CONSTITUTION_BASE.md +47 -0
  127. package/core/shared/guidance/references/DIAGRAM_GUIDE.md +161 -0
  128. package/core/shared/guidance/references/DOFLOW_CHAIN.md +87 -0
  129. package/core/shared/guidance/references/EVIDENCE_LEDGER.md +93 -0
  130. package/core/shared/guidance/references/MODEL_SELECTION.md +74 -0
  131. package/core/shared/guidance/references/ORCHESTRATION.md +36 -0
  132. package/core/shared/guidance/references/RESEARCH_CONFIG.md +21 -0
  133. package/core/shared/guidance/references/WORKFLOW_HANDOFF.md +81 -0
  134. package/core/shared/guidance/rules/RULE_01_SAFETY.md +25 -0
  135. package/core/shared/guidance/rules/RULE_02_WORKFLOW.md +23 -0
  136. package/core/shared/guidance/rules/RULE_03_QUALITY.md +14 -0
  137. package/core/shared/guidance/rules/RULE_04_QUESTIONS.md +46 -0
  138. package/core/shared/scripts/doflow/assets/mermaid-theme.json +46 -0
  139. package/core/shared/scripts/doflow/bash/do-exec-paths.sh +167 -0
  140. package/core/shared/scripts/doflow/bash/do-git-state.sh +546 -0
  141. package/core/shared/scripts/doflow/bash/do-parallel-check.sh +208 -0
  142. package/core/shared/scripts/doflow/bash/do-paths.sh +347 -0
  143. package/core/shared/scripts/doflow/bash/do-prereqs.sh +66 -0
  144. package/core/shared/scripts/doflow/bash/do-review-package.sh +127 -0
  145. package/core/shared/scripts/doflow/bash/do-task-brief.sh +698 -0
  146. package/core/shared/scripts/doflow/bash/render-audit.sh +224 -0
  147. package/core/shared/scripts/doflow/bash/render-diagrams.sh +177 -0
  148. package/core/shared/scripts/doflow/bash/render-puml.sh +223 -0
  149. package/core/shared/scripts/doflow/bash/sync-context.sh +66 -0
  150. package/core/shared/scripts/doflow/bash/validate-artifacts.sh +526 -0
  151. package/core/shared/scripts/doflow/bin/doflow-run +592 -0
  152. package/core/shared/skills/do/SKILL.md +128 -0
  153. package/core/shared/skills/do/references/estimation.md +13 -0
  154. package/core/shared/skills/do/references/pm_routing.md +25 -0
  155. package/core/shared/skills/do/references/tool_matrix.md +52 -0
  156. package/core/shared/skills/do-brainstorm/SKILL.md +252 -0
  157. package/core/shared/skills/do-code-review/README.md +49 -0
  158. package/core/shared/skills/do-code-review/SKILL.md +333 -0
  159. package/core/shared/skills/do-code-review/assets/sample_c_clean.c +71 -0
  160. package/core/shared/skills/do-code-review/assets/sample_c_smells.c +66 -0
  161. package/core/shared/skills/do-code-review/assets/sample_cpp_shift.cpp +19 -0
  162. package/core/shared/skills/do-code-review/assets/sample_csharp_clean.cs +100 -0
  163. package/core/shared/skills/do-code-review/assets/sample_csharp_smells.cs +78 -0
  164. package/core/shared/skills/do-code-review/assets/sample_java_clean.java +55 -0
  165. package/core/shared/skills/do-code-review/assets/sample_java_smells.java +56 -0
  166. package/core/shared/skills/do-code-review/assets/sample_json_clean.json +7 -0
  167. package/core/shared/skills/do-code-review/assets/sample_markdown_clean.md +30 -0
  168. package/core/shared/skills/do-code-review/assets/sample_markdown_smells.md +29 -0
  169. package/core/shared/skills/do-code-review/assets/sample_shell_heredoc.sh +38 -0
  170. package/core/shared/skills/do-code-review/assets/sample_shell_smells.sh +15 -0
  171. package/core/shared/skills/do-code-review/assets/sample_typescript_strings.ts +36 -0
  172. package/core/shared/skills/do-code-review/assets/sample_yaml_smells.yaml +6 -0
  173. package/core/shared/skills/do-code-review/content-types/config.md +83 -0
  174. package/core/shared/skills/do-code-review/content-types/markdown.md +132 -0
  175. package/core/shared/skills/do-code-review/expected_outputs/sample_c_clean_quality.json +79 -0
  176. package/core/shared/skills/do-code-review/expected_outputs/sample_c_smells_quality.json +169 -0
  177. package/core/shared/skills/do-code-review/expected_outputs/sample_cpp_shift_quality.json +49 -0
  178. package/core/shared/skills/do-code-review/expected_outputs/sample_csharp_clean_quality.json +149 -0
  179. package/core/shared/skills/do-code-review/expected_outputs/sample_csharp_smells_quality.json +157 -0
  180. package/core/shared/skills/do-code-review/expected_outputs/sample_java_clean_quality.json +67 -0
  181. package/core/shared/skills/do-code-review/expected_outputs/sample_java_smells_quality.json +97 -0
  182. package/core/shared/skills/do-code-review/expected_outputs/sample_json_clean_quality.json +33 -0
  183. package/core/shared/skills/do-code-review/expected_outputs/sample_markdown_clean_quality.json +1 -0
  184. package/core/shared/skills/do-code-review/expected_outputs/sample_markdown_smells_quality.json +16 -0
  185. package/core/shared/skills/do-code-review/expected_outputs/sample_shell_heredoc_quality.json +54 -0
  186. package/core/shared/skills/do-code-review/expected_outputs/sample_shell_smells_quality.json +91 -0
  187. package/core/shared/skills/do-code-review/expected_outputs/sample_typescript_strings_quality.json +60 -0
  188. package/core/shared/skills/do-code-review/expected_outputs/sample_yaml_smells_quality.json +46 -0
  189. package/core/shared/skills/do-code-review/languages/c.md +103 -0
  190. package/core/shared/skills/do-code-review/languages/cpp.md +103 -0
  191. package/core/shared/skills/do-code-review/languages/csharp.md +97 -0
  192. package/core/shared/skills/do-code-review/languages/dart.md +108 -0
  193. package/core/shared/skills/do-code-review/languages/go.md +92 -0
  194. package/core/shared/skills/do-code-review/languages/java.md +103 -0
  195. package/core/shared/skills/do-code-review/languages/kotlin.md +88 -0
  196. package/core/shared/skills/do-code-review/languages/php.md +109 -0
  197. package/core/shared/skills/do-code-review/languages/python.md +94 -0
  198. package/core/shared/skills/do-code-review/languages/ruby.md +105 -0
  199. package/core/shared/skills/do-code-review/languages/rust.md +99 -0
  200. package/core/shared/skills/do-code-review/languages/shell.md +90 -0
  201. package/core/shared/skills/do-code-review/languages/swift.md +88 -0
  202. package/core/shared/skills/do-code-review/languages/typescript.md +97 -0
  203. package/core/shared/skills/do-code-review/review-policy.json +47 -0
  204. package/core/shared/skills/do-code-review/rules/universal.md +49 -0
  205. package/core/shared/skills/do-code-review/scripts/code_quality_checker.py +1696 -0
  206. package/core/shared/skills/do-code-review/scripts/doc_quality_checker.py +532 -0
  207. package/core/shared/skills/do-code-review/scripts/pr_analyzer.py +620 -0
  208. package/core/shared/skills/do-code-review/scripts/review_report_generator.py +505 -0
  209. package/core/shared/skills/do-constitution/SKILL.md +72 -0
  210. package/core/shared/skills/do-design/SKILL.md +212 -0
  211. package/core/shared/skills/do-diagnose/SKILL.md +156 -0
  212. package/core/shared/skills/do-diagnose/references/code_audit.md +15 -0
  213. package/core/shared/skills/do-diagnose/references/refactoring.md +12 -0
  214. package/core/shared/skills/do-diagnose/references/root_cause.md +17 -0
  215. package/core/shared/skills/do-document/SKILL.md +81 -0
  216. package/core/shared/skills/do-document/references/api-reference.md +42 -0
  217. package/core/shared/skills/do-document/references/deep_research.md +18 -0
  218. package/core/shared/skills/do-document/references/embedded-research.md +11 -0
  219. package/core/shared/skills/do-document/references/implementation-flow.md +105 -0
  220. package/core/shared/skills/do-document/references/index_generator.md +9 -0
  221. package/core/shared/skills/do-document/references/user-guide.md +22 -0
  222. package/core/shared/skills/do-execute-plan/SKILL.md +261 -0
  223. package/core/shared/skills/do-execute-plan/references/handoff_record.md +57 -0
  224. package/core/shared/skills/do-execute-plan/references/parallel_dispatch.md +92 -0
  225. package/core/shared/skills/do-execute-plan/references/readiness_gate.md +155 -0
  226. package/core/shared/skills/do-execute-plan/references/run_position.md +63 -0
  227. package/core/shared/skills/do-execute-plan/references/scaffold.md +441 -0
  228. package/core/shared/skills/do-execute-plan/references/task_attempts.md +41 -0
  229. package/core/shared/skills/do-flow/SKILL.md +186 -0
  230. package/core/shared/skills/do-flow/references/task_classes.md +134 -0
  231. package/core/shared/skills/do-git/SKILL.md +115 -0
  232. package/core/shared/skills/do-git/references/hotfix-ritual.md +44 -0
  233. package/core/shared/skills/do-git/references/lifecycle-policy.md +54 -0
  234. package/core/shared/skills/do-git/references/release-ritual.md +64 -0
  235. package/core/shared/skills/do-implement/SKILL.md +222 -0
  236. package/core/shared/skills/do-plan/SKILL.md +219 -0
  237. package/core/shared/skills/do-test/SKILL.md +113 -0
  238. package/core/shared/templates/doflow/constitution-template.md +28 -0
  239. package/core/shared/templates/doflow/data-model-template.md +169 -0
  240. package/core/shared/templates/doflow/design-template.md +193 -0
  241. package/core/shared/templates/doflow/external-contract-template.md +35 -0
  242. package/core/shared/templates/doflow/intent-template.md +45 -0
  243. package/core/shared/templates/doflow/plan-template.md +151 -0
  244. package/core/shared/templates/doflow/question-log-template.md +51 -0
  245. package/core/shared/templates/doflow/requirement-template.md +126 -0
  246. package/core/shared/templates/doflow/specs-template.md +55 -0
  247. package/core/shared/templates/doflow/state-template.md +59 -0
  248. package/core/shared/workflows/do-flow-chain.md +17 -0
  249. package/package.json +46 -4
  250. package/src/adapters/antigravity/index.ts +631 -0
  251. package/src/adapters/claude/index.ts +548 -0
  252. package/src/adapters/claude/mcp.ts +94 -0
  253. package/src/adapters/codex/agents.ts +208 -0
  254. package/src/adapters/codex/config.ts +272 -0
  255. package/src/adapters/codex/hooks.ts +203 -0
  256. package/src/adapters/codex/index.ts +707 -0
  257. package/src/adapters/codex/mcp.ts +271 -0
  258. package/src/adapters/codex/native-projection.ts +34 -0
  259. package/src/adapters/copilot/index.ts +413 -0
  260. package/src/adapters/copy-tree.ts +620 -0
  261. package/src/adapters/gemini/hooks.ts +210 -0
  262. package/src/adapters/gemini/index.ts +390 -0
  263. package/src/adapters/hook-commands.ts +60 -0
  264. package/src/adapters/index.ts +106 -0
  265. package/src/adapters/kiro/index.ts +310 -0
  266. package/src/adapters/mcp-entries.ts +331 -0
  267. package/src/adapters/opencode/index.ts +466 -0
  268. package/src/adapters/pi/index.ts +279 -0
  269. package/src/adapters/pi/json-members.ts +185 -0
  270. package/src/adapters/pi/mcp.ts +373 -0
  271. package/src/adapters/resolve-source.ts +19 -0
  272. package/src/cli/commands/install.ts +218 -0
  273. package/src/cli/commands/list-backups.ts +21 -0
  274. package/src/cli/commands/reconcile.ts +120 -0
  275. package/src/cli/commands/remove.ts +82 -0
  276. package/src/cli/commands/rollback.ts +172 -0
  277. package/src/cli/commands/self-update.ts +33 -0
  278. package/src/cli/commands/status.ts +138 -0
  279. package/src/cli/commands/tools.ts +92 -0
  280. package/src/cli/commands/update.ts +162 -0
  281. package/src/cli/index.ts +568 -0
  282. package/src/cli/runtime-commands.ts +281 -0
  283. package/src/cli/shared.ts +218 -0
  284. package/src/helper/bash-helper.ts +34 -0
  285. package/src/helper/git.ts +24 -0
  286. package/src/helper/guardrails.ts +49 -0
  287. package/src/helper/harness-paths.ts +140 -0
  288. package/src/helper/marker-merge.ts +116 -0
  289. package/src/helper/prompt.ts +61 -0
  290. package/src/helper/repo-root.ts +29 -0
  291. package/src/helper/settings-merge.ts +151 -0
  292. package/src/helper/settings-scope.ts +33 -0
  293. package/src/helper/toml.ts +244 -0
  294. package/src/install/backup-set.ts +149 -0
  295. package/src/install/backup.ts +724 -0
  296. package/src/install/context.ts +58 -0
  297. package/src/install/manifest.ts +145 -0
  298. package/src/install/mcp.ts +254 -0
  299. package/src/install/paths.ts +84 -0
  300. package/src/install/targets.ts +90 -0
  301. package/src/install/tool-lifecycle.ts +151 -0
  302. package/src/lifecycle/bash-availability.ts +25 -0
  303. package/src/lifecycle/index.ts +812 -0
  304. package/src/lifecycle/mcp-index.ts +28 -0
  305. package/src/lifecycle/policies.ts +73 -0
  306. package/src/lifecycle/view.ts +175 -0
  307. package/src/registry/index.ts +611 -0
  308. package/src/release/sync-plugin-versions.ts +66 -0
  309. package/src/runtime/advice/cli.ts +283 -0
  310. package/src/runtime/advice/client.ts +324 -0
  311. package/src/runtime/advice/config.ts +189 -0
  312. package/src/runtime/advice/doctor.ts +169 -0
  313. package/src/runtime/advice/endpoint-guard.ts +134 -0
  314. package/src/runtime/advice/kinds.ts +154 -0
  315. package/src/runtime/advice/providers/ollama-systemone.ts +209 -0
  316. package/src/runtime/advice/record.ts +166 -0
  317. package/src/runtime/advice/registry.ts +170 -0
  318. package/src/runtime/advice/strength.ts +66 -0
  319. package/src/runtime/brief-tools.ts +342 -0
  320. package/src/runtime/c4-project.ts +371 -0
  321. package/src/runtime/capability-router.ts +484 -0
  322. package/src/runtime/checkouts.ts +170 -0
  323. package/src/runtime/claims.ts +468 -0
  324. package/src/runtime/cli-result.ts +55 -0
  325. package/src/runtime/cli.ts +678 -0
  326. package/src/runtime/command-detect.ts +516 -0
  327. package/src/runtime/context-pack.ts +492 -0
  328. package/src/runtime/decision-register.ts +493 -0
  329. package/src/runtime/evidence-ledger.ts +338 -0
  330. package/src/runtime/failure/capture.ts +272 -0
  331. package/src/runtime/failure/classifier.ts +68 -0
  332. package/src/runtime/failure/cli.ts +178 -0
  333. package/src/runtime/failure/home.ts +64 -0
  334. package/src/runtime/failure/store.ts +226 -0
  335. package/src/runtime/feature-resolve.ts +79 -0
  336. package/src/runtime/freshness.ts +177 -0
  337. package/src/runtime/health.ts +863 -0
  338. package/src/runtime/history-compactor.ts +237 -0
  339. package/src/runtime/implementation-gate.ts +321 -0
  340. package/src/runtime/inventory/coverage.ts +218 -0
  341. package/src/runtime/inventory/identity.ts +65 -0
  342. package/src/runtime/inventory/index.ts +705 -0
  343. package/src/runtime/inventory/precedence.ts +134 -0
  344. package/src/runtime/inventory/read-scopes.ts +131 -0
  345. package/src/runtime/inventory/siblings.ts +192 -0
  346. package/src/runtime/knowledge/chunker.ts +124 -0
  347. package/src/runtime/knowledge/hybrid.ts +149 -0
  348. package/src/runtime/knowledge/index-store.ts +145 -0
  349. package/src/runtime/knowledge/retrieval.ts +194 -0
  350. package/src/runtime/leak-scan.ts +185 -0
  351. package/src/runtime/lifecycle/cli.ts +276 -0
  352. package/src/runtime/lifecycle/event-store.ts +340 -0
  353. package/src/runtime/lifecycle/fold.ts +353 -0
  354. package/src/runtime/lifecycle/followup.ts +432 -0
  355. package/src/runtime/lifecycle/goal.ts +249 -0
  356. package/src/runtime/lifecycle/intent-writer.ts +86 -0
  357. package/src/runtime/lifecycle/overview.ts +292 -0
  358. package/src/runtime/lifecycle/release.ts +241 -0
  359. package/src/runtime/lifecycle/report-store.ts +221 -0
  360. package/src/runtime/lifecycle/retention.ts +212 -0
  361. package/src/runtime/lifecycle/root.ts +71 -0
  362. package/src/runtime/lifecycle/status.ts +353 -0
  363. package/src/runtime/lifecycle/store-upkeep.ts +393 -0
  364. package/src/runtime/locator-resolve.ts +158 -0
  365. package/src/runtime/mask.ts +210 -0
  366. package/src/runtime/mcp-consultations.ts +412 -0
  367. package/src/runtime/mcp-reach.ts +157 -0
  368. package/src/runtime/model-router.ts +153 -0
  369. package/src/runtime/outcome.ts +467 -0
  370. package/src/runtime/reach.ts +148 -0
  371. package/src/runtime/readiness-record.ts +150 -0
  372. package/src/runtime/readiness.ts +435 -0
  373. package/src/runtime/recovery.ts +282 -0
  374. package/src/runtime/research-request.ts +231 -0
  375. package/src/runtime/retrieval-plan.ts +578 -0
  376. package/src/runtime/scaffold/artifacts.ts +217 -0
  377. package/src/runtime/scaffold/fingerprint.ts +56 -0
  378. package/src/runtime/scaffold/generate.ts +911 -0
  379. package/src/runtime/scaffold/languages.ts +245 -0
  380. package/src/runtime/storage/cli.ts +64 -0
  381. package/src/runtime/storage/engine.ts +249 -0
  382. package/src/runtime/storage/registry.ts +130 -0
  383. package/src/runtime/storage/roots.ts +63 -0
  384. package/src/runtime/storage/rules.ts +282 -0
  385. package/src/runtime/storage/upkeep.ts +243 -0
  386. package/src/runtime/storage/work-status.ts +326 -0
  387. package/src/runtime/task-attempts.ts +415 -0
  388. package/src/runtime/task-classifier.ts +550 -0
  389. package/src/runtime/task-scope.ts +130 -0
  390. package/src/runtime/task-state.ts +176 -0
  391. package/src/runtime/trace/indicators.ts +235 -0
  392. package/src/runtime/trace/ledger.ts +626 -0
  393. package/src/runtime/trace/render.ts +76 -0
  394. package/src/runtime/trace/views.ts +459 -0
  395. package/src/runtime/verification/contract-runner.ts +341 -0
  396. package/src/runtime/verification/engine.ts +1461 -0
  397. package/src/runtime/verification/registry.ts +130 -0
  398. package/src/runtime/verification/scope-bound.ts +418 -0
  399. package/src/runtime/verification/test-selection.ts +172 -0
  400. package/src/runtime/workflow-engine.ts +588 -0
  401. package/src/runtime/workflow-orchestrator.ts +953 -0
  402. package/src/runtime/worktree.ts +340 -0
  403. package/src/state/index.ts +193 -0
  404. package/src/state/lockfile.ts +136 -0
  405. package/src/state/run-lock.ts +408 -0
  406. package/types/node-commonjs.d.ts +68 -0
  407. package/types/runtime.d.ts +91 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Khoa Vu Dang
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,133 @@
1
- # Temporary Holding Version
1
+ # DoFlow
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ DoFlow is a configuration layer for AI coding tools. It gives Claude Code, Codex, Gemini /
4
+ Antigravity, OpenCode, Pi, GitHub Copilot CLI, and Kiro a shared set of engineering rules, reusable
5
+ workflows, and safer defaults — projected from one source, so the eight never drift apart.
6
+
7
+ ```mermaid
8
+ flowchart LR
9
+ R[One DoFlow source] --> C[Claude Code]
10
+ R --> X[Codex]
11
+ R --> G[Gemini CLI]
12
+ R --> O[OpenCode]
13
+ R --> P[Pi]
14
+ R --> CP[Copilot CLI]
15
+ R --> K[Kiro]
16
+ R --> A[Antigravity CLI]
17
+ C --> H[Hooks + MCP + skills]
18
+ X --> S[AGENTS.md + skills]
19
+ G --> GM[GEMINI.md + skills]
20
+ A --> AG[AGENTS.md + .agents tree]
21
+ O --> S
22
+ P --> S
23
+ CP --> CI[copilot-instructions.md + skills]
24
+ K --> ST[Steering + skills]
25
+ ```
26
+
27
+ ## What it provides
28
+
29
+ | Need | DoFlow component |
30
+ |---|---|
31
+ | Repeatable delivery work | 13 skills, including `/do-brainstorm`, `/do-plan`, `/do-test`, and `/do-code-review` |
32
+ | Specialist review | 5 agents — `spec-analyst`, `system-architect`, `core-implementer`, `quality-guardian`, `research-writer` |
33
+ | Safer automation | Claude hooks block destructive commands and unfinished implementation stubs |
34
+ | Shared standards | Rules for safety, workflow, quality, and clarification across supported tools |
35
+ | Session continuity | Claude and Codex hooks capture lightweight Git context and compact-session summaries and deliver them on a session's first prompt |
36
+
37
+ ## Start here
38
+
39
+ 1. **New to DoFlow?** Follow the [Quickstart](docs/quickstart.md).
40
+ 2. **Need installation, updates, or rollback?** Use the [Setup guide](docs/setup.md).
41
+ 3. **Want to understand the moving parts?** Read the visual [Overview](docs/overview.md).
42
+ 4. **Ready to work?** Pick a task pattern from the [Guide](docs/guide.md).
43
+ 5. **Looking up a command or capability?** Open the [Reference](docs/reference.md).
44
+
45
+ ## Install with the CLI
46
+
47
+ Use the maintained installer when you want one source deployed to one or more tools. Nothing to
48
+ clone — run it straight from npm:
49
+
50
+ ```bash
51
+ # Inspect the plan first, then install globally.
52
+ npx @khoavu882/doflow install --dry-run -g
53
+ npx @khoavu882/doflow install -g --target claude,codex
54
+ ```
55
+
56
+ To work on DoFlow itself, or to pin an installation to a checkout you control, link the repo
57
+ instead — `doflow` then resolves to your working tree:
58
+
59
+ ```bash
60
+ git clone git@github.com:khoavu882/do-flow.git ~/do-flow
61
+ cd ~/do-flow
62
+ npm link
63
+ doflow install --dry-run -g
64
+ ```
65
+
66
+ The package is published under the `@khoavu882` scope; the unscoped `doflow` name on npm belongs
67
+ to an unrelated project.
68
+
69
+ `doflow install` creates a backup before changing configuration. The complete command reference,
70
+ including project-scoped installation and rollback, is in [Setup](docs/setup.md).
71
+
72
+ ## External tools
73
+
74
+ DoFlow can inspect or manage the supported RTK and Graphify command-line tools on macOS and Linux:
75
+
76
+ ```bash
77
+ doflow tools --tool rtk,graphify --action status
78
+ doflow tools --tool graphify --action install --dry-run --json
79
+ ```
80
+
81
+ `install`, `update`, and `uninstall` display and require confirmation for every command; `--force`
82
+ is intentionally rejected. Graphify uses `uv` and DoFlow explains a missing `uv` prerequisite
83
+ without installing it. RTK update is reported as skipped because no verified upstream update command
84
+ is registered.
85
+
86
+ ## A typical feature flow
87
+
88
+ ```mermaid
89
+ flowchart LR
90
+ B[Brainstorm] --> D[Design]
91
+ D --> P[Plan]
92
+ P --> E[Execute]
93
+ E --> T[Test]
94
+ T --> R[Review]
95
+ ```
96
+
97
+ ```text
98
+ /do-brainstorm "add a customer export"
99
+ /do-design
100
+ /do-plan
101
+ /do-execute-plan --scope next
102
+ /do-test
103
+ /do-code-review
104
+ ```
105
+
106
+ Use `/do-flow "add a customer export"` to run the same sequence with its approval gates.
107
+
108
+ ## Tool support
109
+
110
+ | Tool | Installed capabilities |
111
+ |---|---|
112
+ | Claude Code | Full integration: skills, agents, hooks, MCP registration, session context, and rules |
113
+ | Codex | `AGENTS.md`, skills at `.agents/skills/`, scripts, templates, rules, agents, hooks, and references |
114
+ | Gemini CLI | `GEMINI.md`, rules, agents, modes, skills, hooks, and references |
115
+ | Antigravity CLI (`agy`) | Managed `AGENTS.md` section (project), skills at `.agents/skills/`, shared agents, workspace rules at `.agents/rules/`, the spec-driven chain workflow shim, the pre-implementation-gate hook (`.agents/hooks.json`), and MCP in `.agents/mcp_config.json` / `~/.gemini/config/mcp_config.json` |
116
+ | OpenCode | `AGENTS.md`, skills discovered at `.opencode/skills/` (project) or `~/.config/opencode/skills/` (global), and `opencode.json` configuration |
117
+ | Pi Coding Agent | `AGENTS.md`, skills discovered at `.pi/skills/` (project) or `~/.pi/agent/skills/` (global), and MCP servers in `.pi/mcp.json` (project) or `~/.pi/agent/mcp.json` (global) |
118
+ | GitHub Copilot CLI | `.github/copilot-instructions.md` (project scope only), skills at `.agents/skills/`, agents at `.github/agents/`, and MCP registered in `.mcp.json` |
119
+ | Kiro | Steering files under `.kiro/steering/`, skills at `.kiro/skills/`, agents at `.kiro/agents/`, hooks at `.kiro/hooks/`, and MCP registered in `.kiro/settings/mcp.json` |
120
+
121
+ Codex hooks are installed as `hooks.json` but require review/trust in Codex before they run.
122
+ Gemini hooks merge into a `hooks` key inside `settings.json` (never a full-file replace) and are
123
+ similarly subject to Gemini's own hook trust/review gating. Kiro's hooks are not in Kiro v3's
124
+ untrusted-workspace exclusion list; an untrusted workspace asks before every shell command, and
125
+ whether that covers hook commands is undocumented. Copilot CLI documents hooks, settings, and a
126
+ plugin marketplace upstream; DoFlow still installs none of those there. OpenCode and Pi
127
+ standard-adopt `AGENTS.md` for seamless zero-drift rule projection. See `docs/capability-map.md`
128
+ and the [installation matrix](docs/setup.md#what-gets-installed) for the exact mapping.
129
+
130
+ ## Contributing
131
+
132
+ The repository layout and deployment model are documented in the [Architecture guide](docs/architecture.md).
133
+ Run `npm test` and the shell suites described there before submitting changes.
package/bin/doflow.js ADDED
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+ // doflow — DoFlow config installer CLI. Argument parsing, the installer command table and every
4
+ // command handler live in src/cli/ (see docs/architecture.md); this file is only the forwarder
5
+ // so the `doflow` binary path and the doflow-run dispatcher seam
6
+ // (core/shared/scripts/doflow/bin/doflow-run, which execs `node <repoRoot>/bin/doflow.js`)
7
+ // keep resolving to this exact location.
8
+ // Refuse clearly on a Node that cannot strip types: src/ is TypeScript, and without stripping
9
+ // loading a .ts module dies with a SyntaxError on the first annotation. Stripping is on by
10
+ // default from Node 22.18.0 / 23.6.0 and off under --no-experimental-strip-types; the range stops at
11
+ // 24.3.0 because 23.6 to 24.2 print an ExperimentalWarning on every .ts load. This file stays
12
+ // plain JavaScript so it can say so. Exit 2 is the doflow-run usage/resolution-error code.
13
+ if (!process.features || !process.features.typescript) {
14
+ process.stderr.write(`doflow: Node ${process.versions.node} cannot strip TypeScript types; doflow needs Node ^22.18.0 || >=24.3.0 with type-stripping enabled (it is off under --no-experimental-strip-types, including via NODE_OPTIONS).\n`);
15
+ process.exit(2);
16
+ }
17
+ // Enable Node's module compile cache before any ../src require. Type stripping makes the first load
18
+ // of each .ts module cost a transform; the cache turns that into a one-time cost per Node version
19
+ // and file content. Called without options so an explicit NODE_COMPILE_CACHE directory is honoured
20
+ // and NODE_DISABLE_COMPILE_CACHE still disables it. Best-effort: where the API is missing (older
21
+ // Node) or throws, the CLI runs at today's speed.
22
+ const nodeModule = require('node:module');
23
+ if (typeof nodeModule.enableCompileCache === 'function') {
24
+ try { nodeModule.enableCompileCache(); } catch { /* best-effort */ }
25
+ }
26
+ // Record an error that escapes everything, including one thrown while the CLI loads (a half-updated
27
+ // install), before it is loaded (IC-016). The monitor only observes: Node's own crash output and
28
+ // exit status are unchanged, and a monitor that threw would change that status to 7, hence the
29
+ // try/catch around both the registration and the body. If the writer cannot load, nothing is
30
+ // registered and the CLI runs as it always has. `cli` stays null until the CLI has loaded, so an
31
+ // error thrown while it loads is recorded under the command name `unknown`.
32
+ let cli = null;
33
+ try {
34
+ const { captureError } = require('../src/runtime/failure/capture.ts');
35
+ process.on('uncaughtExceptionMonitor', (error) => {
36
+ try {
37
+ const argv = process.argv.slice(2);
38
+ const command = cli ? cli.commandName(argv.find((a) => !a.startsWith('-'))) : 'unknown';
39
+ captureError(error, { command, exit: 1, uncaught: true });
40
+ } catch { /* best-effort */ }
41
+ });
42
+ } catch { /* best-effort */ }
43
+ cli = require('../src/cli/index.ts');
44
+ cli.main(process.argv.slice(2));
@@ -0,0 +1,39 @@
1
+ {
2
+ "description": "DoFlow lifecycle hooks for Google Antigravity (IDE & CLI). Uses stdin/stdout JSON protocol for real-time gating.",
3
+ "hooks": {
4
+ "SessionStart": [
5
+ {
6
+ "type": "command",
7
+ "command": "bash \"$DOFLOW_PROJECT_DIR/.gemini/hooks/session-start.sh\""
8
+ }
9
+ ],
10
+ "PreToolUse": [
11
+ {
12
+ "matcher": "^(run_command|replace_file_content|write_to_file|multi_replace_file_content)$",
13
+ "hooks": [
14
+ {
15
+ "type": "command",
16
+ "command": "node \"$DOFLOW_PROJECT_DIR/.doflow/scripts/stream-hook-runner.js\""
17
+ }
18
+ ]
19
+ }
20
+ ],
21
+ "PostToolUse": [
22
+ {
23
+ "matcher": "^(replace_file_content|write_to_file|multi_replace_file_content)$",
24
+ "hooks": [
25
+ {
26
+ "type": "command",
27
+ "command": "bash \"$DOFLOW_PROJECT_DIR/.gemini/hooks/post-edit-lint.sh\""
28
+ }
29
+ ]
30
+ }
31
+ ],
32
+ "Stop": [
33
+ {
34
+ "type": "command",
35
+ "command": "bash \"$DOFLOW_PROJECT_DIR/.gemini/hooks/stop-check.sh\""
36
+ }
37
+ ]
38
+ }
39
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "mcpServers": {
3
+ "context7": {
4
+ "command": "npx",
5
+ "args": [
6
+ "-y",
7
+ "@upstash/context7-mcp"
8
+ ]
9
+ },
10
+ "sequential-thinking": {
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "@modelcontextprotocol/server-sequential-thinking"
15
+ ]
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "doflow",
3
+ "version": "1.0.0",
4
+ "description": "Spec-driven engineering workflow engine, quality gates, and specialist agent personas for Google Antigravity and Gemini.",
5
+ "author": {
6
+ "name": "DoFlow",
7
+ "url": "https://github.com/khoavu882/do-flow"
8
+ },
9
+ "homepage": "https://github.com/khoavu882/do-flow",
10
+ "repository": "https://github.com/khoavu882/do-flow",
11
+ "license": "MIT",
12
+ "keywords": [
13
+ "antigravity",
14
+ "gemini",
15
+ "engineering",
16
+ "workflows",
17
+ "quality-gates",
18
+ "spec-driven"
19
+ ],
20
+ "skills": [
21
+ "../../core/shared/skills/"
22
+ ],
23
+ "rules": [
24
+ "../../core/shared/guidance/rules/"
25
+ ],
26
+ "agents": [
27
+ "../../core/shared/agent-specs/"
28
+ ],
29
+ "hooks": "./hooks.json",
30
+ "mcp": "./mcp_config.json"
31
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
3
+ "name": "doflow",
4
+ "description": "Engineering workflows, quality gates, and specialist guidance for Claude Code.",
5
+ "owner": {
6
+ "name": "DoFlow"
7
+ },
8
+ "plugins": [
9
+ {
10
+ "name": "doflow",
11
+ "description": "Reusable engineering workflows, quality gates, and specialist guidance for Claude Code.",
12
+ "author": {
13
+ "name": "DoFlow"
14
+ },
15
+ "category": "development",
16
+ "source": ".",
17
+ "homepage": "https://github.com/khoavu882/do-flow"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "doflow",
3
+ "version": "2.0.0-beta.3",
4
+ "description": "Reusable engineering workflows, quality gates, and specialist guidance for Claude Code.",
5
+ "author": {
6
+ "name": "DoFlow"
7
+ },
8
+ "license": "MIT",
9
+ "keywords": [
10
+ "engineering",
11
+ "workflows",
12
+ "quality",
13
+ "claude-code"
14
+ ],
15
+ "skills": [
16
+ "./shared/skills/"
17
+ ],
18
+ "agents": [
19
+ "./shared/agent-specs/"
20
+ ]
21
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "doflow",
3
+ "interface": {
4
+ "displayName": "DoFlow"
5
+ },
6
+ "plugins": [
7
+ {
8
+ "name": "doflow",
9
+ "source": {
10
+ "source": "local",
11
+ "path": "../../core"
12
+ },
13
+ "policy": {
14
+ "installation": "AVAILABLE",
15
+ "authentication": "ON_INSTALL"
16
+ },
17
+ "category": "Productivity"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "doflow",
3
+ "version": "2.0.0-beta.3",
4
+ "description": "Reusable engineering workflows, quality gates, and specialist guidance for Codex.",
5
+ "author": {
6
+ "name": "DoFlow",
7
+ "url": "https://github.com/khoavu882/do-flow"
8
+ },
9
+ "homepage": "https://github.com/khoavu882/do-flow",
10
+ "repository": "https://github.com/khoavu882/do-flow",
11
+ "license": "MIT",
12
+ "keywords": [
13
+ "engineering",
14
+ "workflows",
15
+ "quality",
16
+ "codex"
17
+ ],
18
+ "skills": "./shared/skills/",
19
+ "interface": {
20
+ "displayName": "DoFlow",
21
+ "shortDescription": "Engineering workflows and quality gates for Codex.",
22
+ "longDescription": "Reusable skills for implementation, review, testing, research, and disciplined engineering workflows.",
23
+ "developerName": "DoFlow",
24
+ "category": "Productivity",
25
+ "capabilities": [
26
+ "Interactive",
27
+ "Write"
28
+ ],
29
+ "defaultPrompt": [
30
+ "Use DoFlow to review this change.",
31
+ "Use DoFlow to implement this feature safely.",
32
+ "Use DoFlow to create a focused test plan."
33
+ ]
34
+ }
35
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "doflow",
3
+ "version": "2.0.0-beta.3",
4
+ "description": "Reusable engineering workflows, quality gates, and specialist guidance for GitHub Copilot CLI.",
5
+ "author": {
6
+ "name": "DoFlow",
7
+ "url": "https://github.com/khoavu882/do-flow"
8
+ },
9
+ "homepage": "https://github.com/khoavu882/do-flow",
10
+ "repository": "https://github.com/khoavu882/do-flow",
11
+ "license": "MIT",
12
+ "keywords": [
13
+ "engineering",
14
+ "workflows",
15
+ "quality",
16
+ "copilot"
17
+ ],
18
+ "skills": "./shared/skills/"
19
+ }
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env bash
2
+ # Antigravity front door: delegates the pre-implementation-gate decision to the
3
+ # Canonical Policy Library via the Cross-Harness Hook Runner (design.md C2),
4
+ # which owns Antigravity's native JSON stdin/stdout translation
5
+ # (adapters/antigravity.js) — this file no longer implements the gate logic or
6
+ # the translation itself, both of which moved to the shared runtime.
7
+ set -uo pipefail
8
+ export DOFLOW_AGENT="${DOFLOW_AGENT:-antigravity}"
9
+ exec node "$(dirname "$0")/../../.doflow/shared/hooks/stream-hook-runner.js" PreToolUse
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env bash
2
+ # Antigravity front door: delegates the stop-check decision to the Canonical
3
+ # Policy Library via the Cross-Harness Hook Runner (design.md C2), which owns
4
+ # Antigravity's native JSON stdin/stdout translation (adapters/antigravity.js,
5
+ # including its fail-open "silence lets the session end" Stop contract) — this
6
+ # file no longer implements the check or the translation itself, both of which
7
+ # moved to the shared runtime.
8
+ set -uo pipefail
9
+ export DOFLOW_AGENT="${DOFLOW_AGENT:-antigravity}"
10
+ exec node "$(dirname "$0")/../../.doflow/shared/hooks/stream-hook-runner.js" Stop