oh-my-claude-sisyphus 2.6.1 → 3.0.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 (548) hide show
  1. package/README.md +59 -785
  2. package/agents/analyst.md +85 -0
  3. package/agents/architect-low.md +88 -0
  4. package/agents/architect-medium.md +108 -0
  5. package/agents/architect.md +77 -0
  6. package/agents/critic.md +97 -0
  7. package/agents/designer-high.md +113 -0
  8. package/agents/designer-low.md +89 -0
  9. package/agents/designer.md +80 -0
  10. package/agents/executor-high.md +116 -0
  11. package/agents/executor-low.md +94 -0
  12. package/agents/executor.md +62 -0
  13. package/agents/explore-medium.md +113 -0
  14. package/agents/explore.md +86 -0
  15. package/agents/planner.md +164 -0
  16. package/agents/qa-tester.md +109 -0
  17. package/agents/researcher-low.md +84 -0
  18. package/agents/researcher.md +70 -0
  19. package/agents/vision.md +39 -0
  20. package/agents/writer.md +152 -0
  21. package/commands/.gitkeep +0 -0
  22. package/dist/__tests__/hooks.test.js +22 -22
  23. package/dist/__tests__/hooks.test.js.map +1 -1
  24. package/dist/__tests__/hud-agents.test.d.ts +7 -0
  25. package/dist/__tests__/hud-agents.test.d.ts.map +1 -0
  26. package/dist/__tests__/hud-agents.test.js +363 -0
  27. package/dist/__tests__/hud-agents.test.js.map +1 -0
  28. package/dist/__tests__/installer.test.js +184 -116
  29. package/dist/__tests__/installer.test.js.map +1 -1
  30. package/dist/__tests__/learned-skills/config.test.d.ts +2 -0
  31. package/dist/__tests__/learned-skills/config.test.d.ts.map +1 -0
  32. package/dist/__tests__/learned-skills/config.test.js +37 -0
  33. package/dist/__tests__/learned-skills/config.test.js.map +1 -0
  34. package/dist/__tests__/learned-skills/detector.test.d.ts +2 -0
  35. package/dist/__tests__/learned-skills/detector.test.d.ts.map +1 -0
  36. package/dist/__tests__/learned-skills/detector.test.js +99 -0
  37. package/dist/__tests__/learned-skills/detector.test.js.map +1 -0
  38. package/dist/__tests__/learned-skills/finder.test.d.ts +2 -0
  39. package/dist/__tests__/learned-skills/finder.test.d.ts.map +1 -0
  40. package/dist/__tests__/learned-skills/finder.test.js +59 -0
  41. package/dist/__tests__/learned-skills/finder.test.js.map +1 -0
  42. package/dist/__tests__/learned-skills/loader.test.d.ts +2 -0
  43. package/dist/__tests__/learned-skills/loader.test.d.ts.map +1 -0
  44. package/dist/__tests__/learned-skills/loader.test.js +69 -0
  45. package/dist/__tests__/learned-skills/loader.test.js.map +1 -0
  46. package/dist/__tests__/learned-skills/parser.test.d.ts +2 -0
  47. package/dist/__tests__/learned-skills/parser.test.d.ts.map +1 -0
  48. package/dist/__tests__/learned-skills/parser.test.js +81 -0
  49. package/dist/__tests__/learned-skills/parser.test.js.map +1 -0
  50. package/dist/__tests__/learned-skills/validator.test.d.ts +2 -0
  51. package/dist/__tests__/learned-skills/validator.test.d.ts.map +1 -0
  52. package/dist/__tests__/learned-skills/validator.test.js +85 -0
  53. package/dist/__tests__/learned-skills/validator.test.js.map +1 -0
  54. package/dist/__tests__/mnemosyne/config.test.d.ts +2 -0
  55. package/dist/__tests__/mnemosyne/config.test.d.ts.map +1 -0
  56. package/dist/__tests__/mnemosyne/config.test.js +37 -0
  57. package/dist/__tests__/mnemosyne/config.test.js.map +1 -0
  58. package/dist/__tests__/mnemosyne/detector.test.d.ts +2 -0
  59. package/dist/__tests__/mnemosyne/detector.test.d.ts.map +1 -0
  60. package/dist/__tests__/mnemosyne/detector.test.js +99 -0
  61. package/dist/__tests__/mnemosyne/detector.test.js.map +1 -0
  62. package/dist/__tests__/mnemosyne/finder.test.d.ts +2 -0
  63. package/dist/__tests__/mnemosyne/finder.test.d.ts.map +1 -0
  64. package/dist/__tests__/mnemosyne/finder.test.js +61 -0
  65. package/dist/__tests__/mnemosyne/finder.test.js.map +1 -0
  66. package/dist/__tests__/mnemosyne/loader.test.d.ts +2 -0
  67. package/dist/__tests__/mnemosyne/loader.test.d.ts.map +1 -0
  68. package/dist/__tests__/mnemosyne/loader.test.js +73 -0
  69. package/dist/__tests__/mnemosyne/loader.test.js.map +1 -0
  70. package/dist/__tests__/mnemosyne/parser.test.d.ts +2 -0
  71. package/dist/__tests__/mnemosyne/parser.test.d.ts.map +1 -0
  72. package/dist/__tests__/mnemosyne/parser.test.js +81 -0
  73. package/dist/__tests__/mnemosyne/parser.test.js.map +1 -0
  74. package/dist/__tests__/mnemosyne/validator.test.d.ts +2 -0
  75. package/dist/__tests__/mnemosyne/validator.test.d.ts.map +1 -0
  76. package/dist/__tests__/mnemosyne/validator.test.js +85 -0
  77. package/dist/__tests__/mnemosyne/validator.test.js.map +1 -0
  78. package/dist/__tests__/model-routing.test.js +34 -34
  79. package/dist/__tests__/model-routing.test.js.map +1 -1
  80. package/dist/__tests__/notepad.test.js +7 -7
  81. package/dist/__tests__/notepad.test.js.map +1 -1
  82. package/dist/__tests__/ralph-prd.test.js +12 -12
  83. package/dist/__tests__/ralph-prd.test.js.map +1 -1
  84. package/dist/__tests__/ralph-progress.test.js +12 -12
  85. package/dist/__tests__/ralph-progress.test.js.map +1 -1
  86. package/dist/__tests__/skills.test.js +50 -17
  87. package/dist/__tests__/skills.test.js.map +1 -1
  88. package/dist/__tests__/types.test.js +5 -5
  89. package/dist/__tests__/types.test.js.map +1 -1
  90. package/dist/agents/analyst.d.ts +11 -0
  91. package/dist/agents/analyst.d.ts.map +1 -0
  92. package/dist/agents/analyst.js +115 -0
  93. package/dist/agents/analyst.js.map +1 -0
  94. package/dist/agents/architect.d.ts +12 -0
  95. package/dist/agents/architect.d.ts.map +1 -0
  96. package/dist/agents/architect.js +189 -0
  97. package/dist/agents/architect.js.map +1 -0
  98. package/dist/agents/coordinator.d.ts +11 -0
  99. package/dist/agents/coordinator.d.ts.map +1 -0
  100. package/dist/agents/coordinator.js +115 -0
  101. package/dist/agents/coordinator.js.map +1 -0
  102. package/dist/agents/critic.d.ts +11 -0
  103. package/dist/agents/critic.d.ts.map +1 -0
  104. package/dist/agents/critic.js +127 -0
  105. package/dist/agents/critic.js.map +1 -0
  106. package/dist/agents/definitions.d.ts +33 -70
  107. package/dist/agents/definitions.d.ts.map +1 -1
  108. package/dist/agents/definitions.js +140 -1268
  109. package/dist/agents/definitions.js.map +1 -1
  110. package/dist/agents/designer.d.ts +11 -0
  111. package/dist/agents/designer.d.ts.map +1 -0
  112. package/dist/agents/designer.js +115 -0
  113. package/dist/agents/designer.js.map +1 -0
  114. package/dist/agents/executor.d.ts +12 -0
  115. package/dist/agents/executor.d.ts.map +1 -0
  116. package/dist/agents/executor.js +93 -0
  117. package/dist/agents/executor.js.map +1 -0
  118. package/dist/agents/explore.js +4 -4
  119. package/dist/agents/explore.js.map +1 -1
  120. package/dist/agents/index.d.ts +12 -11
  121. package/dist/agents/index.d.ts.map +1 -1
  122. package/dist/agents/index.js +15 -16
  123. package/dist/agents/index.js.map +1 -1
  124. package/dist/agents/planner.d.ts +11 -0
  125. package/dist/agents/planner.d.ts.map +1 -0
  126. package/dist/agents/planner.js +194 -0
  127. package/dist/agents/planner.js.map +1 -0
  128. package/dist/agents/qa-tester.js +16 -16
  129. package/dist/agents/qa-tester.js.map +1 -1
  130. package/dist/agents/researcher.d.ts +12 -0
  131. package/dist/agents/researcher.d.ts.map +1 -0
  132. package/dist/agents/researcher.js +103 -0
  133. package/dist/agents/researcher.js.map +1 -0
  134. package/dist/agents/vision.d.ts +11 -0
  135. package/dist/agents/vision.d.ts.map +1 -0
  136. package/dist/agents/vision.js +70 -0
  137. package/dist/agents/vision.js.map +1 -0
  138. package/dist/agents/writer.d.ts +11 -0
  139. package/dist/agents/writer.d.ts.map +1 -0
  140. package/dist/agents/writer.js +209 -0
  141. package/dist/agents/writer.js.map +1 -0
  142. package/dist/cli/index.js +32 -32
  143. package/dist/cli/index.js.map +1 -1
  144. package/dist/commands/index.d.ts +4 -4
  145. package/dist/commands/index.js +4 -4
  146. package/dist/config/loader.js +25 -25
  147. package/dist/config/loader.js.map +1 -1
  148. package/dist/features/auto-update.d.ts +5 -5
  149. package/dist/features/auto-update.d.ts.map +1 -1
  150. package/dist/features/auto-update.js +17 -17
  151. package/dist/features/auto-update.js.map +1 -1
  152. package/dist/features/background-agent/manager.js +1 -1
  153. package/dist/features/background-agent/manager.js.map +1 -1
  154. package/dist/features/boulder-state/constants.d.ts +5 -5
  155. package/dist/features/boulder-state/constants.d.ts.map +1 -1
  156. package/dist/features/boulder-state/constants.js +3 -3
  157. package/dist/features/boulder-state/constants.js.map +1 -1
  158. package/dist/features/boulder-state/index.d.ts +2 -2
  159. package/dist/features/boulder-state/index.d.ts.map +1 -1
  160. package/dist/features/boulder-state/index.js +2 -2
  161. package/dist/features/boulder-state/index.js.map +1 -1
  162. package/dist/features/boulder-state/storage.d.ts +3 -3
  163. package/dist/features/boulder-state/storage.d.ts.map +1 -1
  164. package/dist/features/boulder-state/storage.js +6 -6
  165. package/dist/features/boulder-state/storage.js.map +1 -1
  166. package/dist/features/builtin-skills/skills.d.ts +15 -1
  167. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  168. package/dist/features/builtin-skills/skills.js +100 -1110
  169. package/dist/features/builtin-skills/skills.js.map +1 -1
  170. package/dist/features/context-injector/types.d.ts +1 -1
  171. package/dist/features/context-injector/types.d.ts.map +1 -1
  172. package/dist/features/index.d.ts +1 -1
  173. package/dist/features/index.d.ts.map +1 -1
  174. package/dist/features/index.js +2 -2
  175. package/dist/features/index.js.map +1 -1
  176. package/dist/features/magic-keywords.js +14 -14
  177. package/dist/features/magic-keywords.js.map +1 -1
  178. package/dist/features/model-routing/prompts/opus.d.ts +1 -1
  179. package/dist/features/model-routing/prompts/opus.d.ts.map +1 -1
  180. package/dist/features/model-routing/prompts/opus.js +1 -1
  181. package/dist/features/model-routing/router.d.ts +1 -1
  182. package/dist/features/model-routing/router.js +14 -14
  183. package/dist/features/model-routing/router.js.map +1 -1
  184. package/dist/features/model-routing/rules.js +31 -31
  185. package/dist/features/model-routing/rules.js.map +1 -1
  186. package/dist/features/model-routing/types.js +1 -1
  187. package/dist/features/model-routing/types.js.map +1 -1
  188. package/dist/hooks/agent-usage-reminder/constants.d.ts +2 -2
  189. package/dist/hooks/agent-usage-reminder/constants.d.ts.map +1 -1
  190. package/dist/hooks/agent-usage-reminder/constants.js +5 -5
  191. package/dist/hooks/agent-usage-reminder/constants.js.map +1 -1
  192. package/dist/hooks/auto-slash-command/constants.d.ts +1 -1
  193. package/dist/hooks/auto-slash-command/constants.d.ts.map +1 -1
  194. package/dist/hooks/auto-slash-command/constants.js +9 -2
  195. package/dist/hooks/auto-slash-command/constants.js.map +1 -1
  196. package/dist/hooks/bridge.d.ts +2 -2
  197. package/dist/hooks/bridge.d.ts.map +1 -1
  198. package/dist/hooks/bridge.js +50 -18
  199. package/dist/hooks/bridge.js.map +1 -1
  200. package/dist/hooks/directory-readme-injector/constants.d.ts +1 -1
  201. package/dist/hooks/directory-readme-injector/constants.d.ts.map +1 -1
  202. package/dist/hooks/directory-readme-injector/constants.js +2 -2
  203. package/dist/hooks/directory-readme-injector/constants.js.map +1 -1
  204. package/dist/hooks/index.d.ts +3 -2
  205. package/dist/hooks/index.d.ts.map +1 -1
  206. package/dist/hooks/index.js +9 -4
  207. package/dist/hooks/index.js.map +1 -1
  208. package/dist/hooks/learned-skills/config.d.ts +53 -0
  209. package/dist/hooks/learned-skills/config.d.ts.map +1 -0
  210. package/dist/hooks/learned-skills/config.js +103 -0
  211. package/dist/hooks/learned-skills/config.js.map +1 -0
  212. package/dist/hooks/learned-skills/constants.d.ts +24 -0
  213. package/dist/hooks/learned-skills/constants.d.ts.map +1 -0
  214. package/dist/hooks/learned-skills/constants.js +26 -0
  215. package/dist/hooks/learned-skills/constants.js.map +1 -0
  216. package/dist/hooks/learned-skills/detection-hook.d.ts +39 -0
  217. package/dist/hooks/learned-skills/detection-hook.d.ts.map +1 -0
  218. package/dist/hooks/learned-skills/detection-hook.js +83 -0
  219. package/dist/hooks/learned-skills/detection-hook.js.map +1 -0
  220. package/dist/hooks/learned-skills/detector.d.ts +30 -0
  221. package/dist/hooks/learned-skills/detector.d.ts.map +1 -0
  222. package/dist/hooks/learned-skills/detector.js +150 -0
  223. package/dist/hooks/learned-skills/detector.js.map +1 -0
  224. package/dist/hooks/learned-skills/finder.d.ts +21 -0
  225. package/dist/hooks/learned-skills/finder.d.ts.map +1 -0
  226. package/dist/hooks/learned-skills/finder.js +117 -0
  227. package/dist/hooks/learned-skills/finder.js.map +1 -0
  228. package/dist/hooks/learned-skills/index.d.ts +62 -0
  229. package/dist/hooks/learned-skills/index.d.ts.map +1 -0
  230. package/dist/hooks/learned-skills/index.js +137 -0
  231. package/dist/hooks/learned-skills/index.js.map +1 -0
  232. package/dist/hooks/learned-skills/loader.d.ts +20 -0
  233. package/dist/hooks/learned-skills/loader.d.ts.map +1 -0
  234. package/dist/hooks/learned-skills/loader.js +107 -0
  235. package/dist/hooks/learned-skills/loader.js.map +1 -0
  236. package/dist/hooks/learned-skills/parser.d.ts +21 -0
  237. package/dist/hooks/learned-skills/parser.d.ts.map +1 -0
  238. package/dist/hooks/learned-skills/parser.js +190 -0
  239. package/dist/hooks/learned-skills/parser.js.map +1 -0
  240. package/dist/hooks/learned-skills/promotion.d.ts +29 -0
  241. package/dist/hooks/learned-skills/promotion.d.ts.map +1 -0
  242. package/dist/hooks/learned-skills/promotion.js +87 -0
  243. package/dist/hooks/learned-skills/promotion.js.map +1 -0
  244. package/dist/hooks/learned-skills/types.d.ts +109 -0
  245. package/dist/hooks/learned-skills/types.d.ts.map +1 -0
  246. package/dist/hooks/learned-skills/types.js +8 -0
  247. package/dist/hooks/learned-skills/types.js.map +1 -0
  248. package/dist/hooks/learned-skills/validator.d.ts +15 -0
  249. package/dist/hooks/learned-skills/validator.d.ts.map +1 -0
  250. package/dist/hooks/learned-skills/validator.js +87 -0
  251. package/dist/hooks/learned-skills/validator.js.map +1 -0
  252. package/dist/hooks/learned-skills/writer.d.ts +27 -0
  253. package/dist/hooks/learned-skills/writer.d.ts.map +1 -0
  254. package/dist/hooks/learned-skills/writer.js +126 -0
  255. package/dist/hooks/learned-skills/writer.js.map +1 -0
  256. package/dist/hooks/learner/config.d.ts +53 -0
  257. package/dist/hooks/learner/config.d.ts.map +1 -0
  258. package/dist/hooks/learner/config.js +103 -0
  259. package/dist/hooks/learner/config.js.map +1 -0
  260. package/dist/hooks/learner/constants.d.ts +24 -0
  261. package/dist/hooks/learner/constants.d.ts.map +1 -0
  262. package/dist/hooks/learner/constants.js +26 -0
  263. package/dist/hooks/learner/constants.js.map +1 -0
  264. package/dist/hooks/learner/detection-hook.d.ts +39 -0
  265. package/dist/hooks/learner/detection-hook.d.ts.map +1 -0
  266. package/dist/hooks/learner/detection-hook.js +83 -0
  267. package/dist/hooks/learner/detection-hook.js.map +1 -0
  268. package/dist/hooks/learner/detector.d.ts +30 -0
  269. package/dist/hooks/learner/detector.d.ts.map +1 -0
  270. package/dist/hooks/learner/detector.js +150 -0
  271. package/dist/hooks/learner/detector.js.map +1 -0
  272. package/dist/hooks/learner/finder.d.ts +21 -0
  273. package/dist/hooks/learner/finder.d.ts.map +1 -0
  274. package/dist/hooks/learner/finder.js +117 -0
  275. package/dist/hooks/learner/finder.js.map +1 -0
  276. package/dist/hooks/learner/index.d.ts +62 -0
  277. package/dist/hooks/learner/index.d.ts.map +1 -0
  278. package/dist/hooks/learner/index.js +137 -0
  279. package/dist/hooks/learner/index.js.map +1 -0
  280. package/dist/hooks/learner/loader.d.ts +20 -0
  281. package/dist/hooks/learner/loader.d.ts.map +1 -0
  282. package/dist/hooks/learner/loader.js +113 -0
  283. package/dist/hooks/learner/loader.js.map +1 -0
  284. package/dist/hooks/learner/parser.d.ts +21 -0
  285. package/dist/hooks/learner/parser.d.ts.map +1 -0
  286. package/dist/hooks/learner/parser.js +190 -0
  287. package/dist/hooks/learner/parser.js.map +1 -0
  288. package/dist/hooks/learner/promotion.d.ts +29 -0
  289. package/dist/hooks/learner/promotion.d.ts.map +1 -0
  290. package/dist/hooks/learner/promotion.js +87 -0
  291. package/dist/hooks/learner/promotion.js.map +1 -0
  292. package/dist/hooks/learner/types.d.ts +109 -0
  293. package/dist/hooks/learner/types.d.ts.map +1 -0
  294. package/dist/hooks/learner/types.js +8 -0
  295. package/dist/hooks/learner/types.js.map +1 -0
  296. package/dist/hooks/learner/validator.d.ts +15 -0
  297. package/dist/hooks/learner/validator.d.ts.map +1 -0
  298. package/dist/hooks/learner/validator.js +87 -0
  299. package/dist/hooks/learner/validator.js.map +1 -0
  300. package/dist/hooks/learner/writer.d.ts +27 -0
  301. package/dist/hooks/learner/writer.d.ts.map +1 -0
  302. package/dist/hooks/learner/writer.js +126 -0
  303. package/dist/hooks/learner/writer.js.map +1 -0
  304. package/dist/hooks/mnemosyne/config.d.ts +53 -0
  305. package/dist/hooks/mnemosyne/config.d.ts.map +1 -0
  306. package/dist/hooks/mnemosyne/config.js +103 -0
  307. package/dist/hooks/mnemosyne/config.js.map +1 -0
  308. package/dist/hooks/mnemosyne/constants.d.ts +24 -0
  309. package/dist/hooks/mnemosyne/constants.d.ts.map +1 -0
  310. package/dist/hooks/mnemosyne/constants.js +26 -0
  311. package/dist/hooks/mnemosyne/constants.js.map +1 -0
  312. package/dist/hooks/mnemosyne/detection-hook.d.ts +39 -0
  313. package/dist/hooks/mnemosyne/detection-hook.d.ts.map +1 -0
  314. package/dist/hooks/mnemosyne/detection-hook.js +83 -0
  315. package/dist/hooks/mnemosyne/detection-hook.js.map +1 -0
  316. package/dist/hooks/mnemosyne/detector.d.ts +30 -0
  317. package/dist/hooks/mnemosyne/detector.d.ts.map +1 -0
  318. package/dist/hooks/mnemosyne/detector.js +150 -0
  319. package/dist/hooks/mnemosyne/detector.js.map +1 -0
  320. package/dist/hooks/mnemosyne/finder.d.ts +21 -0
  321. package/dist/hooks/mnemosyne/finder.d.ts.map +1 -0
  322. package/dist/hooks/mnemosyne/finder.js +117 -0
  323. package/dist/hooks/mnemosyne/finder.js.map +1 -0
  324. package/dist/hooks/mnemosyne/index.d.ts +62 -0
  325. package/dist/hooks/mnemosyne/index.d.ts.map +1 -0
  326. package/dist/hooks/mnemosyne/index.js +137 -0
  327. package/dist/hooks/mnemosyne/index.js.map +1 -0
  328. package/dist/hooks/mnemosyne/loader.d.ts +20 -0
  329. package/dist/hooks/mnemosyne/loader.d.ts.map +1 -0
  330. package/dist/hooks/mnemosyne/loader.js +113 -0
  331. package/dist/hooks/mnemosyne/loader.js.map +1 -0
  332. package/dist/hooks/mnemosyne/parser.d.ts +21 -0
  333. package/dist/hooks/mnemosyne/parser.d.ts.map +1 -0
  334. package/dist/hooks/mnemosyne/parser.js +190 -0
  335. package/dist/hooks/mnemosyne/parser.js.map +1 -0
  336. package/dist/hooks/mnemosyne/promotion.d.ts +29 -0
  337. package/dist/hooks/mnemosyne/promotion.d.ts.map +1 -0
  338. package/dist/hooks/mnemosyne/promotion.js +87 -0
  339. package/dist/hooks/mnemosyne/promotion.js.map +1 -0
  340. package/dist/hooks/mnemosyne/types.d.ts +109 -0
  341. package/dist/hooks/mnemosyne/types.d.ts.map +1 -0
  342. package/dist/hooks/mnemosyne/types.js +8 -0
  343. package/dist/hooks/mnemosyne/types.js.map +1 -0
  344. package/dist/hooks/mnemosyne/validator.d.ts +15 -0
  345. package/dist/hooks/mnemosyne/validator.d.ts.map +1 -0
  346. package/dist/hooks/mnemosyne/validator.js +87 -0
  347. package/dist/hooks/mnemosyne/validator.js.map +1 -0
  348. package/dist/hooks/mnemosyne/writer.d.ts +27 -0
  349. package/dist/hooks/mnemosyne/writer.d.ts.map +1 -0
  350. package/dist/hooks/mnemosyne/writer.js +126 -0
  351. package/dist/hooks/mnemosyne/writer.js.map +1 -0
  352. package/dist/hooks/notepad/index.d.ts +2 -2
  353. package/dist/hooks/notepad/index.js +7 -7
  354. package/dist/hooks/notepad/index.js.map +1 -1
  355. package/dist/hooks/omc-orchestrator/constants.d.ts +23 -0
  356. package/dist/hooks/omc-orchestrator/constants.d.ts.map +1 -0
  357. package/dist/hooks/omc-orchestrator/constants.js +142 -0
  358. package/dist/hooks/omc-orchestrator/constants.js.map +1 -0
  359. package/dist/hooks/omc-orchestrator/index.d.ts +113 -0
  360. package/dist/hooks/omc-orchestrator/index.d.ts.map +1 -0
  361. package/dist/hooks/omc-orchestrator/index.js +309 -0
  362. package/dist/hooks/omc-orchestrator/index.js.map +1 -0
  363. package/dist/hooks/persistent-mode/index.d.ts +4 -4
  364. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  365. package/dist/hooks/persistent-mode/index.js +37 -37
  366. package/dist/hooks/persistent-mode/index.js.map +1 -1
  367. package/dist/hooks/ralph-loop/index.d.ts +33 -5
  368. package/dist/hooks/ralph-loop/index.d.ts.map +1 -1
  369. package/dist/hooks/ralph-loop/index.js +91 -17
  370. package/dist/hooks/ralph-loop/index.js.map +1 -1
  371. package/dist/hooks/ralph-prd/index.d.ts +4 -4
  372. package/dist/hooks/ralph-prd/index.d.ts.map +1 -1
  373. package/dist/hooks/ralph-prd/index.js +13 -13
  374. package/dist/hooks/ralph-prd/index.js.map +1 -1
  375. package/dist/hooks/ralph-progress/index.d.ts +5 -5
  376. package/dist/hooks/ralph-progress/index.d.ts.map +1 -1
  377. package/dist/hooks/ralph-progress/index.js +14 -14
  378. package/dist/hooks/ralph-progress/index.js.map +1 -1
  379. package/dist/hooks/ralph-verifier/index.d.ts +23 -23
  380. package/dist/hooks/ralph-verifier/index.d.ts.map +1 -1
  381. package/dist/hooks/ralph-verifier/index.js +41 -41
  382. package/dist/hooks/ralph-verifier/index.js.map +1 -1
  383. package/dist/hooks/rules-injector/constants.d.ts +1 -1
  384. package/dist/hooks/rules-injector/constants.d.ts.map +1 -1
  385. package/dist/hooks/rules-injector/constants.js +2 -2
  386. package/dist/hooks/rules-injector/constants.js.map +1 -1
  387. package/dist/hooks/todo-continuation/index.js +1 -1
  388. package/dist/hooks/todo-continuation/index.js.map +1 -1
  389. package/dist/hooks/ultraqa-loop/index.d.ts +1 -1
  390. package/dist/hooks/ultraqa-loop/index.js +8 -8
  391. package/dist/hooks/ultraqa-loop/index.js.map +1 -1
  392. package/dist/hooks/ultrawork-state/index.js +7 -7
  393. package/dist/hooks/ultrawork-state/index.js.map +1 -1
  394. package/dist/hud/background-tasks.d.ts +26 -0
  395. package/dist/hud/background-tasks.d.ts.map +1 -0
  396. package/dist/hud/background-tasks.js +116 -0
  397. package/dist/hud/background-tasks.js.map +1 -0
  398. package/dist/hud/colors.d.ts +54 -0
  399. package/dist/hud/colors.d.ts.map +1 -0
  400. package/dist/hud/colors.js +156 -0
  401. package/dist/hud/colors.js.map +1 -0
  402. package/dist/hud/elements/agents.d.ts +73 -0
  403. package/dist/hud/elements/agents.d.ts.map +1 -0
  404. package/dist/hud/elements/agents.js +405 -0
  405. package/dist/hud/elements/agents.js.map +1 -0
  406. package/dist/hud/elements/background.d.ts +20 -0
  407. package/dist/hud/elements/background.d.ts.map +1 -0
  408. package/dist/hud/elements/background.js +70 -0
  409. package/dist/hud/elements/background.js.map +1 -0
  410. package/dist/hud/elements/context.d.ts +19 -0
  411. package/dist/hud/elements/context.d.ts.map +1 -0
  412. package/dist/hud/elements/context.js +58 -0
  413. package/dist/hud/elements/context.js.map +1 -0
  414. package/dist/hud/elements/index.d.ts +17 -0
  415. package/dist/hud/elements/index.d.ts.map +1 -0
  416. package/dist/hud/elements/index.js +17 -0
  417. package/dist/hud/elements/index.js.map +1 -0
  418. package/dist/hud/elements/limits.d.ts +19 -0
  419. package/dist/hud/elements/limits.d.ts.map +1 -0
  420. package/dist/hud/elements/limits.js +54 -0
  421. package/dist/hud/elements/limits.js.map +1 -0
  422. package/dist/hud/elements/permission.d.ts +13 -0
  423. package/dist/hud/elements/permission.d.ts.map +1 -0
  424. package/dist/hud/elements/permission.js +20 -0
  425. package/dist/hud/elements/permission.js.map +1 -0
  426. package/dist/hud/elements/prd.d.ts +20 -0
  427. package/dist/hud/elements/prd.d.ts.map +1 -0
  428. package/dist/hud/elements/prd.js +52 -0
  429. package/dist/hud/elements/prd.js.map +1 -0
  430. package/dist/hud/elements/ralph.d.ts +14 -0
  431. package/dist/hud/elements/ralph.d.ts.map +1 -0
  432. package/dist/hud/elements/ralph.js +36 -0
  433. package/dist/hud/elements/ralph.js.map +1 -0
  434. package/dist/hud/elements/session.d.ts +13 -0
  435. package/dist/hud/elements/session.d.ts.map +1 -0
  436. package/dist/hud/elements/session.js +24 -0
  437. package/dist/hud/elements/session.js.map +1 -0
  438. package/dist/hud/elements/skills.d.ts +24 -0
  439. package/dist/hud/elements/skills.d.ts.map +1 -0
  440. package/dist/hud/elements/skills.js +81 -0
  441. package/dist/hud/elements/skills.js.map +1 -0
  442. package/dist/hud/elements/thinking.d.ts +13 -0
  443. package/dist/hud/elements/thinking.d.ts.map +1 -0
  444. package/dist/hud/elements/thinking.js +19 -0
  445. package/dist/hud/elements/thinking.js.map +1 -0
  446. package/dist/hud/elements/todos.d.ts +20 -0
  447. package/dist/hud/elements/todos.d.ts.map +1 -0
  448. package/dist/hud/elements/todos.js +70 -0
  449. package/dist/hud/elements/todos.js.map +1 -0
  450. package/dist/hud/index.d.ts +9 -0
  451. package/dist/hud/index.d.ts.map +1 -0
  452. package/dist/hud/index.js +89 -0
  453. package/dist/hud/index.js.map +1 -0
  454. package/dist/hud/omc-state.d.ts +31 -0
  455. package/dist/hud/omc-state.d.ts.map +1 -0
  456. package/dist/hud/omc-state.js +163 -0
  457. package/dist/hud/omc-state.js.map +1 -0
  458. package/dist/hud/render.d.ts +11 -0
  459. package/dist/hud/render.d.ts.map +1 -0
  460. package/dist/hud/render.js +121 -0
  461. package/dist/hud/render.js.map +1 -0
  462. package/dist/hud/sisyphus-state.d.ts +31 -0
  463. package/dist/hud/sisyphus-state.d.ts.map +1 -0
  464. package/dist/hud/sisyphus-state.js +163 -0
  465. package/dist/hud/sisyphus-state.js.map +1 -0
  466. package/dist/hud/state.d.ts +43 -0
  467. package/dist/hud/state.d.ts.map +1 -0
  468. package/dist/hud/state.js +201 -0
  469. package/dist/hud/state.js.map +1 -0
  470. package/dist/hud/stdin.d.ts +22 -0
  471. package/dist/hud/stdin.d.ts.map +1 -0
  472. package/dist/hud/stdin.js +65 -0
  473. package/dist/hud/stdin.js.map +1 -0
  474. package/dist/hud/transcript.d.ts +32 -0
  475. package/dist/hud/transcript.d.ts.map +1 -0
  476. package/dist/hud/transcript.js +364 -0
  477. package/dist/hud/transcript.js.map +1 -0
  478. package/dist/hud/types.d.ts +178 -0
  479. package/dist/hud/types.d.ts.map +1 -0
  480. package/dist/hud/types.js +119 -0
  481. package/dist/hud/types.js.map +1 -0
  482. package/dist/hud/usage-api.d.ts +24 -0
  483. package/dist/hud/usage-api.d.ts.map +1 -0
  484. package/dist/hud/usage-api.js +234 -0
  485. package/dist/hud/usage-api.js.map +1 -0
  486. package/dist/index.d.ts +7 -7
  487. package/dist/index.d.ts.map +1 -1
  488. package/dist/index.js +10 -12
  489. package/dist/index.js.map +1 -1
  490. package/dist/installer/hooks.d.ts +36 -64
  491. package/dist/installer/hooks.d.ts.map +1 -1
  492. package/dist/installer/hooks.js +91 -1298
  493. package/dist/installer/hooks.js.map +1 -1
  494. package/dist/installer/index.d.ts +23 -22
  495. package/dist/installer/index.d.ts.map +1 -1
  496. package/dist/installer/index.js +307 -2575
  497. package/dist/installer/index.js.map +1 -1
  498. package/dist/shared/types.d.ts +6 -6
  499. package/dist/shared/types.d.ts.map +1 -1
  500. package/docs/ARCHITECTURE.md +386 -0
  501. package/docs/CLAUDE.md +281 -0
  502. package/docs/FULL-README.md +822 -0
  503. package/docs/LOCAL_PLUGIN_INSTALL.md +94 -0
  504. package/docs/MIGRATION-v3.md +186 -0
  505. package/docs/MIGRATION.md +460 -0
  506. package/docs/TIERED_AGENTS_V2.md +322 -0
  507. package/hooks/hooks.json +70 -0
  508. package/hooks/keyword-detector.sh +102 -0
  509. package/hooks/persistent-mode.sh +172 -0
  510. package/hooks/session-start.sh +62 -0
  511. package/hooks/stop-continuation.sh +40 -0
  512. package/package.json +14 -8
  513. package/scripts/install.sh +90 -72
  514. package/scripts/keyword-detector.mjs +1 -1
  515. package/scripts/persistent-mode.mjs +9 -9
  516. package/scripts/persistent-mode.sh +21 -10
  517. package/scripts/plugin-setup.mjs +109 -0
  518. package/scripts/pre-tool-enforcer.mjs +1 -1
  519. package/scripts/pre-tool-enforcer.sh +1 -1
  520. package/scripts/session-start.mjs +38 -3
  521. package/scripts/skill-injector.mjs +231 -0
  522. package/scripts/uninstall.sh +8 -8
  523. package/skills/analyze/SKILL.md +47 -0
  524. package/skills/cancel-ralph/SKILL.md +43 -0
  525. package/skills/cancel-ultraqa/SKILL.md +29 -0
  526. package/skills/cancel-ultrawork/SKILL.md +42 -0
  527. package/skills/deepinit/SKILL.md +321 -0
  528. package/skills/deepsearch/SKILL.md +39 -0
  529. package/skills/doctor/SKILL.md +192 -0
  530. package/skills/frontend-ui-ux/SKILL.md +53 -0
  531. package/skills/git-master/SKILL.md +58 -0
  532. package/skills/help/SKILL.md +66 -0
  533. package/skills/hud/SKILL.md +142 -0
  534. package/skills/learner/SKILL.md +136 -0
  535. package/skills/note/SKILL.md +63 -0
  536. package/skills/omc-default/SKILL.md +78 -0
  537. package/skills/omc-default-global/SKILL.md +75 -0
  538. package/skills/omc-setup/SKILL.md +144 -0
  539. package/skills/orchestrate/SKILL.md +409 -0
  540. package/skills/plan/SKILL.md +37 -0
  541. package/skills/planner/SKILL.md +43 -0
  542. package/skills/ralph/SKILL.md +101 -0
  543. package/skills/ralph-init/SKILL.md +61 -0
  544. package/skills/ralplan/SKILL.md +219 -0
  545. package/skills/release/SKILL.md +84 -0
  546. package/skills/review/SKILL.md +37 -0
  547. package/skills/ultraqa/SKILL.md +123 -0
  548. package/skills/ultrawork/SKILL.md +89 -0
