oh-my-codex 0.7.5 → 0.8.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 (374) hide show
  1. package/README.de.md +314 -0
  2. package/README.es.md +295 -17
  3. package/README.fr.md +314 -0
  4. package/README.it.md +314 -0
  5. package/README.ja.md +296 -18
  6. package/README.ko.md +295 -17
  7. package/README.md +68 -3
  8. package/README.pt.md +295 -17
  9. package/README.ru.md +295 -17
  10. package/README.tr.md +314 -0
  11. package/README.vi.md +296 -18
  12. package/README.zh.md +292 -17
  13. package/dist/catalog/__tests__/generator.test.js +2 -0
  14. package/dist/catalog/__tests__/generator.test.js.map +1 -1
  15. package/dist/catalog/__tests__/schema.test.js +7 -0
  16. package/dist/catalog/__tests__/schema.test.js.map +1 -1
  17. package/dist/cli/__tests__/ask.test.d.ts +2 -0
  18. package/dist/cli/__tests__/ask.test.d.ts.map +1 -0
  19. package/dist/cli/__tests__/ask.test.js +236 -0
  20. package/dist/cli/__tests__/ask.test.js.map +1 -0
  21. package/dist/cli/__tests__/doctor-warning-copy.test.d.ts +2 -0
  22. package/dist/cli/__tests__/doctor-warning-copy.test.d.ts.map +1 -0
  23. package/dist/cli/__tests__/doctor-warning-copy.test.js +45 -0
  24. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -0
  25. package/dist/cli/__tests__/index.test.js +43 -1
  26. package/dist/cli/__tests__/index.test.js.map +1 -1
  27. package/dist/cli/__tests__/ralph-prd-deep-interview.test.d.ts +2 -0
  28. package/dist/cli/__tests__/ralph-prd-deep-interview.test.d.ts.map +1 -0
  29. package/dist/cli/__tests__/ralph-prd-deep-interview.test.js +15 -0
  30. package/dist/cli/__tests__/ralph-prd-deep-interview.test.js.map +1 -0
  31. package/dist/cli/__tests__/ralph.test.d.ts +2 -0
  32. package/dist/cli/__tests__/ralph.test.d.ts.map +1 -0
  33. package/dist/cli/__tests__/ralph.test.js +40 -0
  34. package/dist/cli/__tests__/ralph.test.js.map +1 -0
  35. package/dist/cli/__tests__/setup-scope.test.js +2 -0
  36. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  37. package/dist/cli/__tests__/team-decompose.test.d.ts +2 -0
  38. package/dist/cli/__tests__/team-decompose.test.d.ts.map +1 -0
  39. package/dist/cli/__tests__/team-decompose.test.js +67 -0
  40. package/dist/cli/__tests__/team-decompose.test.js.map +1 -0
  41. package/dist/cli/__tests__/version.test.d.ts +2 -0
  42. package/dist/cli/__tests__/version.test.d.ts.map +1 -0
  43. package/dist/cli/__tests__/version.test.js +21 -0
  44. package/dist/cli/__tests__/version.test.js.map +1 -0
  45. package/dist/cli/ask.d.ts +13 -0
  46. package/dist/cli/ask.d.ts.map +1 -0
  47. package/dist/cli/ask.js +174 -0
  48. package/dist/cli/ask.js.map +1 -0
  49. package/dist/cli/constants.d.ts +10 -0
  50. package/dist/cli/constants.d.ts.map +1 -0
  51. package/dist/cli/constants.js +10 -0
  52. package/dist/cli/constants.js.map +1 -0
  53. package/dist/cli/doctor.js +16 -5
  54. package/dist/cli/doctor.js.map +1 -1
  55. package/dist/cli/index.d.ts +7 -1
  56. package/dist/cli/index.d.ts.map +1 -1
  57. package/dist/cli/index.js +117 -43
  58. package/dist/cli/index.js.map +1 -1
  59. package/dist/cli/ralph.d.ts +4 -0
  60. package/dist/cli/ralph.d.ts.map +1 -1
  61. package/dist/cli/ralph.js +89 -13
  62. package/dist/cli/ralph.js.map +1 -1
  63. package/dist/cli/setup.js +1 -1
  64. package/dist/cli/setup.js.map +1 -1
  65. package/dist/cli/team.d.ts +18 -0
  66. package/dist/cli/team.d.ts.map +1 -1
  67. package/dist/cli/team.js +108 -16
  68. package/dist/cli/team.js.map +1 -1
  69. package/dist/config/generator.d.ts.map +1 -1
  70. package/dist/config/generator.js +8 -0
  71. package/dist/config/generator.js.map +1 -1
  72. package/dist/hooks/__tests__/deep-interview-contract.test.d.ts +2 -0
  73. package/dist/hooks/__tests__/deep-interview-contract.test.d.ts.map +1 -0
  74. package/dist/hooks/__tests__/deep-interview-contract.test.js +55 -0
  75. package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -0
  76. package/dist/hooks/__tests__/emulator.test.js +6 -0
  77. package/dist/hooks/__tests__/emulator.test.js.map +1 -1
  78. package/dist/hooks/__tests__/keyword-detector.test.js +44 -22
  79. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  80. package/dist/hooks/__tests__/notify-hook-session-scope.test.js +59 -0
  81. package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
  82. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +88 -0
  83. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
  84. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +199 -0
  85. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  86. package/dist/hooks/__tests__/notify-hook-visual-verdict.test.d.ts +11 -0
  87. package/dist/hooks/__tests__/notify-hook-visual-verdict.test.d.ts.map +1 -0
  88. package/dist/hooks/__tests__/notify-hook-visual-verdict.test.js +266 -0
  89. package/dist/hooks/__tests__/notify-hook-visual-verdict.test.js.map +1 -0
  90. package/dist/hooks/__tests__/openclaw-setup-contract.test.d.ts +2 -0
  91. package/dist/hooks/__tests__/openclaw-setup-contract.test.d.ts.map +1 -0
  92. package/dist/hooks/__tests__/openclaw-setup-contract.test.js +51 -0
  93. package/dist/hooks/__tests__/openclaw-setup-contract.test.js.map +1 -0
  94. package/dist/hooks/__tests__/pre-context-gate-skills.test.d.ts +2 -0
  95. package/dist/hooks/__tests__/pre-context-gate-skills.test.d.ts.map +1 -0
  96. package/dist/hooks/__tests__/pre-context-gate-skills.test.js +34 -0
  97. package/dist/hooks/__tests__/pre-context-gate-skills.test.js.map +1 -0
  98. package/dist/hooks/__tests__/tmux-hook-engine.test.js +36 -1
  99. package/dist/hooks/__tests__/tmux-hook-engine.test.js.map +1 -1
  100. package/dist/hooks/__tests__/visual-verdict-loop.test.d.ts +2 -0
  101. package/dist/hooks/__tests__/visual-verdict-loop.test.d.ts.map +1 -0
  102. package/dist/hooks/__tests__/visual-verdict-loop.test.js +35 -0
  103. package/dist/hooks/__tests__/visual-verdict-loop.test.js.map +1 -0
  104. package/dist/hooks/agents-overlay.d.ts.map +1 -1
  105. package/dist/hooks/agents-overlay.js +18 -16
  106. package/dist/hooks/agents-overlay.js.map +1 -1
  107. package/dist/hooks/codebase-map.d.ts.map +1 -1
  108. package/dist/hooks/codebase-map.js +6 -2
  109. package/dist/hooks/codebase-map.js.map +1 -1
  110. package/dist/hooks/emulator.d.ts.map +1 -1
  111. package/dist/hooks/emulator.js +2 -0
  112. package/dist/hooks/emulator.js.map +1 -1
  113. package/dist/hooks/extensibility/sdk.d.ts.map +1 -1
  114. package/dist/hooks/extensibility/sdk.js +2 -1
  115. package/dist/hooks/extensibility/sdk.js.map +1 -1
  116. package/dist/hooks/keyword-registry.d.ts.map +1 -1
  117. package/dist/hooks/keyword-registry.js +6 -0
  118. package/dist/hooks/keyword-registry.js.map +1 -1
  119. package/dist/hud/index.d.ts.map +1 -1
  120. package/dist/hud/index.js +2 -24
  121. package/dist/hud/index.js.map +1 -1
  122. package/dist/mcp/__tests__/team-server-cleanup.test.d.ts +2 -0
  123. package/dist/mcp/__tests__/team-server-cleanup.test.d.ts.map +1 -0
  124. package/dist/mcp/__tests__/team-server-cleanup.test.js +219 -0
  125. package/dist/mcp/__tests__/team-server-cleanup.test.js.map +1 -0
  126. package/dist/mcp/bootstrap.d.ts +1 -1
  127. package/dist/mcp/bootstrap.d.ts.map +1 -1
  128. package/dist/mcp/bootstrap.js +1 -0
  129. package/dist/mcp/bootstrap.js.map +1 -1
  130. package/dist/mcp/code-intel-server.d.ts.map +1 -1
  131. package/dist/mcp/code-intel-server.js +18 -8
  132. package/dist/mcp/code-intel-server.js.map +1 -1
  133. package/dist/mcp/memory-server.js +72 -11
  134. package/dist/mcp/memory-server.js.map +1 -1
  135. package/dist/mcp/state-paths.d.ts.map +1 -1
  136. package/dist/mcp/state-paths.js +4 -1
  137. package/dist/mcp/state-paths.js.map +1 -1
  138. package/dist/mcp/state-server.d.ts.map +1 -1
  139. package/dist/mcp/state-server.js +18 -5
  140. package/dist/mcp/state-server.js.map +1 -1
  141. package/dist/mcp/team-server.d.ts +24 -0
  142. package/dist/mcp/team-server.d.ts.map +1 -0
  143. package/dist/mcp/team-server.js +425 -0
  144. package/dist/mcp/team-server.js.map +1 -0
  145. package/dist/mcp/trace-server.d.ts.map +1 -1
  146. package/dist/mcp/trace-server.js +8 -3
  147. package/dist/mcp/trace-server.js.map +1 -1
  148. package/dist/notifications/__tests__/verbosity.test.js +35 -0
  149. package/dist/notifications/__tests__/verbosity.test.js.map +1 -1
  150. package/dist/notifications/config.d.ts.map +1 -1
  151. package/dist/notifications/config.js +12 -3
  152. package/dist/notifications/config.js.map +1 -1
  153. package/dist/notifications/dispatcher.d.ts.map +1 -1
  154. package/dist/notifications/dispatcher.js +4 -4
  155. package/dist/notifications/dispatcher.js.map +1 -1
  156. package/dist/notifications/reply-listener.d.ts.map +1 -1
  157. package/dist/notifications/reply-listener.js +6 -2
  158. package/dist/notifications/reply-listener.js.map +1 -1
  159. package/dist/notifications/session-registry.d.ts.map +1 -1
  160. package/dist/notifications/session-registry.js +2 -2
  161. package/dist/notifications/session-registry.js.map +1 -1
  162. package/dist/notifications/tmux.d.ts.map +1 -1
  163. package/dist/notifications/tmux.js +13 -4
  164. package/dist/notifications/tmux.js.map +1 -1
  165. package/dist/notifications/types.d.ts +4 -0
  166. package/dist/notifications/types.d.ts.map +1 -1
  167. package/dist/openclaw/__tests__/index.test.js +40 -0
  168. package/dist/openclaw/__tests__/index.test.js.map +1 -1
  169. package/dist/openclaw/dispatcher.d.ts.map +1 -1
  170. package/dist/openclaw/dispatcher.js +5 -2
  171. package/dist/openclaw/dispatcher.js.map +1 -1
  172. package/dist/openclaw/index.d.ts.map +1 -1
  173. package/dist/openclaw/index.js +1 -0
  174. package/dist/openclaw/index.js.map +1 -1
  175. package/dist/openclaw/types.d.ts +2 -0
  176. package/dist/openclaw/types.d.ts.map +1 -1
  177. package/dist/ralph/__tests__/persistence.test.js +28 -1
  178. package/dist/ralph/__tests__/persistence.test.js.map +1 -1
  179. package/dist/ralph/persistence.d.ts +21 -0
  180. package/dist/ralph/persistence.d.ts.map +1 -1
  181. package/dist/ralph/persistence.js +85 -2
  182. package/dist/ralph/persistence.js.map +1 -1
  183. package/dist/state/paths.d.ts +3 -0
  184. package/dist/state/paths.d.ts.map +1 -0
  185. package/dist/state/paths.js +2 -0
  186. package/dist/state/paths.js.map +1 -0
  187. package/dist/team/__tests__/idle-nudge.test.d.ts +2 -0
  188. package/dist/team/__tests__/idle-nudge.test.d.ts.map +1 -0
  189. package/dist/team/__tests__/idle-nudge.test.js +225 -0
  190. package/dist/team/__tests__/idle-nudge.test.js.map +1 -0
  191. package/dist/team/__tests__/role-router.test.d.ts +2 -0
  192. package/dist/team/__tests__/role-router.test.d.ts.map +1 -0
  193. package/dist/team/__tests__/role-router.test.js +204 -0
  194. package/dist/team/__tests__/role-router.test.js.map +1 -0
  195. package/dist/team/__tests__/runtime-cli.test.d.ts +2 -0
  196. package/dist/team/__tests__/runtime-cli.test.d.ts.map +1 -0
  197. package/dist/team/__tests__/runtime-cli.test.js +72 -0
  198. package/dist/team/__tests__/runtime-cli.test.js.map +1 -0
  199. package/dist/team/__tests__/runtime.test.js +195 -9
  200. package/dist/team/__tests__/runtime.test.js.map +1 -1
  201. package/dist/team/__tests__/scaling.test.js +132 -2
  202. package/dist/team/__tests__/scaling.test.js.map +1 -1
  203. package/dist/team/__tests__/state-root.test.d.ts +2 -0
  204. package/dist/team/__tests__/state-root.test.d.ts.map +1 -0
  205. package/dist/team/__tests__/state-root.test.js +9 -0
  206. package/dist/team/__tests__/state-root.test.js.map +1 -0
  207. package/dist/team/__tests__/state.test.js +52 -17
  208. package/dist/team/__tests__/state.test.js.map +1 -1
  209. package/dist/team/__tests__/team-ops-contract.test.d.ts +2 -0
  210. package/dist/team/__tests__/team-ops-contract.test.d.ts.map +1 -0
  211. package/dist/team/__tests__/team-ops-contract.test.js +90 -0
  212. package/dist/team/__tests__/team-ops-contract.test.js.map +1 -0
  213. package/dist/team/__tests__/tmux-session.test.js +94 -7
  214. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  215. package/dist/team/__tests__/worker-bootstrap.test.js +59 -0
  216. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  217. package/dist/team/__tests__/worktree.test.js +81 -2
  218. package/dist/team/__tests__/worktree.test.js.map +1 -1
  219. package/dist/team/idle-nudge.d.ts +53 -0
  220. package/dist/team/idle-nudge.d.ts.map +1 -0
  221. package/dist/team/idle-nudge.js +140 -0
  222. package/dist/team/idle-nudge.js.map +1 -0
  223. package/dist/team/mcp-comm.d.ts +1 -1
  224. package/dist/team/mcp-comm.d.ts.map +1 -1
  225. package/dist/team/mcp-comm.js +6 -2
  226. package/dist/team/mcp-comm.js.map +1 -1
  227. package/dist/team/orchestrator.d.ts +1 -10
  228. package/dist/team/orchestrator.d.ts.map +1 -1
  229. package/dist/team/orchestrator.js +8 -0
  230. package/dist/team/orchestrator.js.map +1 -1
  231. package/dist/team/role-router.d.ts +32 -0
  232. package/dist/team/role-router.d.ts.map +1 -0
  233. package/dist/team/role-router.js +137 -0
  234. package/dist/team/role-router.js.map +1 -0
  235. package/dist/team/runtime-cli.d.ts +18 -0
  236. package/dist/team/runtime-cli.d.ts.map +1 -0
  237. package/dist/team/runtime-cli.js +244 -0
  238. package/dist/team/runtime-cli.js.map +1 -0
  239. package/dist/team/runtime.d.ts +6 -1
  240. package/dist/team/runtime.d.ts.map +1 -1
  241. package/dist/team/runtime.js +148 -60
  242. package/dist/team/runtime.js.map +1 -1
  243. package/dist/team/scaling.d.ts +1 -0
  244. package/dist/team/scaling.d.ts.map +1 -1
  245. package/dist/team/scaling.js +74 -32
  246. package/dist/team/scaling.js.map +1 -1
  247. package/dist/team/state/approvals.d.ts +25 -0
  248. package/dist/team/state/approvals.d.ts.map +1 -0
  249. package/dist/team/state/approvals.js +31 -0
  250. package/dist/team/state/approvals.js.map +1 -0
  251. package/dist/team/state/config.d.ts +2 -0
  252. package/dist/team/state/config.d.ts.map +1 -0
  253. package/dist/team/state/config.js +2 -0
  254. package/dist/team/state/config.js.map +1 -0
  255. package/dist/team/state/dispatch-lock.d.ts +3 -0
  256. package/dist/team/state/dispatch-lock.d.ts.map +1 -0
  257. package/dist/team/state/dispatch-lock.js +81 -0
  258. package/dist/team/state/dispatch-lock.js.map +1 -0
  259. package/dist/team/state/dispatch.d.ts +61 -0
  260. package/dist/team/state/dispatch.d.ts.map +1 -0
  261. package/dist/team/state/dispatch.js +158 -0
  262. package/dist/team/state/dispatch.js.map +1 -0
  263. package/dist/team/state/events.d.ts +2 -0
  264. package/dist/team/state/events.d.ts.map +1 -0
  265. package/dist/team/state/events.js +2 -0
  266. package/dist/team/state/events.js.map +1 -0
  267. package/dist/team/state/index.d.ts +11 -0
  268. package/dist/team/state/index.d.ts.map +1 -0
  269. package/dist/team/state/index.js +11 -0
  270. package/dist/team/state/index.js.map +1 -0
  271. package/dist/team/state/io.d.ts +2 -0
  272. package/dist/team/state/io.d.ts.map +1 -0
  273. package/dist/team/state/io.js +2 -0
  274. package/dist/team/state/io.js.map +1 -0
  275. package/dist/team/state/locks.d.ts +16 -0
  276. package/dist/team/state/locks.d.ts.map +1 -0
  277. package/dist/team/state/locks.js +201 -0
  278. package/dist/team/state/locks.js.map +1 -0
  279. package/dist/team/state/mailbox.d.ts +39 -0
  280. package/dist/team/state/mailbox.d.ts.map +1 -0
  281. package/dist/team/state/mailbox.js +58 -0
  282. package/dist/team/state/mailbox.js.map +1 -0
  283. package/dist/team/state/monitor.d.ts +96 -0
  284. package/dist/team/state/monitor.d.ts.map +1 -0
  285. package/dist/team/state/monitor.js +163 -0
  286. package/dist/team/state/monitor.js.map +1 -0
  287. package/dist/team/state/shutdown.d.ts +2 -0
  288. package/dist/team/state/shutdown.d.ts.map +1 -0
  289. package/dist/team/state/shutdown.js +2 -0
  290. package/dist/team/state/shutdown.js.map +1 -0
  291. package/dist/team/state/summary.d.ts +2 -0
  292. package/dist/team/state/summary.d.ts.map +1 -0
  293. package/dist/team/state/summary.js +2 -0
  294. package/dist/team/state/summary.js.map +1 -0
  295. package/dist/team/state/tasks.d.ts +49 -0
  296. package/dist/team/state/tasks.d.ts.map +1 -0
  297. package/dist/team/state/tasks.js +182 -0
  298. package/dist/team/state/tasks.js.map +1 -0
  299. package/dist/team/state/types.d.ts +281 -0
  300. package/dist/team/state/types.d.ts.map +1 -0
  301. package/dist/team/state/types.js +3 -0
  302. package/dist/team/state/types.js.map +1 -0
  303. package/dist/team/state/workers.d.ts +2 -0
  304. package/dist/team/state/workers.d.ts.map +1 -0
  305. package/dist/team/state/workers.js +2 -0
  306. package/dist/team/state/workers.js.map +1 -0
  307. package/dist/team/state-root.d.ts +5 -0
  308. package/dist/team/state-root.d.ts.map +1 -0
  309. package/dist/team/state-root.js +8 -0
  310. package/dist/team/state-root.js.map +1 -0
  311. package/dist/team/state.d.ts +6 -2
  312. package/dist/team/state.d.ts.map +1 -1
  313. package/dist/team/state.js +200 -881
  314. package/dist/team/state.js.map +1 -1
  315. package/dist/team/tmux-session.d.ts +42 -2
  316. package/dist/team/tmux-session.d.ts.map +1 -1
  317. package/dist/team/tmux-session.js +229 -74
  318. package/dist/team/tmux-session.js.map +1 -1
  319. package/dist/team/worker-bootstrap.d.ts +2 -0
  320. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  321. package/dist/team/worker-bootstrap.js +47 -20
  322. package/dist/team/worker-bootstrap.js.map +1 -1
  323. package/dist/team/worktree.d.ts +5 -1
  324. package/dist/team/worktree.d.ts.map +1 -1
  325. package/dist/team/worktree.js +71 -17
  326. package/dist/team/worktree.js.map +1 -1
  327. package/dist/utils/safe-json.d.ts +3 -0
  328. package/dist/utils/safe-json.d.ts.map +1 -0
  329. package/dist/utils/safe-json.js +19 -0
  330. package/dist/utils/safe-json.js.map +1 -0
  331. package/dist/utils/sleep.d.ts +3 -0
  332. package/dist/utils/sleep.d.ts.map +1 -0
  333. package/dist/utils/sleep.js +15 -0
  334. package/dist/utils/sleep.js.map +1 -0
  335. package/dist/visual/__tests__/verdict.test.d.ts +2 -0
  336. package/dist/visual/__tests__/verdict.test.d.ts.map +1 -0
  337. package/dist/visual/__tests__/verdict.test.js +81 -0
  338. package/dist/visual/__tests__/verdict.test.js.map +1 -0
  339. package/dist/visual/constants.d.ts +4 -0
  340. package/dist/visual/constants.d.ts.map +1 -0
  341. package/dist/visual/constants.js +3 -0
  342. package/dist/visual/constants.js.map +1 -0
  343. package/dist/visual/verdict.d.ts +17 -0
  344. package/dist/visual/verdict.d.ts.map +1 -0
  345. package/dist/visual/verdict.js +61 -0
  346. package/dist/visual/verdict.js.map +1 -0
  347. package/package.json +10 -3
  348. package/scripts/ask-claude.sh +17 -0
  349. package/scripts/ask-gemini.sh +14 -0
  350. package/scripts/fixtures/ask-advisor-stub.js +12 -0
  351. package/scripts/notify-hook/log.js +5 -0
  352. package/scripts/notify-hook/team-dispatch.js +56 -1
  353. package/scripts/notify-hook/tmux-injection.js +45 -4
  354. package/scripts/notify-hook/visual-verdict.js +158 -0
  355. package/scripts/notify-hook.js +27 -0
  356. package/scripts/run-provider-advisor.js +179 -0
  357. package/scripts/tmux-hook-engine.js +24 -0
  358. package/skills/ask-claude/SKILL.md +61 -0
  359. package/skills/ask-gemini/SKILL.md +61 -0
  360. package/skills/autopilot/SKILL.md +34 -4
  361. package/skills/configure-notifications/SKILL.md +1 -1
  362. package/skills/configure-openclaw/SKILL.md +154 -157
  363. package/skills/deep-interview/SKILL.md +247 -0
  364. package/skills/doctor/SKILL.md +1 -1
  365. package/skills/help/SKILL.md +3 -3
  366. package/skills/ralph/SKILL.md +42 -11
  367. package/skills/ralplan/SKILL.md +17 -0
  368. package/skills/skill/SKILL.md +32 -32
  369. package/skills/team/SKILL.md +60 -0
  370. package/skills/visual-verdict/SKILL.md +76 -0
  371. package/skills/web-clone/SKILL.md +366 -0
  372. package/skills/worker/SKILL.md +5 -4
  373. package/templates/AGENTS.md +9 -0
  374. package/templates/catalog-manifest.json +39 -2
