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.ja.md CHANGED
@@ -1,10 +1,59 @@
1
- # oh-my-codex (OMX) 日本語README
1
+ # oh-my-codex (OMX)
2
2
 
3
- > 完全な原文は [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>あなたのcodexは一人じゃない。</em>
7
+ </p>
4
8
 
5
- OMX は 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
- ## クイックスタート
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
+ [OpenAI Codex CLI](https://github.com/openai/codex)のためのマルチエージェントオーケストレーションレイヤー。
16
+
17
+ ## 言語
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はCodexをシングルセッションエージェントから協調システムに変換します:
34
+ - 専門エージェント用の role prompts (`/prompts:name`)
35
+ - 再現可能な実行モード用の workflow skills (`$name`)
36
+ - tmuxでのチームオーケストレーション (`omx team`, `$team`)
37
+ - MCPサーバーによる永続的な状態とメモリ
38
+
39
+ ## なぜOMXか
40
+
41
+ Codex CLIは直接的なタスクに強力です。OMXはより大規模な作業のための構造を追加します:
42
+ - 分解と段階的実行 (`team-plan -> team-prd -> team-exec -> team-verify -> team-fix`)
43
+ - 永続的なモードライフサイクル状態 (`.omx/state/`)
44
+ - 長期セッション用のメモリとメモ帳サーフェス
45
+ - 起動、検証、キャンセルのための運用制御
46
+
47
+ OMXはアドオンであり、フォークではありません。Codexのネイティブ拡張ポイントを使用します。
48
+
49
+ ## 要件
50
+
51
+ - macOSまたはLinux(WindowsはWSL2経由)
52
+ - Node.js >= 20
53
+ - Codex CLIがインストール済み (`npm install -g @openai/codex`)
54
+ - Codex認証が設定済み
55
+
56
+ ## クイックスタート(3分)
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
- ## 主な機能
64
+ 信頼された環境向けの推奨起動プロファイル:
16
65
 
17
- - ロールプロンプト(`/prompts:name`)による専門エージェント実行
18
- - ワークフロースキル(`$name`)による反復作業の自動化
19
- - tmux ベースのチーム実行(`omx team`, `$team`)
20
- - MCP サーバーによる状態・メモリの永続化
66
+ ```bash
67
+ omx --xhigh --madmax
68
+ ```
69
+
70
+ ## v0.5.0の新機能
71
+
72
+ - `omx setup --scope user|project`による**スコープ対応セットアップ** — 柔軟なインストールモード。
73
+ - `--spark` / `--madmax-spark`による**Sparkワーカールーティング** — チームワーカーがリーダーモデルを強制せずに`gpt-5.3-codex-spark`を使用可能。
74
+ - **カタログ統合** — 非推奨プロンプト(`deep-executor`、`scientist`)と9つの非推奨スキルを削除し、よりスリムなサーフェスに。
75
+ - **通知の詳細レベル** — CCNotifier出力のきめ細かい制御。
21
76
 
22
- ## 主なコマンド
77
+ ## 最初のセッション
78
+
79
+ 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
+ ターミナルから:
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
+ ## コアモデル
97
+
98
+ OMXは以下のレイヤーをインストールして接続します:
99
+
100
+ ```text
101
+ User
102
+ -> Codex CLI
103
+ -> AGENTS.md (オーケストレーションブレイン)
104
+ -> ~/.codex/prompts/*.md (エージェントプロンプトカタログ)
105
+ -> ~/.agents/skills/*/SKILL.md (スキルカタログ)
106
+ -> ~/.codex/config.toml (機能、通知、MCP)
107
+ -> .omx/ (ランタイム状態、メモリ、計画、ログ)
108
+ ```
109
+
110
+ ## 主要コマンド
111
+
112
+ ```bash
113
+ omx # Codexを起動(tmuxでHUD付き)
114
+ omx setup # スコープ別にプロンプト/スキル/設定をインストール + プロジェクトAGENTS.md/.omx
115
+ omx doctor # インストール/ランタイム診断
116
+ omx doctor --team # Team/swarm診断
117
+ omx team ... # tmuxチームワーカーの開始/ステータス/再開/シャットダウン
118
+ omx status # アクティブなモードを表示
119
+ omx cancel # アクティブな実行モードをキャンセル
120
+ omx reasoning <mode> # low|medium|high|xhigh
121
+ omx tmux-hook ... # init|status|validate|test
122
+ omx hooks ... # init|status|validate|test(プラグイン拡張ワークフロー)
123
+ omx hud ... # --watch|--json|--preset
124
+ omx help
125
+ ```
126
+
127
+ ## Hooks拡張(追加サーフェス)
128
+
129
+ OMXにはプラグインのスキャフォールディングとバリデーション用の`omx hooks`が含まれるようになりました。
130
+
131
+ - `omx tmux-hook`は引き続きサポートされ、変更されていません。
132
+ - `omx hooks`は追加的であり、tmux-hookワークフローを置き換えません。
133
+ - プラグインファイルは`.omx/hooks/*.mjs`に配置されます。
134
+ - プラグインはデフォルトで無効です;`OMX_HOOK_PLUGINS=1`で有効にします。
135
+
136
+ 完全な拡張ワークフローとイベントモデルについては`docs/hooks-extension.md`を参照してください。
137
+
138
+ ## 起動フラグ
139
+
140
+ ```bash
141
+ --yolo
142
+ --high
143
+ --xhigh
144
+ --madmax
145
+ --force
146
+ --dry-run
147
+ --verbose
148
+ --scope <user|project> # setupのみ
149
+ ```
150
+
151
+ `--madmax`はCodexの`--dangerously-bypass-approvals-and-sandbox`にマッピングされます。
152
+ 信頼された/外部のサンドボックス環境でのみ使用してください。
153
+
154
+ ### MCP workingDirectoryポリシー(オプションの強化)
155
+
156
+ デフォルトでは、MCP state/memory/traceツールは呼び出し元が提供する`workingDirectory`を受け入れます。
157
+ これを制限するには、許可されたルートのリストを設定します:
158
+
159
+ ```bash
160
+ export OMX_MCP_WORKDIR_ROOTS="/path/to/project:/path/to/another-root"
161
+ ```
162
+
163
+ 設定すると、これらのルート外の`workingDirectory`値は拒否されます。
164
+
165
+ ## Codex-Firstプロンプト制御
166
+
167
+ デフォルトでは、OMXは以下を注入します:
168
+
169
+ ```text
170
+ -c model_instructions_file="<cwd>/AGENTS.md"
171
+ ```
172
+
173
+ これはプロジェクトの`AGENTS.md`ガイダンスをCodex起動命令にレイヤーします。
174
+ Codexの動作を拡張しますが、Codexのコアシステムポリシーを置き換えたりバイパスしたりしません。
175
+
176
+ 制御:
177
+
178
+ ```bash
179
+ OMX_BYPASS_DEFAULT_SYSTEM_PROMPT=0 omx # AGENTS.md注入を無効化
180
+ OMX_MODEL_INSTRUCTIONS_FILE=/path/to/instructions.md omx
181
+ ```
182
+
183
+ ## チームモード
184
+
185
+ 並列ワーカーが有利な大規模作業にはチームモードを使用します。
186
+
187
+ ライフサイクル:
188
+
189
+ ```text
190
+ start -> assign scoped lanes -> monitor -> verify terminal tasks -> shutdown
191
+ ```
192
+
193
+ 運用コマンド:
23
194
 
24
195
  ```bash
25
- omx
26
- omx setup
27
- omx doctor
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
- ## 詳細情報
202
+ 重要なルール:中断する場合を除き、タスクが`in_progress`状態の間はシャットダウンしないでください。
203
+
204
+ ### Ralphクリーンアップポリシー
205
+
206
+ チームがralphモード(`omx team ralph ...`)で実行される場合、シャットダウンのクリーンアップは
207
+ 通常のパスとは異なる専用ポリシーを適用します:
208
+
209
+ | 動作 | 通常チーム | Ralphチーム |
210
+ |---|---|---|
211
+ | 失敗時の強制シャットダウン | `shutdown_gate_blocked`をスロー | ゲートをバイパスし、`ralph_cleanup_policy`イベントをログ |
212
+ | 自動ブランチ削除 | ロールバック時にworktreeブランチを削除 | ブランチを保持(`skipBranchDeletion`) |
213
+ | 完了ログ | 標準`shutdown_gate`イベント | タスク内訳付きの追加`ralph_cleanup_summary`イベント |
214
+
215
+ Ralphポリシーはチームモード状態(`linked_ralph`)から自動検出されるか、
216
+ `omx team shutdown <name> --ralph`で明示的に渡すことができます。
217
+
218
+ チームワーカー用のWorker CLI選択:
219
+
220
+ ```bash
221
+ OMX_TEAM_WORKER_CLI=auto # デフォルト;worker --modelに"claude"が含まれる場合claudeを使用
222
+ OMX_TEAM_WORKER_CLI=codex # Codex CLIワーカーを強制
223
+ OMX_TEAM_WORKER_CLI=claude # Claude CLIワーカーを強制
224
+ OMX_TEAM_WORKER_CLI_MAP=codex,codex,claude,claude # ワーカーごとのCLIミックス(長さ=1またはワーカー数)
225
+ OMX_TEAM_AUTO_INTERRUPT_RETRY=0 # オプション:適応型queue->resendフォールバックを無効化
226
+ ```
227
+
228
+ 注意:
229
+ - ワーカー起動引数は引き続き`OMX_TEAM_WORKER_LAUNCH_ARGS`を通じて共有されます。
230
+ - `OMX_TEAM_WORKER_CLI_MAP`はワーカーごとの選択で`OMX_TEAM_WORKER_CLI`をオーバーライドします。
231
+ - トリガー送信はデフォルトで適応型リトライを使用します(queue/submit、必要に応じて安全なclear-line+resendフォールバック)。
232
+ - Claude workerモードでは、OMXはワーカーをプレーンな`claude`として起動し(追加の起動引数なし)、明示的な`--model` / `--config` / `--effort`オーバーライドを無視して、Claudeがデフォルトの`settings.json`を使用します。
233
+
234
+ ## `omx setup`が書き込む内容
235
+
236
+ - `.omx/setup-scope.json`(永続化されたセットアップスコープ)
237
+ - スコープ依存のインストール:
238
+ - `user`:`~/.codex/prompts/`、`~/.agents/skills/`、`~/.codex/config.toml`、`~/.omx/agents/`
239
+ - `project`:`./.codex/prompts/`、`./.agents/skills/`、`./.codex/config.toml`、`./.omx/agents/`
240
+ - 起動動作:永続化されたスコープが`project`の場合、`omx`起動時に自動的に`CODEX_HOME=./.codex`を使用(`CODEX_HOME`が既に設定されている場合を除く)。
241
+ - 既存の`AGENTS.md`はデフォルトで保持されます。インタラクティブTTY実行では、上書き前にsetupが確認します;`--force`は確認なしで上書きします(アクティブセッションの安全チェックは引き続き適用されます)。
242
+ - `config.toml`の更新(両スコープ共通):
243
+ - `notify = ["node", "..."]`
244
+ - `model_reasoning_effort = "high"`
245
+ - `developer_instructions = "..."`
246
+ - `[features] multi_agent = true, child_agents_md = true`
247
+ - MCPサーバーエントリ(`omx_state`、`omx_memory`、`omx_code_intel`、`omx_trace`)
248
+ - `[tui] status_line`
249
+ - プロジェクト`AGENTS.md`
250
+ - `.omx/`ランタイムディレクトリとHUD設定
251
+
252
+ ## エージェントとスキル
253
+
254
+ - プロンプト:`prompts/*.md`(`user`は`~/.codex/prompts/`に、`project`は`./.codex/prompts/`にインストール)
255
+ - スキル:`skills/*/SKILL.md`(`user`は`~/.agents/skills/`に、`project`は`./.agents/skills/`にインストール)
256
+
257
+ 例:
258
+ - エージェント:`architect`、`planner`、`executor`、`debugger`、`verifier`、`security-reviewer`
259
+ - スキル:`autopilot`、`plan`、`team`、`ralph`、`ultrawork`、`cancel`
260
+
261
+ ## プロジェクト構成
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
+ ## 開発
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
+ ## ドキュメント
293
+
294
+ - **[完全なドキュメント](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** — 完全ガイド
295
+ - **[CLIリファレンス](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** — すべての`omx`コマンド、フラグ、ツール
296
+ - **[通知ガイド](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#notifications)** — Discord、Telegram、Slack、webhookの設定
297
+ - **[推奨ワークフロー](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** — 一般的なタスクのための実戦で検証されたスキルチェーン
298
+ - **[リリースノート](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#release-notes)** — 各バージョンの新機能
299
+
300
+ ## 備考
301
+
302
+ - 完全な変更ログ:`CHANGELOG.md`
303
+ - 移行ガイド(v0.4.4以降のmainline):`docs/migration-mainline-post-v0.4.4.md`
304
+ - カバレッジとパリティノート:`COVERAGE.md`
305
+ - Hook拡張ワークフロー:`docs/hooks-extension.md`
306
+ - セットアップと貢献の詳細:`CONTRIBUTING.md`
307
+
308
+ ## 謝辞
309
+
310
+ [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode)にインスパイアされ、Codex CLI向けに適応されました。
311
+
312
+ ## ライセンス
34
313
 
35
- - メインドキュメント: [README.md](./README.md)
36
- - ウェブサイト: https://yeachan-heo.github.io/oh-my-codex-website/
314
+ MIT
package/README.ko.md CHANGED
@@ -1,10 +1,59 @@
1
- # oh-my-codex (OMX) 한국어 README
1
+ # oh-my-codex (OMX)
2
2
 
3
- > 전체 원문 문서는 [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>당신의 codex는 혼자가 아닙니다.</em>
7
+ </p>
4
8
 
5
- OMX는 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
- ## 빠른 시작
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
+ [OpenAI Codex CLI](https://github.com/openai/codex)를 위한 멀티 에이전트 오케스트레이션 레이어.
16
+
17
+ ## 언어
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는 Codex를 단일 세션 에이전트에서 조율된 시스템으로 전환합니다:
34
+ - 전문 에이전트를 위한 role prompts (`/prompts:name`)
35
+ - 반복 가능한 실행 모드를 위한 workflow skills (`$name`)
36
+ - tmux에서의 팀 오케스트레이션 (`omx team`, `$team`)
37
+ - MCP 서버를 통한 영구 상태 및 메모리
38
+
39
+ ## OMX를 사용하는 이유
40
+
41
+ Codex CLI는 직접적인 작업에 강합니다. OMX는 더 큰 작업을 위한 구조를 추가합니다:
42
+ - 분해 및 단계적 실행 (`team-plan -> team-prd -> team-exec -> team-verify -> team-fix`)
43
+ - 영구 모드 라이프사이클 상태 (`.omx/state/`)
44
+ - 장기 세션을 위한 메모리 및 메모장 표면
45
+ - 시작, 검증 및 취소를 위한 운영 제어
46
+
47
+ OMX는 애드온이며, 포크가 아닙니다. Codex의 네이티브 확장 포인트를 사용합니다.
48
+
49
+ ## 요구사항
50
+
51
+ - macOS 또는 Linux (Windows는 WSL2를 통해)
52
+ - Node.js >= 20
53
+ - Codex CLI 설치됨 (`npm install -g @openai/codex`)
54
+ - Codex 인증 구성됨
55
+
56
+ ## 빠른 시작 (3분)
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
- ## 핵심 기능
64
+ 신뢰할 있는 환경을 위한 권장 시작 프로필:
16
65
 
17
- - 역할 프롬프트(`/prompts:name`) 기반 전문 에이전트 실행
18
- - 워크플로우 스킬(`$name`) 기반 반복 작업 자동화
19
- - tmux 팀 오케스트레이션(`omx team`, `$team`)
20
- - MCP 서버를 통한 상태/메모리 지속성
66
+ ```bash
67
+ omx --xhigh --madmax
68
+ ```
69
+
70
+ ## v0.5.0의 새로운 기능
71
+
72
+ - `omx setup --scope user|project`를 통한 **범위 인식 설정** — 유연한 설치 모드.
73
+ - `--spark` / `--madmax-spark`를 통한 **Spark worker 라우팅** — 팀 워커가 리더 모델을 강제하지 않고 `gpt-5.3-codex-spark`를 사용 가능.
74
+ - **카탈로그 통합** — 더 간결한 표면을 위해 deprecated 프롬프트(`deep-executor`, `scientist`)와 9개의 deprecated 스킬 제거.
75
+ - **알림 상세 레벨** — CCNotifier 출력에 대한 세밀한 제어.
76
+
77
+ ## 첫 번째 세션
78
+
79
+ 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
+ 터미널에서:
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
+ ## 핵심 모델
97
+
98
+ OMX는 다음 레이어를 설치하고 연결합니다:
99
+
100
+ ```text
101
+ User
102
+ -> Codex CLI
103
+ -> AGENTS.md (오케스트레이션 브레인)
104
+ -> ~/.codex/prompts/*.md (에이전트 프롬프트 카탈로그)
105
+ -> ~/.agents/skills/*/SKILL.md (스킬 카탈로그)
106
+ -> ~/.codex/config.toml (기능, 알림, MCP)
107
+ -> .omx/ (런타임 상태, 메모리, 계획, 로그)
108
+ ```
21
109
 
22
110
  ## 주요 명령어
23
111
 
24
112
  ```bash
25
- omx
26
- omx setup
27
- omx doctor
113
+ omx # Codex 실행 (tmux에서 HUD와 함께)
114
+ omx setup # 범위별 프롬프트/스킬/설정 설치 + 프로젝트 AGENTS.md/.omx
115
+ omx doctor # 설치/런타임 진단
116
+ omx doctor --team # Team/swarm 진단
117
+ omx team ... # tmux 팀 워커 시작/상태/재개/종료
118
+ omx status # 활성 모드 표시
119
+ omx cancel # 활성 실행 모드 취소
120
+ omx reasoning <mode> # low|medium|high|xhigh
121
+ omx tmux-hook ... # init|status|validate|test
122
+ omx hooks ... # init|status|validate|test (플러그인 확장 워크플로우)
123
+ omx hud ... # --watch|--json|--preset
124
+ omx help
125
+ ```
126
+
127
+ ## Hooks 확장 (추가 표면)
128
+
129
+ OMX는 이제 플러그인 스캐폴딩 및 검증을 위한 `omx hooks`를 포함합니다.
130
+
131
+ - `omx tmux-hook`은 계속 지원되며 변경되지 않았습니다.
132
+ - `omx hooks`는 추가적이며 tmux-hook 워크플로우를 대체하지 않습니다.
133
+ - 플러그인 파일은 `.omx/hooks/*.mjs`에 위치합니다.
134
+ - 플러그인은 기본적으로 비활성화되어 있으며; `OMX_HOOK_PLUGINS=1`로 활성화합니다.
135
+
136
+ 전체 확장 워크플로우 및 이벤트 모델은 `docs/hooks-extension.md`를 참조하세요.
137
+
138
+ ## 시작 플래그
139
+
140
+ ```bash
141
+ --yolo
142
+ --high
143
+ --xhigh
144
+ --madmax
145
+ --force
146
+ --dry-run
147
+ --verbose
148
+ --scope <user|project> # setup 전용
149
+ ```
150
+
151
+ `--madmax`는 Codex `--dangerously-bypass-approvals-and-sandbox`에 매핑됩니다.
152
+ 신뢰할 수 있는/외부 sandbox 환경에서만 사용하세요.
153
+
154
+ ### MCP workingDirectory 정책 (선택적 강화)
155
+
156
+ 기본적으로 MCP state/memory/trace 도구는 호출자가 제공한 `workingDirectory`를 수락합니다.
157
+ 이를 제한하려면 허용된 루트 목록을 설정하세요:
158
+
159
+ ```bash
160
+ export OMX_MCP_WORKDIR_ROOTS="/path/to/project:/path/to/another-root"
161
+ ```
162
+
163
+ 설정 시 이 루트 외부의 `workingDirectory` 값은 거부됩니다.
164
+
165
+ ## Codex-First 프롬프트 제어
166
+
167
+ 기본적으로 OMX는 다음을 주입합니다:
168
+
169
+ ```text
170
+ -c model_instructions_file="<cwd>/AGENTS.md"
171
+ ```
172
+
173
+ 이것은 프로젝트 `AGENTS.md` 지침을 Codex 시작 명령에 추가합니다.
174
+ Codex 동작을 확장하지만, Codex 핵심 시스템 정책을 대체/우회하지 않습니다.
175
+
176
+ 제어:
177
+
178
+ ```bash
179
+ OMX_BYPASS_DEFAULT_SYSTEM_PROMPT=0 omx # AGENTS.md 주입 비활성화
180
+ OMX_MODEL_INSTRUCTIONS_FILE=/path/to/instructions.md omx
181
+ ```
182
+
183
+ ## 팀 모드
184
+
185
+ 병렬 워커가 유리한 대규모 작업에 팀 모드를 사용합니다.
186
+
187
+ 라이프사이클:
188
+
189
+ ```text
190
+ start -> assign scoped lanes -> monitor -> verify terminal tasks -> shutdown
191
+ ```
192
+
193
+ 운영 명령어:
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
- ## 알아보기
202
+ 중요 규칙: 중단하는 경우가 아니라면 작업이 `in_progress` 상태인 동안 종료하지 마세요.
203
+
204
+ ### Ralph 정리 정책
205
+
206
+ 팀이 ralph 모드(`omx team ralph ...`)로 실행될 때, 종료 정리는
207
+ 일반 경로와 다른 전용 정책을 적용합니다:
208
+
209
+ | 동작 | 일반 팀 | Ralph 팀 |
210
+ |---|---|---|
211
+ | 실패 시 강제 종료 | `shutdown_gate_blocked` 발생 | 게이트를 우회하고 `ralph_cleanup_policy` 이벤트 기록 |
212
+ | 자동 브랜치 삭제 | 롤백 시 worktree 브랜치 삭제 | 브랜치 보존 (`skipBranchDeletion`) |
213
+ | 완료 로깅 | 표준 `shutdown_gate` 이벤트 | 작업 분석이 포함된 추가 `ralph_cleanup_summary` 이벤트 |
214
+
215
+ Ralph 정책은 팀 모드 상태(`linked_ralph`)에서 자동 감지되거나
216
+ `omx team shutdown <name> --ralph`로 명시적으로 전달할 수 있습니다.
217
+
218
+ 팀 워커를 위한 Worker CLI 선택:
219
+
220
+ ```bash
221
+ OMX_TEAM_WORKER_CLI=auto # 기본값; worker --model에 "claude"가 포함되면 claude 사용
222
+ OMX_TEAM_WORKER_CLI=codex # Codex CLI 워커 강제
223
+ OMX_TEAM_WORKER_CLI=claude # Claude CLI 워커 강제
224
+ OMX_TEAM_WORKER_CLI_MAP=codex,codex,claude,claude # 워커별 CLI 혼합 (길이=1 또는 워커 수)
225
+ OMX_TEAM_AUTO_INTERRUPT_RETRY=0 # 선택: 적응형 queue->resend 폴백 비활성화
226
+ ```
227
+
228
+ 참고:
229
+ - 워커 시작 인수는 여전히 `OMX_TEAM_WORKER_LAUNCH_ARGS`를 통해 공유됩니다.
230
+ - `OMX_TEAM_WORKER_CLI_MAP`은 워커별 선택을 위해 `OMX_TEAM_WORKER_CLI`를 재정의합니다.
231
+ - 트리거 제출은 기본적으로 적응형 재시도를 사용합니다 (queue/submit, 필요시 안전한 clear-line+resend 폴백).
232
+ - Claude worker 모드에서 OMX는 워커를 일반 `claude`로 시작하고 (추가 시작 인수 없음) 명시적인 `--model` / `--config` / `--effort` 재정의를 무시하여 Claude가 기본 `settings.json`을 사용합니다.
233
+
234
+ ## `omx setup`이 작성하는 것
235
+
236
+ - `.omx/setup-scope.json` (저장된 설정 범위)
237
+ - 범위에 따른 설치:
238
+ - `user`: `~/.codex/prompts/`, `~/.agents/skills/`, `~/.codex/config.toml`, `~/.omx/agents/`
239
+ - `project`: `./.codex/prompts/`, `./.agents/skills/`, `./.codex/config.toml`, `./.omx/agents/`
240
+ - 시작 동작: 저장된 범위가 `project`이면, `omx` 시작 시 자동으로 `CODEX_HOME=./.codex`를 사용합니다 (`CODEX_HOME`이 이미 설정되지 않은 경우).
241
+ - 기존 `AGENTS.md`는 기본적으로 보존됩니다. 대화형 TTY 실행에서 setup은 덮어쓰기 전에 확인합니다; `--force`는 확인 없이 덮어씁니다 (활성 세션 안전 검사는 여전히 적용됩니다).
242
+ - `config.toml` 업데이트 (두 범위 모두):
243
+ - `notify = ["node", "..."]`
244
+ - `model_reasoning_effort = "high"`
245
+ - `developer_instructions = "..."`
246
+ - `[features] multi_agent = true, child_agents_md = true`
247
+ - MCP 서버 항목 (`omx_state`, `omx_memory`, `omx_code_intel`, `omx_trace`)
248
+ - `[tui] status_line`
249
+ - 프로젝트 `AGENTS.md`
250
+ - `.omx/` 런타임 디렉토리 및 HUD 설정
251
+
252
+ ## 에이전트와 스킬
253
+
254
+ - 프롬프트: `prompts/*.md` (`user`는 `~/.codex/prompts/`에, `project`는 `./.codex/prompts/`에 설치)
255
+ - 스킬: `skills/*/SKILL.md` (`user`는 `~/.agents/skills/`에, `project`는 `./.agents/skills/`에 설치)
256
+
257
+ 예시:
258
+ - 에이전트: `architect`, `planner`, `executor`, `debugger`, `verifier`, `security-reviewer`
259
+ - 스킬: `autopilot`, `plan`, `team`, `ralph`, `ultrawork`, `cancel`
260
+
261
+ ## 프로젝트 구조
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
+ ## 개발
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
+ ## 문서
293
+
294
+ - **[전체 문서](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** — 완전한 가이드
295
+ - **[CLI 레퍼런스](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** — 모든 `omx` 명령어, 플래그 및 도구
296
+ - **[알림 가이드](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#notifications)** — Discord, Telegram, Slack 및 webhook 설정
297
+ - **[권장 워크플로우](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** — 일반적인 작업을 위한 실전 검증된 스킬 체인
298
+ - **[릴리스 노트](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#release-notes)** — 각 버전의 새로운 기능
299
+
300
+ ## 참고
301
+
302
+ - 전체 변경 로그: `CHANGELOG.md`
303
+ - 마이그레이션 가이드 (v0.4.4 이후 mainline): `docs/migration-mainline-post-v0.4.4.md`
304
+ - 커버리지 및 패리티 노트: `COVERAGE.md`
305
+ - Hook 확장 워크플로우: `docs/hooks-extension.md`
306
+ - 설정 및 기여 세부사항: `CONTRIBUTING.md`
307
+
308
+ ## 감사의 말
309
+
310
+ [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode)에서 영감을 받아 Codex CLI용으로 적응하였습니다.
311
+
312
+ ## 라이선스
34
313
 
35
- - 메인 문서: [README.md](./README.md)
36
- - 웹사이트: https://yeachan-heo.github.io/oh-my-codex-website/
314
+ MIT