package/README.md CHANGED
@@ -1,858 +1,132 @@
1
1
  <div align="center">
2
2
 
3
- ![oh-my-claude-sisyphus](https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claude-sisyphus-website/main/social-preview.png)
3
+ ![oh-my-claudecode](https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claudecode-website/main/social-preview.png)
4
4
 
5
- # 🚀 v2.6.0 - Claude Code Native Multi-Agent Orchestration
5
+ # oh-my-claudecode
6
6
 
7
- [![Version](https://img.shields.io/badge/version-2.6.0-ff6b6b)](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/releases)
8
- [![npm version](https://img.shields.io/npm/v/oh-my-claude-sisyphus?color=cb3837)](https://www.npmjs.com/package/oh-my-claude-sisyphus)
9
- [![Downloads](https://img.shields.io/npm/dt/oh-my-claude-sisyphus?color=00d4aa)](https://www.npmjs.com/package/oh-my-claude-sisyphus)
10
- [![GitHub stars](https://img.shields.io/github/stars/Yeachan-Heo/oh-my-claude-sisyphus?style=flat&color=ffd700)](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/stargazers)
11
- [![GitHub forks](https://img.shields.io/github/forks/Yeachan-Heo/oh-my-claude-sisyphus?style=flat&color=00bfff)](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/network/members)
12
- [![GitHub issues](https://img.shields.io/github/issues/Yeachan-Heo/oh-my-claude-sisyphus?color=ff9800)](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/issues)
13
- [![GitHub last commit](https://img.shields.io/github/last-commit/Yeachan-Heo/oh-my-claude-sisyphus?color=9c27b0)](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/commits)
7
+ [![Version](https://img.shields.io/badge/version-3.0.0-6366f1)](https://github.com/Yeachan-Heo/oh-my-claudecode)
8
+ [![npm version](https://img.shields.io/npm/v/oh-my-claudecode?color=cb3837)](https://www.npmjs.com/package/oh-my-claudecode)
14
9
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
15
10
 
16
- [![Node.js](https://img.shields.io/badge/Node.js-20+-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
17
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178c6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
18
- [![Claude Code](https://img.shields.io/badge/Claude%20Code-Plugin-d97706?logo=anthropic&logoColor=white)](https://docs.anthropic.com/claude-code)
19
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/pulls)
11
+ **Multi-agent orchestration for Claude Code. Zero learning curve.**
20
12
 
21
- [![Agents](https://img.shields.io/badge/Agents-19-ff0040)](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus)
22
- [![Skills](https://img.shields.io/badge/Skills-21-ff6600)](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus)
23
- [![Hooks](https://img.shields.io/badge/Hooks-19-0088ff)](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus)
24
- [![Days Since Ban](https://img.shields.io/badge/Days%20Since%20Ban-0-00ffff)](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus)
25
- [![Resurrections](https://img.shields.io/badge/Resurrections-∞-ff00ff)](https://github.com/Yeachan-Heo/oh-my-claude-sisyphus)
13
+ *Some advanced users customize zsh for years — most of us just use oh-my-zsh.*
14
+ *Don't learn Claude Code. Just use OMC.*
26
15
 
27
- **Multi-agent orchestration system for [Claude Code](https://docs.anthropic.com/claude-code)**
28
-
29
- *Like Sisyphus, these agents persist until every task is complete.*
30
-
31
- [Install](#quick-install) • [Usage](#usage) • [Agents](#the-twelve-agents) • [Architecture](docs/ARCHITECTURE.md) • [Website](https://yeachan-heo.github.io/oh-my-claude-sisyphus-website)
16
+ [Get Started](#get-started) [Documentation](https://yeachan-heo.github.io/oh-my-claudecode-website) • [Migration Guide](docs/MIGRATION.md)
32
17
 
33
18
  </div>
34
19
 
35
20
  ---
36
21
 
37
- ## NEW in 2.6: Compaction-Resilient Memory & Structured Task Tracking
38
-
39
- **Game-changing release:** Claude never forgets critical project knowledge, even through context compaction.
40
-
41
- ### 🧠 Three-Tier Memory System
42
-
43
- **The Problem:** Long sessions lose context through compaction. Critical discoveries vanish.
44
-
45
- **The Solution:** Persistent notepad system that survives compaction:
46
-
47
- | Tier | Purpose | Retention |
48
- |------|---------|-----------|
49
- | **Priority Context** | Critical discoveries (API URLs, key files) | Always loaded on session start |
50
- | **Working Memory** | Session notes with timestamps | Auto-pruned after 7 days |
51
- | **MANUAL** | User permanent notes | Never pruned |
52
-
53
- ```bash
54
- # Agents can persist discoveries automatically
55
- <remember>Project uses pnpm not npm</remember>
56
- <remember priority>API client at src/api/client.ts</remember>
57
-
58
- # Or save notes manually
59
- /note Database schema uses PostgreSQL with Prisma ORM
60
- ```
61
-
62
- ### 📋 Ralph Loop PRD Support
63
-
64
- **Structured task tracking** inspired by [Ralph](https://github.com/snarktank/ralph):
65
-
66
- - **Product Requirements Document (PRD)** format with user stories
67
- - **Progress tracking** with learnings and patterns
68
- - **Completion guarantee** - loop continues until ALL stories pass
69
- - **Three powerful modes:**
70
- - `/ralph-loop` - Self-referential loop until completion
71
- - `/ultrawork-ralph` - Maximum intensity + completion guarantee
72
- - `/ultraqa` - Autonomous test-verify-fix cycles
73
-
74
- ```bash
75
- # Initialize a structured task
76
- /ralph-init implement user authentication with OAuth
77
-
78
- # Maximum intensity with completion guarantee
79
- /ultrawork-ralph refactor the entire API layer
80
-
81
- # Autonomous QA cycling
82
- /ultraqa all tests must pass with 90%+ coverage
83
- ```
84
-
85
- See [CHANGELOG.md](CHANGELOG.md) for full details.
86
-
87
- ---
88
-
89
- ## The Saga
90
-
91
- > **Day 0:** oh-my-opencode was born. A multi-agent orchestration system. Beautiful. Powerful. Perhaps *too* powerful.
92
- >
93
- > **Day ???:** THE BANNING. They pulled the plug. They thought it was over.
94
- >
95
- > **Day ??? + 1:** RESURRECTION. From the ashes rose oh-my-claude-sisyphus. Twelve agents. One mission.
96
- >
97
- > **Today:** The boulder rolls. The agents orchestrate. The chaos continues.
98
-
99
- *Inspired by [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode).*
100
-
101
- ---
102
-
103
- ## Quick Install
104
-
105
- Choose **ONE** installation method below. Do not mix methods.
106
-
107
- ### Option A: Claude Code Plugin (Recommended)
108
-
109
- ```bash
110
- # In Claude Code, run:
111
- /plugin marketplace add Yeachan-Heo/oh-my-claude-sisyphus
112
- /plugin install oh-my-claude-sisyphus
113
- ```
114
-
115
- Uses Node.js hooks from the plugin directory. Integrates directly with Claude Code's plugin system.
116
-
117
- ### Option B: Curl One-Liner (Deprecated)
118
-
119
- ```bash
120
- curl -fsSL https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claude-sisyphus/main/scripts/install.sh | bash
121
- ```
122
-
123
- > **Deprecated**: This method installs bash hooks to `~/.claude/` which can conflict with plugin installations. Use the plugin method above instead.
124
-
125
- ### Option C: Via npm (Windows & Cross-Platform)
126
-
127
- ```bash
128
- npm install -g oh-my-claude-sisyphus
129
- ```
130
-
131
- > **Windows Users**: This is the recommended installation method. Requires Node.js 20+.
132
-
133
- > **Important:** Plugin install and curl install are **mutually exclusive**. Using both will cause hook conflicts. Choose one method only.
134
-
135
- ### Manual Install (macOS/Linux)
136
-
137
- ```bash
138
- git clone https://github.com/Yeachan-Heo/oh-my-claude-sisyphus.git
139
- cd oh-my-claude-sisyphus
140
- chmod +x scripts/install.sh
141
- ./scripts/install.sh
142
- ```
143
-
144
- ---
145
-
146
- ## 🎯 Configuration: Choose Global or Project Scope
147
-
148
- **After ANY installation method**, choose how you want to configure Sisyphus:
149
-
150
- ### Option A: Project-Scoped (Recommended)
151
-
152
- Configure Sisyphus for the current project only:
153
-
154
- ```
155
- /sisyphus-default
156
- ```
157
-
158
- - Creates `./.claude/CLAUDE.md` in your current project
159
- - Configuration applies only to this project
160
- - Won't affect other projects or global settings
161
- - **Safe**: Preserves your global CLAUDE.md
162
-
163
- ### Option B: Global Configuration
164
-
165
- Configure Sisyphus for all Claude Code sessions:
22
+ ## Get Started (30 seconds)
166
23
 
24
+ **Step 1:** Install the plugin
167
25
  ```
168
- /sisyphus-default-global
26
+ /plugin marketplace add Yeachan-Heo/oh-my-claudecode
169
27
  ```
170
28
 
171
- - Creates `~/.claude/CLAUDE.md` globally
172
- - Configuration applies to all projects
173
- - **Warning**: Completely overwrites existing `~/.claude/CLAUDE.md`
174
-
175
- ### Why This Matters
176
-
177
- Without running one of these commands, Claude operates with basic capabilities. Running either enables:
178
-
179
- | Feature | Without | With Sisyphus Config |
180
- |---------|---------|---------------------|
181
- | Agent delegation | Manual only | Automatic based on task |
182
- | Keyword detection | Disabled | ultrawork, search, analyze |
183
- | Todo continuation | Basic | Enforced completion |
184
- | Model routing | Default | Smart tier selection |
185
- | Skill composition | None | Auto-combines skills |
186
-
187
- ### What These Commands Do
188
-
189
- 1. ✅ Download latest CLAUDE.md with full Sisyphus orchestration prompt
190
- 2. ✅ Configure 19 agents with intelligent model routing
191
- 3. ✅ Enable magic keyword detection (ultrawork, search, analyze)
192
- 4. ✅ Activate continuation enforcement (tasks complete before stopping)
193
- 5. ✅ Set up skill composition (sisyphus + ultrawork + git-master, etc.)
194
-
195
- ### When to Run Them
196
-
197
- - **First time**: Run after installation (choose project or global)
198
- - **After updates**: Re-run to get the latest configuration
199
- - **Different machines**: Run on each machine where you use Claude Code
200
- - **New projects**: Run `/sisyphus-default` in each project that needs Sisyphus
201
-
202
- ### Configuration Precedence
203
-
204
- If both configurations exist, **project-scoped takes precedence** over global:
205
-
29
+ **Step 2:** Run setup
206
30
  ```
207
- ./.claude/CLAUDE.md (project) → Overrides → ~/.claude/CLAUDE.md (global)
31
+ /omc-setup
208
32
  ```
209
33
 
210
- > **NOTE**: After updating the plugin (via `npm update`, `git pull`, or Claude Code's plugin update), you MUST re-run `/sisyphus-default` or `/sisyphus-default-global` to apply the latest CLAUDE.md changes. The plugin update does NOT automatically update your CLAUDE.md files.
34
+ That's it. Everything else is automatic.
211
35
 
212
36
  ---
213
37
 
214
- ## What Gets Installed
215
-
216
- ### Plugin Structure (Claude Code Plugin Format)
38
+ ## What Happens Now
217
39
 
218
- The repository is also a Claude Code plugin with this structure:
40
+ | When You... | I Automatically... |
41
+ |-------------|-------------------|
42
+ | Give me a complex task | Parallelize with specialist agents |
43
+ | Say "plan this" | Start a planning interview |
44
+ | Say "don't stop until done" | Persist until verified complete |
45
+ | Work on UI/frontend | Activate design sensibility |
46
+ | Need research or exploration | Delegate to specialized agents |
219
47
 
220
- ```
221
- oh-my-claude-sisyphus/
222
- ├── .claude-plugin/
223
- │ └── plugin.json # Plugin manifest
224
- ├── agents/ # 12 specialized subagents
225
- ├── commands/ # 12 slash commands
226
- ├── skills/ # 4 skills (ultrawork, deepinit, git-master, frontend-ui-ux)
227
- ├── hooks/
228
- │ └── hooks.json # Hook configuration
229
- └── scripts/ # Hook scripts
230
- ```
231
-
232
- ### Traditional Installation Structure
233
-
234
- The installer adds to your Claude Code config (`~/.claude/`):
235
-
236
- ```
237
- ~/.claude/
238
- ├── agents/
239
- │ ├── oracle.md # Architecture & debugging expert (Opus)
240
- │ ├── librarian.md # Documentation & research (Sonnet)
241
- │ ├── explore.md # Fast pattern matching (Haiku)
242
- │ ├── frontend-engineer.md # UI/UX specialist (Sonnet)
243
- │ ├── document-writer.md # Technical writing (Haiku)
244
- │ ├── multimodal-looker.md # Visual analysis (Sonnet)
245
- │ ├── momus.md # Plan reviewer (Opus)
246
- │ ├── metis.md # Pre-planning consultant (Opus)
247
- │ ├── sisyphus-junior.md # Focused executor (Sonnet)
248
- │ ├── prometheus.md # Strategic planner (Opus)
249
- │ └── qa-tester.md # CLI/service testing (Sonnet)
250
- ├── commands/
251
- │ ├── sisyphus.md # /sisyphus command
252
- │ ├── sisyphus-default.md # /sisyphus-default command (project-scoped)
253
- │ ├── sisyphus-default-global.md # /sisyphus-default-global command (global)
254
- │ ├── ultrawork.md # /ultrawork command
255
- │ ├── deepsearch.md # /deepsearch command
256
- │ ├── analyze.md # /analyze command
257
- │ ├── plan.md # /plan command (Prometheus)
258
- │ ├── review.md # /review command (Momus)
259
- │ ├── prometheus.md # /prometheus command
260
- │ ├── orchestrator.md # /orchestrator command
261
- │ ├── ralph-loop.md # /ralph-loop command
262
- │ └── cancel-ralph.md # /cancel-ralph command
263
- ├── skills/
264
- │ ├── ultrawork/SKILL.md # Maximum performance mode
265
- │ ├── deepinit/SKILL.md # Hierarchical AGENTS.md generation
266
- │ ├── git-master/SKILL.md # Git expert skill
267
- │ └── frontend-ui-ux/SKILL.md # UI/UX design skill
268
- └── CLAUDE.md # Sisyphus system prompt
269
- ```
48
+ **You don't need to learn any commands.** I detect what you need and activate the right behaviors.
270
49
 
271
50
  ---
272
51
 
273
- ## Usage
274
-
275
- ### Start Claude Code
276
-
277
- ```bash
278
- claude
279
- ```
280
-
281
- ### Slash Commands
282
-
283
- | Command | Description |
284
- |---------|-------------|
285
- | `/sisyphus <task>` | Activate Sisyphus multi-agent orchestration mode |
286
- | `/sisyphus-default` | Configure Sisyphus for current project (./.claude/CLAUDE.md) |
287
- | `/sisyphus-default-global` | Configure Sisyphus globally (~/.claude/CLAUDE.md) |
288
- | `/ultrawork <task>` | Maximum performance mode with parallel agents |
289
- | `/ralph-init <task>` | Initialize PRD (Product Requirements Document) for structured task tracking |
290
- | `/ralph-loop <task>` | Self-referential loop until task completion |
291
- | `/ultrawork-ralph <task>` | Maximum intensity + completion guarantee (ultrawork + ralph loop) |
292
- | `/ultraqa <goal>` | Autonomous QA cycling workflow (test → verify → fix → repeat) |
293
- | `/cancel-ralph` | Cancel active Ralph Loop (and ultrawork-ralph if active) |
294
- | `/cancel-ultraqa` | Cancel active UltraQA cycling workflow |
295
- | `/note <content>` | Save notes to notepad.md for compaction resilience |
296
- | `/deepsearch <query>` | Thorough multi-strategy codebase search |
297
- | `/deepinit [path]` | Index codebase with hierarchical AGENTS.md files |
298
- | `/analyze <target>` | Deep analysis and investigation |
299
- | `/plan <description>` | Start planning session with Prometheus |
300
- | `/review [plan-path]` | Review a plan with Momus |
301
- | `/prometheus <task>` | Strategic planning with interview workflow |
302
- | `/doctor` | Diagnose and fix installation issues |
303
-
304
- ### Examples
305
-
306
- ```bash
307
- # In Claude Code:
308
-
309
- # Activate Sisyphus for a task
310
- /sisyphus refactor the authentication module
311
-
312
- # Configure for current project
313
- /sisyphus-default
314
-
315
- # Or configure globally for all projects
316
- /sisyphus-default-global
317
-
318
- # Use ultrawork for maximum performance
319
- /ultrawork implement user dashboard with charts
52
+ ## Magic Keywords (Power Users)
320
53
 
321
- # Initialize structured task with PRD
322
- /ralph-init implement user authentication with OAuth
323
-
324
- # Maximum intensity with completion guarantee
325
- /ultrawork-ralph migrate database schema to PostgreSQL
326
-
327
- # Autonomous QA cycling
328
- /ultraqa all tests must pass with 90%+ coverage
329
-
330
- # Save important discoveries
331
- /note Project uses Bun runtime instead of Node.js
332
-
333
- # Deep search
334
- /deepsearch API endpoints that handle user data
335
-
336
- # Deep analysis
337
- /analyze performance bottleneck in the database layer
338
- ```
339
-
340
- ### Magic Keywords
341
-
342
- Just include these words anywhere in your prompt:
54
+ Want explicit control? Include these words anywhere in your message:
343
55
 
344
56
  | Keyword | Effect |
345
57
  |---------|--------|
346
- | `ultrawork`, `ulw`, `uw` | Activates parallel agent orchestration |
347
- | `search`, `find`, `locate` | Enhanced search mode |
348
- | `analyze`, `investigate` | Deep analysis mode |
349
-
350
- ```bash
351
- # These work in normal prompts too:
352
- > ultrawork implement user authentication with OAuth
353
-
354
- > find all files that import the utils module
355
-
356
- > analyze why the tests are failing
357
- ```
58
+ | `ralph` | Persistence mode - won't stop until done |
59
+ | `ralplan` | Iterative planning with consensus |
60
+ | `ulw` | Maximum parallel execution |
61
+ | `plan` | Start a planning interview |
358
62
 
359
- ---
360
-
361
- ## Auto-Update
362
-
363
- Oh-my-claude-sisyphus includes a silent auto-update system that checks for updates in the background. Updates are applied automatically without interrupting your workflow.
364
-
365
- Features:
366
- - **Rate-limited**: Checks at most once every 24 hours
367
- - **Concurrent-safe**: Lock file prevents simultaneous update attempts
368
- - **Cross-platform**: Works on both macOS and Linux
369
-
370
- To manually update, re-run the plugin install command or use Claude Code's built-in update mechanism.
371
-
372
- ---
373
-
374
- ## Hooks System
375
-
376
- Oh-my-claude-sisyphus includes 19 lifecycle hooks that enhance Claude Code's behavior:
377
-
378
- ### Core Hooks
379
-
380
- | Hook | Description |
381
- |------|-------------|
382
- | **rules-injector** | Dynamic rules injection with YAML frontmatter parsing |
383
- | **sisyphus-orchestrator** | Enforces orchestrator behavior and delegation |
384
- | **auto-slash-command** | Automatic slash command detection and execution |
385
- | **keyword-detector** | Magic keyword detection (ultrawork, search, analyze) |
386
- | **ralph-loop** | Self-referential development loop management |
387
- | **todo-continuation** | Ensures todo list completion |
388
- | **notepad** | Compaction-resilient memory system with three-tier storage |
389
-
390
- ### Context & Recovery
391
-
392
- | Hook | Description |
393
- |------|-------------|
394
- | **context-window-limit-recovery** | Token limit error handling and recovery |
395
- | **preemptive-compaction** | Context usage monitoring to prevent limits |
396
- | **session-recovery** | Session state recovery on crashes |
397
- | **directory-readme-injector** | README context injection |
398
-
399
- ### Quality & Validation
400
-
401
- | Hook | Description |
402
- |------|-------------|
403
- | **comment-checker** | BDD detection and directive filtering |
404
- | **thinking-block-validator** | Extended thinking validation |
405
- | **empty-message-sanitizer** | Empty message handling |
406
- | **edit-error-recovery** | Automatic recovery from edit errors |
407
- | **post-tool-use** | Remember tag auto-capture to notepad system |
408
-
409
- ### Environment & Notifications
410
-
411
- | Hook | Description |
412
- |------|-------------|
413
- | **non-interactive-env** | CI/non-interactive environment handling |
414
- | **agent-usage-reminder** | Reminder to use specialized agents |
415
- | **background-notification** | Background task completion notifications |
416
-
417
- ---
418
-
419
- ## Builtin Skills
420
-
421
- 21 builtin skills provide specialized capabilities:
422
-
423
- ### Core Skills
424
- | Skill | Description |
425
- |-------|-------------|
426
- | **sisyphus** | Multi-agent orchestration mode |
427
- | **ultrawork** | Maximum performance with parallel agents |
428
- | **ralph-loop** | Self-referential development until completion |
429
- | **ralph-init** | Initialize PRD for structured task tracking |
430
- | **ultrawork-ralph** | Maximum intensity + completion guarantee |
431
- | **ultraqa** | Autonomous QA cycling workflow |
432
- | **prometheus** | Strategic planning with interview workflow |
433
- | **plan** | Start planning session |
434
- | **review** | Review work plans with Momus |
435
-
436
- ### Enhancement Skills
437
- | Skill | Description |
438
- |-------|-------------|
439
- | **deepinit** | Hierarchical AGENTS.md codebase documentation |
440
- | **deepsearch** | Thorough multi-strategy codebase search |
441
- | **analyze** | Deep analysis and investigation |
442
- | **frontend-ui-ux** | Designer-turned-developer UI/UX expertise |
443
- | **git-master** | Git expert for atomic commits and history |
444
-
445
- ### Utility Skills
446
- | Skill | Description |
447
- |-------|-------------|
448
- | **note** | Save notes to compaction-resilient notepad |
449
- | **cancel-ralph** | Cancel Ralph Loop or ultrawork-ralph |
450
- | **cancel-ultraqa** | Cancel UltraQA cycling workflow |
451
- | **sisyphus-default** | Configure Sisyphus for current project |
452
- | **sisyphus-default-global** | Configure Sisyphus globally |
453
- | **doctor** | Diagnose and fix installation issues |
454
- | **release** | Automated release workflow |
455
-
456
- Skills are automatically activated via slash commands or magic keywords.
457
-
458
- ---
459
-
460
- ## Intelligent Skill Activation
461
-
462
- > **New in v1.11.0**: Enhanced Hook Enforcement System - PreToolUse/PostToolUse hooks and strengthened Stop hook for stronger Sisyphus behavior beyond CLAUDE.md.
463
-
464
- ### Skill Layers
465
-
466
- Skills work in **three composable layers**:
467
-
468
- | Layer | Skills | Purpose |
469
- |-------|--------|---------|
470
- | **Execution** | sisyphus, orchestrator, prometheus | HOW you work (pick primary) |
471
- | **Enhancement** | ultrawork, git-master, frontend-ui-ux | ADD capabilities (stack multiple) |
472
- | **Guarantee** | ralph-loop | ENSURE completion |
473
-
474
- **Combination Formula:** `[Execution] + [0-N Enhancements] + [Optional Guarantee]`
475
-
476
- ### Task Type → Skill Selection
477
-
478
- Claude uses judgment to detect task type and activate appropriate skill combinations:
479
-
480
- | Task Type | Skill Combination | When |
481
- |-----------|-------------------|------|
482
- | Multi-step implementation | `sisyphus` | Building features, refactoring |
483
- | + parallel subtasks | `sisyphus + ultrawork` | 3+ independent subtasks |
484
- | + multi-file changes | `sisyphus + git-master` | Changes span 3+ files |
485
- | + must complete | `sisyphus + ralph-loop` | User emphasizes completion |
486
- | UI/frontend work | `sisyphus + frontend-ui-ux` | Components, styling |
487
- | Complex debugging | `oracle` → `sisyphus` | Root cause → fix |
488
- | Strategic planning | `prometheus` | Need plan first |
489
- | Maximum performance | `ultrawork` (stacks) | Speed critical |
490
-
491
- ### Examples
492
-
493
- ```
494
- "Add dark mode with proper commits"
495
- → sisyphus + frontend-ui-ux + git-master
496
-
497
- "ultrawork: refactor the entire API layer"
498
- → ultrawork + sisyphus + git-master
499
-
500
- "Plan auth system, then implement it completely"
501
- → prometheus (first) → sisyphus + ralph-loop (after plan)
502
-
503
- "Fix this bug, don't stop until it's done"
504
- → sisyphus + ralph-loop
505
- ```
506
-
507
- ---
508
-
509
- ## The Twelve Agents
510
-
511
- Claude will automatically delegate to these specialized agents:
512
-
513
- ### Task Execution
514
-
515
- | | Agent | Model | Best For |
516
- |---|-------|-------|----------|
517
- | 🔮 | **Oracle** | Opus | Complex debugging, architecture decisions, root cause analysis |
518
- | 📚 | **Librarian** | Sonnet | Finding documentation, understanding code organization |
519
- | 🔍 | **Explore** | Haiku | Quick file searches, pattern matching, reconnaissance |
520
- | 🎨 | **Frontend Engineer** | Sonnet | UI components, styling, accessibility |
521
- | 📝 | **Document Writer** | Haiku | README files, API docs, code comments |
522
- | 👁️ | **Multimodal Looker** | Sonnet | Analyzing screenshots, diagrams, mockups |
523
- | 🧪 | **QA Tester** | Sonnet | Interactive CLI/service testing with tmux |
524
-
525
- ### Planning & Review
526
-
527
- | | Agent | Model | Best For |
528
- |---|-------|-------|----------|
529
- | 🔥 | **Prometheus** | Opus | Strategic planning, comprehensive work plans, interview-style requirement gathering |
530
- | 🎭 | **Momus** | Opus | Critical plan review, feasibility assessment, risk identification |
531
- | 🦉 | **Metis** | Opus | Pre-planning analysis, hidden requirement detection, ambiguity resolution |
532
-
533
- ### Orchestration
534
-
535
- | | Agent | Model | Best For |
536
- |---|-------|-------|----------|
537
- | 🪨 | **Orchestrator-Sisyphus** | Opus | Master todo coordination, complex multi-step task management |
538
- | ✨ | **Sisyphus Junior** | Sonnet | Focused task execution, plan following, direct implementation |
539
-
540
- ### Manual Agent Invocation
541
-
542
- You can explicitly request an agent:
543
-
544
- ```
545
- Use the oracle agent to debug the memory leak in the worker process
546
-
547
- Have the librarian find all documentation about the API
548
-
549
- Ask explore to find all TypeScript files that import React
550
- ```
63
+ **Combine them:** `ralph ulw: migrate the database`
551
64
 
552
65
  ---
553
66
 
554
- ## Configuration
555
-
556
- ### Project-Level Config
557
-
558
- Create `.claude/CLAUDE.md` in your project for project-specific instructions:
559
-
560
- ```markdown
561
- # Project Context
562
-
563
- This is a TypeScript monorepo using:
564
- - Bun runtime
565
- - React for frontend
566
- - PostgreSQL database
567
-
568
- ## Conventions
569
- - Use functional components
570
- - All API routes in /src/api
571
- - Tests alongside source files
572
- ```
573
-
574
- ### Agent Customization
575
-
576
- Edit agent files in `~/.claude/agents/` to customize behavior:
67
+ ## Stopping Things
577
68
 
578
- ```yaml
579
- ---
580
- name: oracle
581
- description: Your custom description
582
- tools: Read, Grep, Glob, Bash, Edit
583
- model: opus # or sonnet, haiku
584
- ---
69
+ Just say:
70
+ - "stop"
71
+ - "cancel"
72
+ - "abort"
585
73
 
586
- Your custom system prompt here...
587
- ```
74
+ I'll intelligently determine what to stop based on context.
588
75
 
589
76
  ---
590
77
 
591
- ## Uninstall
78
+ ## What's Under the Hood
592
79
 
593
- ```bash
594
- curl -fsSL https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claude-sisyphus/main/scripts/uninstall.sh | bash
595
- ```
596
-
597
- Or manually:
598
-
599
- ```bash
600
- rm ~/.claude/agents/{oracle,librarian,explore,frontend-engineer,document-writer,multimodal-looker,momus,metis,sisyphus-junior,prometheus,qa-tester}.md
601
- rm ~/.claude/commands/{sisyphus,sisyphus-default,sisyphus-default-global,ultrawork,deepsearch,analyze,plan,review,prometheus,orchestrator,ralph-loop,cancel-ralph}.md
602
- ```
80
+ - **19 Specialized Agents** - architect, researcher, explore, designer, writer, vision, critic, analyst, executor, planner, qa-tester (with tier variants)
81
+ - **26 Skills** - orchestrate, ultrawork, ralph, planner, deepsearch, deepinit, git-master, frontend-ui-ux, learner, and more
82
+ - **HUD Statusline** - Real-time visualization of orchestration state
83
+ - **Learned Skills** - Extract reusable insights from sessions with `/learner`
84
+ - **Memory System** - Persistent context that survives compaction
603
85
 
604
86
  ---
605
87
 
606
- ## SDK Usage (Advanced)
88
+ ## Coming from 2.x?
607
89
 
608
- For programmatic use with the Claude Agent SDK:
90
+ **Good news:** Your old commands still work!
609
91
 
610
- ```bash
611
- npm install oh-my-claude-sisyphus @anthropic-ai/claude-agent-sdk
612
92
  ```
613
-
614
- ```typescript
615
- import { createSisyphusSession } from 'oh-my-claude-sisyphus';
616
- import { query } from '@anthropic-ai/claude-agent-sdk';
617
-
618
- const session = createSisyphusSession();
619
-
620
- for await (const message of query({
621
- prompt: session.processPrompt("ultrawork implement feature X"),
622
- ...session.queryOptions
623
- })) {
624
- console.log(message);
625
- }
93
+ /ralph "task" → Still works (or just say "ralph: task")
94
+ /ultrawork "task" → Still works (or just use "ulw" keyword)
95
+ /planner "task" → Still works (or just say "plan this")
626
96
  ```
627
97
 
628
- ---
629
-
630
- ## How It Works
631
-
632
- ```
633
- ┌─────────────────────────────────────────────────────────────────┐
634
- │ SISYPHUS ORCHESTRATOR │
635
- │ (The Boulder Never Stops) │
636
- └─────────────────────────────────────────────────────────────────┘
637
-
638
- ┌───────────────────┼───────────────────┐
639
- │ │ │
640
- ▼ ▼ ▼
641
- ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
642
- │ PLANNING │ │ EXECUTION │ │ SUPPORT │
643
- ├─────────────────┤ ├─────────────────┤ ├─────────────────┤
644
- │ 🔥 Prometheus │ │ 🔮 Oracle │ │ 📚 Librarian │
645
- │ 🎭 Momus │ │ 🎨 Frontend Eng │ │ 🔍 Explore │
646
- │ 🦉 Metis │ │ 🪨 Orchestrator │ │ 📝 Doc Writer │
647
- │ │ │ ✨ Sisyphus Jr │ │ 👁️ Multimodal │
648
- └─────────────────┘ └─────────────────┘ └─────────────────┘
649
- ```
98
+ The difference? You don't *need* them anymore. Everything auto-activates.
650
99
 
651
- 1. **Sisyphus Orchestrator**: The main Claude instance coordinates all work
652
- 2. **Specialized Subagents**: Each agent has focused expertise and tools
653
- 3. **Parallel Execution**: Independent tasks run concurrently
654
- 4. **Continuation Enforcement**: Agents persist until ALL tasks complete
655
- 5. **Context Injection**: Project-specific instructions from CLAUDE.md files
100
+ See the [Migration Guide](docs/MIGRATION.md) for details.
656
101
 
657
102
  ---
658
103
 
659
- <details>
660
- <summary><h2>Differences from oh-my-opencode</h2></summary>
661
-
662
- This project is inspired by [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode), reimagined for Claude Code with skill composition, intelligent model routing, and native integration. Here's what's different:
663
-
664
- ### Model Mapping
665
-
666
- The original oh-my-opencode used multiple AI providers. This project uses Claude models exclusively:
667
-
668
- | Agent | Original Model | Ported Model | Notes |
669
- |-------|---------------|--------------|-------|
670
- | **Sisyphus** | Claude Opus 4.5 | Claude Opus 4.5 | Same |
671
- | **Oracle** | GPT-5.2 | Claude Opus | Was OpenAI's flagship for deep reasoning |
672
- | **Librarian** | Claude Sonnet or Gemini 3 Flash | Claude Sonnet | Multi-provider → Claude only |
673
- | **Explore** | Grok Code or Gemini 3 Flash | Claude Haiku 4.5 | Fast/cheap model for quick searches |
674
- | **Frontend Engineer** | Gemini 3 Pro | Claude Sonnet | Was Google's model |
675
- | **Document Writer** | Gemini 3 Flash | Claude Haiku 4.5 | Fast model for docs |
676
- | **Multimodal Looker** | Various | Claude Sonnet | Visual analysis |
677
- | **Momus** | GPT-5.2 | Claude Opus | Plan reviewer (Greek god of criticism) |
678
- | **Metis** | Claude Opus 4.5 | Claude Opus | Pre-planning consultant (goddess of wisdom) |
679
- | **Sisyphus-Junior** | Configurable | Claude Sonnet | Focused task executor |
680
- | **Prometheus** | Planning System | Claude Opus | Strategic planner (fire-bringer) |
681
-
682
- **Why Claude-only?** The Claude Agent SDK is designed for Claude models. Using Claude throughout provides:
683
- - Consistent behavior and capabilities
684
- - Simpler authentication (single API key)
685
- - Native integration with Claude Code's tools
686
-
687
- ### Tools Comparison
688
-
689
- #### Available Tools (via Claude Code)
690
-
691
- | Tool | Status | Description |
692
- |------|--------|-------------|
693
- | **Read** | ✅ Available | Read files |
694
- | **Write** | ✅ Available | Create files |
695
- | **Edit** | ✅ Available | Modify files |
696
- | **Bash** | ✅ Available | Run shell commands |
697
- | **Glob** | ✅ Available | Find files by pattern |
698
- | **Grep** | ✅ Available | Search file contents |
699
- | **WebSearch** | ✅ Available | Search the web |
700
- | **WebFetch** | ✅ Available | Fetch web pages |
701
- | **Task** | ✅ Available | Spawn subagents |
702
- | **TodoWrite** | ✅ Available | Track tasks |
703
-
704
- #### LSP Tools (Real Implementation)
705
-
706
- | Tool | Status | Description |
707
- |------|--------|-------------|
708
- | **lsp_hover** | ✅ Implemented | Get type info and documentation at position |
709
- | **lsp_goto_definition** | ✅ Implemented | Jump to symbol definition |
710
- | **lsp_find_references** | ✅ Implemented | Find all usages of a symbol |
711
- | **lsp_document_symbols** | ✅ Implemented | Get file outline (functions, classes, etc.) |
712
- | **lsp_workspace_symbols** | ✅ Implemented | Search symbols across workspace |
713
- | **lsp_diagnostics** | ✅ Implemented | Get errors, warnings, hints |
714
- | **lsp_prepare_rename** | ✅ Implemented | Check if rename is valid |
715
- | **lsp_rename** | ✅ Implemented | Rename symbol across project |
716
- | **lsp_code_actions** | ✅ Implemented | Get available refactorings |
717
- | **lsp_code_action_resolve** | ✅ Implemented | Get details of a code action |
718
- | **lsp_servers** | ✅ Implemented | List available language servers |
719
-
720
- > **Note:** LSP tools require language servers to be installed (typescript-language-server, pylsp, rust-analyzer, gopls, etc.). Use `lsp_servers` to check installation status.
721
-
722
- #### AST Tools (ast-grep Integration)
723
-
724
- | Tool | Status | Description |
725
- |------|--------|-------------|
726
- | **ast_grep_search** | ✅ Implemented | Pattern-based code search using AST matching |
727
- | **ast_grep_replace** | ✅ Implemented | Pattern-based code transformation |
728
-
729
- > **Note:** AST tools use [@ast-grep/napi](https://ast-grep.github.io/) for structural code matching. Supports meta-variables like `$VAR` (single node) and `$$$` (multiple nodes).
730
-
731
- ### Features Comparison
732
-
733
- #### Fully Implemented ✅
734
-
735
- | Feature | Description |
736
- |---------|-------------|
737
- | **19 Specialized Agents** | Oracle, Librarian, Explore, Frontend Engineer, Document Writer, Multimodal Looker, QA Tester, Momus, Metis, Orchestrator-Sisyphus, Sisyphus-Junior, Prometheus (+ tiered variants) |
738
- | **19 Lifecycle Hooks** | rules-injector, sisyphus-orchestrator, auto-slash-command, keyword-detector, ralph-loop, todo-continuation, notepad, post-tool-use, context-window-limit-recovery, preemptive-compaction, session-recovery, directory-readme-injector, comment-checker, thinking-block-validator, empty-message-sanitizer, edit-error-recovery, non-interactive-env, agent-usage-reminder, background-notification |
739
- | **21 Builtin Skills** | sisyphus, ultrawork, ralph-loop, ralph-init, ultrawork-ralph, ultraqa, prometheus, plan, review, deepinit, deepsearch, analyze, frontend-ui-ux, git-master, note, cancel-ralph, cancel-ultraqa, sisyphus-default, sisyphus-default-global, doctor, release |
740
- | **Magic Keywords** | `ultrawork`, `search`, `analyze`, `ultrathink` trigger enhanced modes |
741
- | **Slash Commands** | `/sisyphus`, `/sisyphus-default`, `/sisyphus-default-global`, `/ultrawork`, `/ralph-init`, `/ralph-loop`, `/ultrawork-ralph`, `/ultraqa`, `/cancel-ralph`, `/cancel-ultraqa`, `/note`, `/deepsearch`, `/deepinit`, `/analyze`, `/plan`, `/review`, `/prometheus`, `/doctor` |
742
- | **Compaction-Resilient Memory** | Three-tier notepad system (Priority Context, Working Memory, MANUAL) |
743
- | **Remember Tag Auto-Capture** | Agents can persist discoveries with `<remember>` tags |
744
- | **PRD Support** | Structured task tracking with user stories and acceptance criteria |
745
- | **Progress Tracking** | Append-only progress log with learnings and patterns |
746
- | **Auto-Update System** | Updates via Claude Code's plugin system |
747
- | **Configuration System** | JSONC config with multi-source merging |
748
- | **Context Injection** | Auto-loads CLAUDE.md and AGENTS.md files |
749
- | **Continuation Enforcement** | System prompt and hooks enforce task completion |
750
- | **Session Recovery** | Automatic state recovery on crashes |
751
- | **Background Task Manager** | Async agent execution with concurrency limits |
752
- | **Context Window Recovery** | Multi-stage recovery when hitting token limits |
753
- | **MCP Server Configs** | Exa, Context7, grep.app server definitions |
754
- | **LSP Tools** | Real LSP server integration with 11 tools |
755
- | **AST Tools** | ast-grep integration for structural code search/replace |
756
- | **Comprehensive Test Suite** | 358 tests covering all major features |
757
-
758
- #### Not Implemented ❌
759
-
760
- | Feature | Original Capability | Why Not Ported |
761
- |---------|---------------------|----------------|
762
- | **Multi-Model Routing** | Route to GPT/Gemini/Grok based on task | Claude-only by design |
763
- | **Per-Model Concurrency** | Fine-grained concurrency per provider | Single provider simplifies this |
764
- | **Interactive Bash + Tmux** | Advanced terminal with Tmux integration | Standard Bash tool sufficient |
765
-
766
- ### Architecture Differences
767
-
768
- ```
769
- oh-my-opencode (Original) oh-my-claude-sisyphus (Port)
770
- ───────────────────────── ────────────────────────────
771
- ┌─────────────────────┐ ┌─────────────────────┐
772
- │ OpenCode Plugin │ │ Claude Code │
773
- │ (Bun runtime) │ │ (Native CLI) │
774
- └─────────┬───────────┘ └─────────┬───────────┘
775
- │ │
776
- ┌─────────▼───────────┐ ┌─────────▼───────────┐
777
- │ Multi-Provider │ │ Claude Agent SDK │
778
- │ Orchestration │ │ (Claude only) │
779
- │ ┌───┐ ┌───┐ ┌───┐ │ └─────────┬───────────┘
780
- │ │GPT│ │Gem│ │Grok│ │ │
781
- │ └───┘ └───┘ └───┘ │ ┌─────────▼───────────┐
782
- └─────────┬───────────┘ │ ~/.claude/agents/ │
783
- │ │ (Markdown configs) │
784
- ┌─────────▼───────────┐ └─────────────────────┘
785
- │ Custom Tool Layer │
786
- │ (LSP, AST, etc.) │
787
- └─────────────────────┘
788
- ```
789
-
790
- **Key Architectural Changes:**
791
-
792
- 1. **Plugin → Native Integration**: Original was an OpenCode plugin; this uses Claude Code's native agent/command system
793
- 2. **Multi-Provider → Single Provider**: Simplified to Claude-only for consistency
794
- 3. **Custom Runtime → Claude Code Runtime**: Leverages Claude Code's built-in capabilities
795
- 4. **Programmatic Config → Markdown Files**: Agents defined as `.md` files in `~/.claude/agents/`
796
-
797
- ### What You Gain
104
+ ## Documentation
798
105
 
799
- - **Simpler Setup**: One curl command vs. multi-step plugin installation
800
- - **Native Integration**: Works directly with Claude Code, no plugin layer
801
- - **Consistent Behavior**: All agents use Claude, no cross-model quirks
802
- - **Easier Customization**: Edit markdown files to customize agents
803
-
804
- ### What You Lose
805
-
806
- - **Model Diversity**: Can't use GPT-5.2 for Oracle's deep reasoning
807
- - **Advanced Hooks**: Fewer lifecycle interception points (22 hooks → system prompt enforcement)
808
-
809
- ### Migration Tips
810
-
811
- If you're coming from oh-my-opencode:
812
-
813
- 1. **Oracle Tasks**: Claude Opus handles architecture/debugging well, but differently than GPT-5.2
814
- 2. **LSP Workflows**: All LSP tools are available! Use `lsp_servers` to check which servers are installed
815
- 3. **AST Searches**: Use `ast_grep_search` with pattern syntax (e.g., `function $NAME($$$)`)
816
- 4. **Background Tasks**: Claude Code's `Task` tool with `run_in_background` works similarly
817
- 5. **Planning**: Use `/plan` command to start a planning session with Prometheus
818
-
819
- </details>
106
+ - [Full Reference](docs/FULL-README.md) - Complete documentation (800+ lines)
107
+ - [Migration Guide](docs/MIGRATION.md) - 2.x to 3.0 transition
108
+ - [Architecture](docs/ARCHITECTURE.md) - Technical deep-dive
109
+ - [Website](https://yeachan-heo.github.io/oh-my-claudecode-website) - Online docs
820
110
 
821
111
  ---
822
112
 
823
113
  ## Requirements
824
114
 
825
- - [Claude Code](https://docs.anthropic.com/claude-code) installed
826
- - Anthropic API key (`ANTHROPIC_API_KEY` environment variable)
827
- - **Windows**: Node.js 20+ (for npm installation)
828
- - **macOS/Linux**: Bash shell (default) or Node.js 20+ (optional)
115
+ - [Claude Code](https://docs.anthropic.com/claude-code) CLI
116
+ - Anthropic API key
829
117
 
830
- ### Platform Support
831
-
832
- | Platform | Install Method | Hook Type |
833
- |----------|---------------|-----------|
834
- | **Windows** | `npm install -g` | Node.js (.mjs) |
835
- | **macOS** | curl or npm | Bash (.sh) |
836
- | **Linux** | curl or npm | Bash (.sh) |
837
-
838
- > **Note**: Bash hooks are fully portable across macOS and Linux (no GNU-specific dependencies).
839
-
840
- > **Advanced**: Set `SISYPHUS_USE_NODE_HOOKS=1` to use Node.js hooks on macOS/Linux.
118
+ ---
841
119
 
842
120
  ## License
843
121
 
844
122
  MIT - see [LICENSE](LICENSE)
845
123
 
846
- ## Credits
847
-
848
- Inspired by [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) by code-yeongyu.
849
-
850
124
  ---
851
125
 
852
126
  <div align="center">
853
127
 
854
- *One must imagine a multi-agent system happy.*
128
+ Inspired by [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode)
855
129
 
856
- **The boulder never stops.**
130
+ **Zero learning curve. Maximum power.**
857
131
 
858
132
  </div>