package/README.md CHANGED
@@ -24,12 +24,16 @@ Multi-agent orchestration layer for [OpenAI Codex CLI](https://github.com/openai
24
24
  - [Español (Spanish)](./README.es.md)
25
25
  - [Português (Portuguese)](./README.pt.md)
26
26
  - [Русский (Russian)](./README.ru.md)
27
+ - [Türkçe (Turkish)](./README.tr.md)
28
+ - [Deutsch (German)](./README.de.md)
29
+ - [Français (French)](./README.fr.md)
30
+ - [Italiano (Italian)](./README.it.md)
27
31
 
28
32
 
29
33
  OMX turns Codex from a single-session agent into a coordinated system with:
30
34
  - Role prompts (`/prompts:name`) for specialized agents
31
35
  - Workflow skills (`$name`) for repeatable execution modes
32
- - Team orchestration in tmux (`omx team`, `$team`)
36
+ - Team orchestration (`omx team`, `$team`) with tmux interactive mode (default) or non-tmux prompt mode
33
37
  - Persistent state + memory via MCP servers
34
38
 
35
39
  ## Why OMX
@@ -42,10 +46,28 @@ Codex CLI is strong for direct tasks. OMX adds structure for larger work:
42
46
 
43
47
  OMX is an add-on, not a fork. It uses Codex-native extension points.
44
48
 
49
+ ## Positioning: CLI-first orchestration, MCP-backed state
50
+
51
+ OMX is best used as an **outer CLI orchestration layer**:
52
+ - **Control plane (CLI/runtime):** `omx team`, tmux workers, lifecycle commands
53
+ - **Capability/state plane (MCP):** task state, mailbox, memory, diagnostics tools
54
+
55
+ Practical mode split:
56
+ - **`$team` / `omx team`**: durable, inspectable, resumable multi-worker execution
57
+ - **`$ultrawork`**: lightweight parallel fanout for independent tasks (component mode)
58
+
59
+ Low-token team profile example:
60
+
61
+ ```bash
62
+ OMX_TEAM_WORKER_CLI=codex \
63
+ OMX_TEAM_WORKER_LAUNCH_ARGS='--model gpt-5.3-codex-spark -c model_reasoning_effort="low"' \
64
+ omx team 2:explore "short scoped analysis task"
65
+ ```
66
+
45
67
  ## Requirements
46
68
 
47
69
  - macOS or Linux (Windows via WSL2)
48
- - Node.js >= 20
70
+ - Node.js >= 20 (CI validates Node 20 and current LTS, currently Node 22)
49
71
  - Codex CLI installed (`npm install -g @openai/codex`)
50
72
  - Codex auth configured
51
73
 
@@ -110,7 +132,8 @@ omx # Launch Codex (+ HUD in tmux when available)
110
132
  omx setup # Install prompts/skills/config by scope + project AGENTS.md/.omx
111
133
  omx doctor # Installation/runtime diagnostics
112
134
  omx doctor --team # Team/swarm diagnostics
113
- omx team ... # Start/status/resume/shutdown tmux team workers
135
+ omx ask ... # Ask local provider advisor (claude|gemini), writes .omx/artifacts/*
136
+ omx team ... # Start/status/resume/shutdown team workers (interactive tmux by default)
114
137
  omx status # Show active modes
115
138
  omx cancel # Cancel active execution modes
116
139
  omx reasoning <mode> # low|medium|high|xhigh
@@ -120,6 +143,24 @@ omx hud ... # --watch|--json|--preset
120
143
  omx help
121
144
  ```
122
145
 
146
+ Ask command examples:
147
+
148
+ ```bash
149
+ omx ask claude "review this diff"
150
+ omx ask gemini "brainstorm alternatives"
151
+ omx ask claude --agent-prompt executor "implement feature X with tests"
152
+ omx ask gemini --agent-prompt=planner --prompt "draft a rollout plan"
153
+ # underlying provider flags from CLI help:
154
+ # claude -p|--print "<prompt>"
155
+ # gemini -p|--prompt "<prompt>"
156
+ ```
157
+
158
+ Non-tmux team launch (advanced):
159
+
160
+ ```bash
161
+ OMX_TEAM_WORKER_LAUNCH_MODE=prompt omx team 2:executor "task"
162
+ ```
163
+
123
164
  ## Hooks Extension (Additive Surface)
124
165
 
125
166
  OMX now includes `omx hooks` for plugin scaffolding and validation.
@@ -197,6 +238,20 @@ omx team shutdown <team-name>
197
238
 
198
239
  Important rule: do not shutdown while tasks are still `in_progress` unless aborting.
199
240
 
241
+ ### Ralph Cleanup Policy
242
+
243
+ When a team runs in ralph mode (`omx team ralph ...`), the shutdown cleanup
244
+ applies a dedicated policy that differs from the normal path:
245
+
246
+ | Behavior | Normal team | Ralph team |
247
+ |---|---|---|
248
+ | Force shutdown on failure | Throws `shutdown_gate_blocked` | Bypasses gate, logs `ralph_cleanup_policy` event |
249
+ | Auto branch deletion | Deletes worktree branches on rollback | Preserves branches (`skipBranchDeletion`) |
250
+ | Completion logging | Standard `shutdown_gate` event | Additional `ralph_cleanup_summary` event with task breakdown |
251
+
252
+ The ralph policy is auto-detected from team mode state (`linked_ralph`) or
253
+ can be passed explicitly via `omx team shutdown <name> --ralph`.
254
+
200
255
  Worker CLI selection for team workers:
201
256
 
202
257
  ```bash
@@ -240,6 +295,15 @@ Examples:
240
295
  - Agents: `architect`, `planner`, `executor`, `debugger`, `verifier`, `security-reviewer`
241
296
  - Skills: `autopilot`, `plan`, `team`, `ralph`, `ultrawork`, `cancel`
242
297
 
298
+ ### Visual QA Loop (`$visual-verdict`)
299
+
300
+ Use `$visual-verdict` when a task depends on visual fidelity (reference image(s) + generated screenshot).
301
+
302
+ - Return structured JSON: `score`, `verdict`, `category_match`, `differences[]`, `suggestions[]`, `reasoning`
303
+ - Recommended pass threshold: **90+**
304
+ - For visual tasks, run `$visual-verdict` every iteration before the next edit
305
+ - Use pixel diff / pixelmatch overlays as **secondary debugging aids** (not the primary pass/fail signal)
306
+
243
307
  ## Project Layout
244
308
 
245
309
  ```text
@@ -267,6 +331,7 @@ oh-my-codex/
267
331
  git clone https://github.com/Yeachan-Heo/oh-my-codex.git
268
332
  cd oh-my-codex
269
333
  npm install
334
+ npm run lint
270
335
  npm run build
271
336
  npm test
272
337
  ```
package/README.pt.md CHANGED
@@ -1,10 +1,59 @@
1
- # oh-my-codex (OMX) README em Português
1
+ # oh-my-codex (OMX)
2
2
 
3
- > Para a documentação completa original, consulte [English README](./README.md).
3
+ <p align="center">
4
+ <img src="https://yeachan-heo.github.io/oh-my-codex-website/omx-character-nobg.png" alt="oh-my-codex character" width="280">
5
+ <br>
6
+ <em>Seu codex não está sozinho.</em>
7
+ </p>
4
8
 
5
- OMX é uma camada de orquestração multiagente para o OpenAI Codex CLI.
9
+ [![npm version](https://img.shields.io/npm/v/oh-my-codex)](https://www.npmjs.com/package/oh-my-codex)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
11
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](https://nodejs.org)
6
12
 
7
- ## Início rápido
13
+ > **[Website](https://yeachan-heo.github.io/oh-my-codex-website/)** | **[Documentation](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** | **[CLI Reference](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** | **[Workflows](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** | **[GitHub](https://github.com/Yeachan-Heo/oh-my-codex)** | **[npm](https://www.npmjs.com/package/oh-my-codex)**
14
+
15
+ Camada de orquestração multiagente para [OpenAI Codex CLI](https://github.com/openai/codex).
16
+
17
+ ## Idiomas
18
+
19
+ - [English](./README.md)
20
+ - [한국어 (Korean)](./README.ko.md)
21
+ - [日本語 (Japanese)](./README.ja.md)
22
+ - [简体中文 (Chinese)](./README.zh.md)
23
+ - [Tiếng Việt (Vietnamese)](./README.vi.md)
24
+ - [Español (Spanish)](./README.es.md)
25
+ - [Português (Portuguese)](./README.pt.md)
26
+ - [Русский (Russian)](./README.ru.md)
27
+ - [Türkçe (Turkish)](./README.tr.md)
28
+ - [Deutsch (German)](./README.de.md)
29
+ - [Français (French)](./README.fr.md)
30
+ - [Italiano (Italian)](./README.it.md)
31
+
32
+
33
+ OMX transforma o Codex de um agente de sessão única em um sistema coordenado com:
34
+ - Role prompts (`/prompts:name`) para agentes especializados
35
+ - Workflow skills (`$name`) para modos de execução repetíveis
36
+ - Orquestração de equipes no tmux (`omx team`, `$team`)
37
+ - Estado persistente e memória via servidores MCP
38
+
39
+ ## Por que OMX
40
+
41
+ Codex CLI é forte para tarefas diretas. OMX adiciona estrutura para trabalhos maiores:
42
+ - Decomposição e execução em etapas (`team-plan -> team-prd -> team-exec -> team-verify -> team-fix`)
43
+ - Estado persistente do ciclo de vida dos modos (`.omx/state/`)
44
+ - Superfícies de memória e bloco de notas para sessões longas
45
+ - Controles operacionais para início, verificação e cancelamento
46
+
47
+ OMX é um complemento, não um fork. Utiliza os pontos de extensão nativos do Codex.
48
+
49
+ ## Requisitos
50
+
51
+ - macOS ou Linux (Windows via WSL2)
52
+ - Node.js >= 20
53
+ - Codex CLI instalado (`npm install -g @openai/codex`)
54
+ - Autenticação do Codex configurada
55
+
56
+ ## Início rápido (3 minutos)
8
57
 
9
58
  ```bash
10
59
  npm install -g oh-my-codex
@@ -12,25 +61,254 @@ omx setup
12
61
  omx doctor
13
62
  ```
14
63
 
15
- ## Recursos principais
64
+ Perfil de inicialização recomendado para ambientes confiáveis:
16
65
 
17
- - Execução de agentes especializados com prompts de papel (`/prompts:name`)
18
- - Automação de fluxos repetitivos com skills (`$name`)
19
- - Orquestração em equipe com tmux (`omx team`, `$team`)
20
- - Estado e memória persistentes via servidores MCP
66
+ ```bash
67
+ omx --xhigh --madmax
68
+ ```
69
+
70
+ ## Novidades na v0.5.0
71
+
72
+ - **Configuração com escopo** via `omx setup --scope user|project` para modos de instalação flexíveis.
73
+ - **Roteamento de Spark worker** via `--spark` / `--madmax-spark` — workers da equipe podem usar `gpt-5.3-codex-spark` sem forçar o modelo líder.
74
+ - **Consolidação do catálogo** — removidos prompts obsoletos (`deep-executor`, `scientist`) e 9 skills obsoletas para uma superfície mais enxuta.
75
+ - **Níveis de detalhamento de notificações** para controle granular da saída do CCNotifier.
76
+
77
+ ## Primeira sessão
78
+
79
+ Dentro do Codex:
80
+
81
+ ```text
82
+ /prompts:architect "analyze current auth boundaries"
83
+ /prompts:executor "implement input validation in login"
84
+ $plan "ship OAuth callback safely"
85
+ $team 3:executor "fix all TypeScript errors"
86
+ ```
87
+
88
+ Do terminal:
89
+
90
+ ```bash
91
+ omx team 4:executor "parallelize a multi-module refactor"
92
+ omx team status <team-name>
93
+ omx team shutdown <team-name>
94
+ ```
95
+
96
+ ## Modelo central
97
+
98
+ OMX instala e conecta estas camadas:
99
+
100
+ ```text
101
+ User
102
+ -> Codex CLI
103
+ -> AGENTS.md (cérebro de orquestração)
104
+ -> ~/.codex/prompts/*.md (catálogo de prompts de agentes)
105
+ -> ~/.agents/skills/*/SKILL.md (catálogo de skills)
106
+ -> ~/.codex/config.toml (funcionalidades, notificações, MCP)
107
+ -> .omx/ (estado de execução, memória, planos, logs)
108
+ ```
21
109
 
22
110
  ## Comandos principais
23
111
 
24
112
  ```bash
25
- omx
26
- omx setup
27
- omx doctor
113
+ omx # Iniciar Codex (+ HUD no tmux quando disponível)
114
+ omx setup # Instalar prompts/skills/config por escopo + projeto AGENTS.md/.omx
115
+ omx doctor # Diagnósticos de instalação/execução
116
+ omx doctor --team # Diagnósticos de Team/swarm
117
+ omx team ... # Iniciar/status/retomar/encerrar workers tmux da equipe
118
+ omx status # Mostrar modos ativos
119
+ omx cancel # Cancelar modos de execução ativos
120
+ omx reasoning <mode> # low|medium|high|xhigh
121
+ omx tmux-hook ... # init|status|validate|test
122
+ omx hooks ... # init|status|validate|test (fluxo de trabalho de extensão de plugins)
123
+ omx hud ... # --watch|--json|--preset
124
+ omx help
125
+ ```
126
+
127
+ ## Extensão de Hooks (Superfície adicional)
128
+
129
+ OMX agora inclui `omx hooks` para scaffolding e validação de plugins.
130
+
131
+ - `omx tmux-hook` continua sendo suportado e não foi alterado.
132
+ - `omx hooks` é aditivo e não substitui os fluxos de trabalho do tmux-hook.
133
+ - Arquivos de plugins ficam em `.omx/hooks/*.mjs`.
134
+ - Plugins estão desativados por padrão; ative com `OMX_HOOK_PLUGINS=1`.
135
+
136
+ Consulte `docs/hooks-extension.md` para o fluxo de trabalho completo de extensões e modelo de eventos.
137
+
138
+ ## Flags de inicialização
139
+
140
+ ```bash
141
+ --yolo
142
+ --high
143
+ --xhigh
144
+ --madmax
145
+ --force
146
+ --dry-run
147
+ --verbose
148
+ --scope <user|project> # apenas para setup
149
+ ```
150
+
151
+ `--madmax` mapeia para Codex `--dangerously-bypass-approvals-and-sandbox`.
152
+ Use apenas em ambientes sandbox confiáveis ou externos.
153
+
154
+ ### Política de workingDirectory MCP (endurecimento opcional)
155
+
156
+ Por padrão, as ferramentas MCP de state/memory/trace aceitam o `workingDirectory` fornecido pelo chamador.
157
+ Para restringir isso, defina uma lista de raízes permitidas:
158
+
159
+ ```bash
160
+ export OMX_MCP_WORKDIR_ROOTS="/path/to/project:/path/to/another-root"
161
+ ```
162
+
163
+ Quando definido, valores de `workingDirectory` fora dessas raízes são rejeitados.
164
+
165
+ ## Controle de prompts Codex-First
166
+
167
+ Por padrão, OMX injeta:
168
+
169
+ ```text
170
+ -c model_instructions_file="<cwd>/AGENTS.md"
171
+ ```
172
+
173
+ Isso adiciona as instruções do projeto `AGENTS.md` aos comandos de inicialização do Codex.
174
+ Estende o comportamento do Codex, mas não substitui nem contorna as políticas centrais do sistema Codex.
175
+
176
+ Controles:
177
+
178
+ ```bash
179
+ OMX_BYPASS_DEFAULT_SYSTEM_PROMPT=0 omx # desativar injeção de AGENTS.md
180
+ OMX_MODEL_INSTRUCTIONS_FILE=/path/to/instructions.md omx
181
+ ```
182
+
183
+ ## Modo equipe
184
+
185
+ Use o modo equipe para trabalhos amplos que se beneficiam de workers paralelos.
186
+
187
+ Ciclo de vida:
188
+
189
+ ```text
190
+ start -> assign scoped lanes -> monitor -> verify terminal tasks -> shutdown
191
+ ```
192
+
193
+ Comandos operacionais:
194
+
195
+ ```bash
28
196
  omx team <args>
29
- omx status
30
- omx cancel
197
+ omx team status <team-name>
198
+ omx team resume <team-name>
199
+ omx team shutdown <team-name>
31
200
  ```
32
201
 
33
- ## Saiba mais
202
+ Regra importante: não encerre enquanto tarefas estiverem em estado `in_progress`, a menos que esteja abortando.
203
+
204
+ ### Política de limpeza Ralph
205
+
206
+ Quando uma equipe roda em modo ralph (`omx team ralph ...`), a limpeza no encerramento
207
+ aplica uma política dedicada diferente do caminho normal:
208
+
209
+ | Comportamento | Equipe normal | Equipe Ralph |
210
+ |---|---|---|
211
+ | Encerramento forçado em caso de falha | Lança `shutdown_gate_blocked` | Ignora a porta, registra evento `ralph_cleanup_policy` |
212
+ | Exclusão automática de branches | Exclui branches do worktree no rollback | Preserva branches (`skipBranchDeletion`) |
213
+ | Log de conclusão | Evento padrão `shutdown_gate` | Evento adicional `ralph_cleanup_summary` com detalhamento de tarefas |
214
+
215
+ A política Ralph é detectada automaticamente do estado do modo equipe (`linked_ralph`) ou
216
+ pode ser passada explicitamente via `omx team shutdown <name> --ralph`.
217
+
218
+ Seleção de Worker CLI para workers da equipe:
219
+
220
+ ```bash
221
+ OMX_TEAM_WORKER_CLI=auto # padrão; usa claude quando worker --model contém "claude"
222
+ OMX_TEAM_WORKER_CLI=codex # forçar workers Codex CLI
223
+ OMX_TEAM_WORKER_CLI=claude # forçar workers Claude CLI
224
+ OMX_TEAM_WORKER_CLI_MAP=codex,codex,claude,claude # mix de CLI por worker (comprimento=1 ou quantidade de workers)
225
+ OMX_TEAM_AUTO_INTERRUPT_RETRY=0 # opcional: desativar fallback adaptativo queue->resend
226
+ ```
227
+
228
+ Notas:
229
+ - Argumentos de inicialização de workers são compartilhados via `OMX_TEAM_WORKER_LAUNCH_ARGS`.
230
+ - `OMX_TEAM_WORKER_CLI_MAP` sobrescreve `OMX_TEAM_WORKER_CLI` para seleção por worker.
231
+ - O envio de triggers usa retentativas adaptativas por padrão (queue/submit, depois fallback seguro clear-line+resend quando necessário).
232
+ - No modo Claude worker, OMX inicia workers como `claude` simples (sem argumentos extras de inicialização) e ignora substituições explícitas de `--model` / `--config` / `--effort` para que o Claude use o `settings.json` padrão.
233
+
234
+ ## O que `omx setup` grava
235
+
236
+ - `.omx/setup-scope.json` (escopo de instalação persistido)
237
+ - Instalações dependentes do escopo:
238
+ - `user`: `~/.codex/prompts/`, `~/.agents/skills/`, `~/.codex/config.toml`, `~/.omx/agents/`
239
+ - `project`: `./.codex/prompts/`, `./.agents/skills/`, `./.codex/config.toml`, `./.omx/agents/`
240
+ - Comportamento de inicialização: se o escopo persistido for `project`, o lançamento do `omx` usa automaticamente `CODEX_HOME=./.codex` (a menos que `CODEX_HOME` já esteja definido).
241
+ - O `AGENTS.md` existente é preservado por padrão. Em execuções TTY interativas, o setup pergunta antes de sobrescrever; `--force` sobrescreve sem perguntar (verificações de segurança de sessões ativas continuam aplicáveis).
242
+ - Atualizações do `config.toml` (para ambos os escopos):
243
+ - `notify = ["node", "..."]`
244
+ - `model_reasoning_effort = "high"`
245
+ - `developer_instructions = "..."`
246
+ - `[features] multi_agent = true, child_agents_md = true`
247
+ - Entradas de servidores MCP (`omx_state`, `omx_memory`, `omx_code_intel`, `omx_trace`)
248
+ - `[tui] status_line`
249
+ - `AGENTS.md` do projeto
250
+ - Diretórios `.omx/` de execução e configuração do HUD
251
+
252
+ ## Agentes e skills
253
+
254
+ - Prompts: `prompts/*.md` (instalados em `~/.codex/prompts/` para `user`, `./.codex/prompts/` para `project`)
255
+ - Skills: `skills/*/SKILL.md` (instalados em `~/.agents/skills/` para `user`, `./.agents/skills/` para `project`)
256
+
257
+ Exemplos:
258
+ - Agentes: `architect`, `planner`, `executor`, `debugger`, `verifier`, `security-reviewer`
259
+ - Skills: `autopilot`, `plan`, `team`, `ralph`, `ultrawork`, `cancel`
260
+
261
+ ## Estrutura do projeto
262
+
263
+ ```text
264
+ oh-my-codex/
265
+ bin/omx.js
266
+ src/
267
+ cli/
268
+ team/
269
+ mcp/
270
+ hooks/
271
+ hud/
272
+ config/
273
+ modes/
274
+ notifications/
275
+ verification/
276
+ prompts/
277
+ skills/
278
+ templates/
279
+ scripts/
280
+ ```
281
+
282
+ ## Desenvolvimento
283
+
284
+ ```bash
285
+ git clone https://github.com/Yeachan-Heo/oh-my-codex.git
286
+ cd oh-my-codex
287
+ npm install
288
+ npm run build
289
+ npm test
290
+ ```
291
+
292
+ ## Documentação
293
+
294
+ - **[Documentação completa](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** — Guia completo
295
+ - **[Referência CLI](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** — Todos os comandos `omx`, flags e ferramentas
296
+ - **[Guia de notificações](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#notifications)** — Configuração de Discord, Telegram, Slack e webhooks
297
+ - **[Fluxos de trabalho recomendados](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** — Cadeias de skills testadas em batalha para tarefas comuns
298
+ - **[Notas de versão](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#release-notes)** — Novidades em cada versão
299
+
300
+ ## Notas
301
+
302
+ - Log de alterações completo: `CHANGELOG.md`
303
+ - Guia de migração (pós-v0.4.4 mainline): `docs/migration-mainline-post-v0.4.4.md`
304
+ - Notas de cobertura e paridade: `COVERAGE.md`
305
+ - Fluxo de trabalho de extensão de hooks: `docs/hooks-extension.md`
306
+ - Detalhes de instalação e contribuição: `CONTRIBUTING.md`
307
+
308
+ ## Agradecimentos
309
+
310
+ Inspirado em [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode), adaptado para Codex CLI.
311
+
312
+ ## Licença
34
313
 
35
- - Documento principal: [README.md](./README.md)
36
- - Website: https://yeachan-heo.github.io/oh-my-codex-website/
314
+ MIT