olympus-ai 1.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 (573) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +691 -0
  3. package/dist/__tests__/example.test.d.ts +2 -0
  4. package/dist/__tests__/example.test.d.ts.map +1 -0
  5. package/dist/__tests__/example.test.js +20 -0
  6. package/dist/__tests__/example.test.js.map +1 -0
  7. package/dist/__tests__/hooks.test.d.ts +2 -0
  8. package/dist/__tests__/hooks.test.d.ts.map +1 -0
  9. package/dist/__tests__/hooks.test.js +644 -0
  10. package/dist/__tests__/hooks.test.js.map +1 -0
  11. package/dist/__tests__/installer.test.d.ts +2 -0
  12. package/dist/__tests__/installer.test.d.ts.map +1 -0
  13. package/dist/__tests__/installer.test.js +369 -0
  14. package/dist/__tests__/installer.test.js.map +1 -0
  15. package/dist/__tests__/model-routing.test.d.ts +2 -0
  16. package/dist/__tests__/model-routing.test.d.ts.map +1 -0
  17. package/dist/__tests__/model-routing.test.js +814 -0
  18. package/dist/__tests__/model-routing.test.js.map +1 -0
  19. package/dist/__tests__/skills.test.d.ts +2 -0
  20. package/dist/__tests__/skills.test.d.ts.map +1 -0
  21. package/dist/__tests__/skills.test.js +126 -0
  22. package/dist/__tests__/skills.test.js.map +1 -0
  23. package/dist/__tests__/types.test.d.ts +2 -0
  24. package/dist/__tests__/types.test.d.ts.map +1 -0
  25. package/dist/__tests__/types.test.js +77 -0
  26. package/dist/__tests__/types.test.js.map +1 -0
  27. package/dist/agents/definitions.d.ts +105 -0
  28. package/dist/agents/definitions.d.ts.map +1 -0
  29. package/dist/agents/definitions.js +1379 -0
  30. package/dist/agents/definitions.js.map +1 -0
  31. package/dist/agents/document-writer.d.ts +11 -0
  32. package/dist/agents/document-writer.d.ts.map +1 -0
  33. package/dist/agents/document-writer.js +209 -0
  34. package/dist/agents/document-writer.js.map +1 -0
  35. package/dist/agents/explore.d.ts +12 -0
  36. package/dist/agents/explore.d.ts.map +1 -0
  37. package/dist/agents/explore.js +103 -0
  38. package/dist/agents/explore.js.map +1 -0
  39. package/dist/agents/frontend-engineer.d.ts +11 -0
  40. package/dist/agents/frontend-engineer.d.ts.map +1 -0
  41. package/dist/agents/frontend-engineer.js +115 -0
  42. package/dist/agents/frontend-engineer.js.map +1 -0
  43. package/dist/agents/index.d.ts +21 -0
  44. package/dist/agents/index.d.ts.map +1 -0
  45. package/dist/agents/index.js +27 -0
  46. package/dist/agents/index.js.map +1 -0
  47. package/dist/agents/librarian.d.ts +12 -0
  48. package/dist/agents/librarian.d.ts.map +1 -0
  49. package/dist/agents/librarian.js +103 -0
  50. package/dist/agents/librarian.js.map +1 -0
  51. package/dist/agents/metis.d.ts +12 -0
  52. package/dist/agents/metis.d.ts.map +1 -0
  53. package/dist/agents/metis.js +117 -0
  54. package/dist/agents/metis.js.map +1 -0
  55. package/dist/agents/momus.d.ts +12 -0
  56. package/dist/agents/momus.d.ts.map +1 -0
  57. package/dist/agents/momus.js +128 -0
  58. package/dist/agents/momus.js.map +1 -0
  59. package/dist/agents/multimodal-looker.d.ts +11 -0
  60. package/dist/agents/multimodal-looker.d.ts.map +1 -0
  61. package/dist/agents/multimodal-looker.js +70 -0
  62. package/dist/agents/multimodal-looker.js.map +1 -0
  63. package/dist/agents/olympian.d.ts +12 -0
  64. package/dist/agents/olympian.d.ts.map +1 -0
  65. package/dist/agents/olympian.js +93 -0
  66. package/dist/agents/olympian.js.map +1 -0
  67. package/dist/agents/oracle.d.ts +13 -0
  68. package/dist/agents/oracle.d.ts.map +1 -0
  69. package/dist/agents/oracle.js +191 -0
  70. package/dist/agents/oracle.js.map +1 -0
  71. package/dist/agents/orchestrator-olympus.d.ts +11 -0
  72. package/dist/agents/orchestrator-olympus.d.ts.map +1 -0
  73. package/dist/agents/orchestrator-olympus.js +115 -0
  74. package/dist/agents/orchestrator-olympus.js.map +1 -0
  75. package/dist/agents/orchestrator-sisyphus.d.ts +11 -0
  76. package/dist/agents/orchestrator-sisyphus.d.ts.map +1 -0
  77. package/dist/agents/orchestrator-sisyphus.js +115 -0
  78. package/dist/agents/orchestrator-sisyphus.js.map +1 -0
  79. package/dist/agents/prometheus.d.ts +12 -0
  80. package/dist/agents/prometheus.d.ts.map +1 -0
  81. package/dist/agents/prometheus.js +156 -0
  82. package/dist/agents/prometheus.js.map +1 -0
  83. package/dist/agents/qa-tester.d.ts +16 -0
  84. package/dist/agents/qa-tester.d.ts.map +1 -0
  85. package/dist/agents/qa-tester.js +367 -0
  86. package/dist/agents/qa-tester.js.map +1 -0
  87. package/dist/agents/sisyphus-junior.d.ts +12 -0
  88. package/dist/agents/sisyphus-junior.d.ts.map +1 -0
  89. package/dist/agents/sisyphus-junior.js +93 -0
  90. package/dist/agents/sisyphus-junior.js.map +1 -0
  91. package/dist/agents/types.d.ts +120 -0
  92. package/dist/agents/types.d.ts.map +1 -0
  93. package/dist/agents/types.js +38 -0
  94. package/dist/agents/types.js.map +1 -0
  95. package/dist/agents/utils.d.ts +49 -0
  96. package/dist/agents/utils.d.ts.map +1 -0
  97. package/dist/agents/utils.js +164 -0
  98. package/dist/agents/utils.js.map +1 -0
  99. package/dist/cli/index.d.ts +13 -0
  100. package/dist/cli/index.d.ts.map +1 -0
  101. package/dist/cli/index.js +496 -0
  102. package/dist/cli/index.js.map +1 -0
  103. package/dist/commands/index.d.ts +78 -0
  104. package/dist/commands/index.d.ts.map +1 -0
  105. package/dist/commands/index.js +148 -0
  106. package/dist/commands/index.js.map +1 -0
  107. package/dist/config/index.d.ts +5 -0
  108. package/dist/config/index.d.ts.map +1 -0
  109. package/dist/config/index.js +5 -0
  110. package/dist/config/index.js.map +1 -0
  111. package/dist/config/loader.d.ts +49 -0
  112. package/dist/config/loader.d.ts.map +1 -0
  113. package/dist/config/loader.js +380 -0
  114. package/dist/config/loader.js.map +1 -0
  115. package/dist/features/auto-update.d.ts +187 -0
  116. package/dist/features/auto-update.d.ts.map +1 -0
  117. package/dist/features/auto-update.js +539 -0
  118. package/dist/features/auto-update.js.map +1 -0
  119. package/dist/features/background-agent/concurrency.d.ts +53 -0
  120. package/dist/features/background-agent/concurrency.d.ts.map +1 -0
  121. package/dist/features/background-agent/concurrency.js +121 -0
  122. package/dist/features/background-agent/concurrency.js.map +1 -0
  123. package/dist/features/background-agent/index.d.ts +12 -0
  124. package/dist/features/background-agent/index.d.ts.map +1 -0
  125. package/dist/features/background-agent/index.js +12 -0
  126. package/dist/features/background-agent/index.js.map +1 -0
  127. package/dist/features/background-agent/manager.d.ts +134 -0
  128. package/dist/features/background-agent/manager.d.ts.map +1 -0
  129. package/dist/features/background-agent/manager.js +412 -0
  130. package/dist/features/background-agent/manager.js.map +1 -0
  131. package/dist/features/background-agent/types.d.ts +99 -0
  132. package/dist/features/background-agent/types.d.ts.map +1 -0
  133. package/dist/features/background-agent/types.js +9 -0
  134. package/dist/features/background-agent/types.js.map +1 -0
  135. package/dist/features/background-tasks.d.ts +99 -0
  136. package/dist/features/background-tasks.d.ts.map +1 -0
  137. package/dist/features/background-tasks.js +265 -0
  138. package/dist/features/background-tasks.js.map +1 -0
  139. package/dist/features/boulder-state/constants.d.ts +20 -0
  140. package/dist/features/boulder-state/constants.d.ts.map +1 -0
  141. package/dist/features/boulder-state/constants.js +20 -0
  142. package/dist/features/boulder-state/constants.js.map +1 -0
  143. package/dist/features/boulder-state/index.d.ts +12 -0
  144. package/dist/features/boulder-state/index.d.ts.map +1 -0
  145. package/dist/features/boulder-state/index.js +13 -0
  146. package/dist/features/boulder-state/index.js.map +1 -0
  147. package/dist/features/boulder-state/storage.d.ts +58 -0
  148. package/dist/features/boulder-state/storage.d.ts.map +1 -0
  149. package/dist/features/boulder-state/storage.js +174 -0
  150. package/dist/features/boulder-state/storage.js.map +1 -0
  151. package/dist/features/boulder-state/types.d.ts +48 -0
  152. package/dist/features/boulder-state/types.d.ts.map +1 -0
  153. package/dist/features/boulder-state/types.js +10 -0
  154. package/dist/features/boulder-state/types.js.map +1 -0
  155. package/dist/features/builtin-skills/index.d.ts +10 -0
  156. package/dist/features/builtin-skills/index.d.ts.map +1 -0
  157. package/dist/features/builtin-skills/index.js +10 -0
  158. package/dist/features/builtin-skills/index.js.map +1 -0
  159. package/dist/features/builtin-skills/skills.d.ts +21 -0
  160. package/dist/features/builtin-skills/skills.d.ts.map +1 -0
  161. package/dist/features/builtin-skills/skills.js +1082 -0
  162. package/dist/features/builtin-skills/skills.js.map +1 -0
  163. package/dist/features/builtin-skills/types.d.ts +60 -0
  164. package/dist/features/builtin-skills/types.d.ts.map +1 -0
  165. package/dist/features/builtin-skills/types.js +9 -0
  166. package/dist/features/builtin-skills/types.js.map +1 -0
  167. package/dist/features/context-injector/collector.d.ts +56 -0
  168. package/dist/features/context-injector/collector.d.ts.map +1 -0
  169. package/dist/features/context-injector/collector.js +122 -0
  170. package/dist/features/context-injector/collector.js.map +1 -0
  171. package/dist/features/context-injector/index.d.ts +12 -0
  172. package/dist/features/context-injector/index.d.ts.map +1 -0
  173. package/dist/features/context-injector/index.js +13 -0
  174. package/dist/features/context-injector/index.js.map +1 -0
  175. package/dist/features/context-injector/injector.d.ts +47 -0
  176. package/dist/features/context-injector/injector.d.ts.map +1 -0
  177. package/dist/features/context-injector/injector.js +103 -0
  178. package/dist/features/context-injector/injector.js.map +1 -0
  179. package/dist/features/context-injector/types.d.ts +103 -0
  180. package/dist/features/context-injector/types.d.ts.map +1 -0
  181. package/dist/features/context-injector/types.js +11 -0
  182. package/dist/features/context-injector/types.js.map +1 -0
  183. package/dist/features/continuation-enforcement.d.ts +36 -0
  184. package/dist/features/continuation-enforcement.d.ts.map +1 -0
  185. package/dist/features/continuation-enforcement.js +175 -0
  186. package/dist/features/continuation-enforcement.js.map +1 -0
  187. package/dist/features/index.d.ts +12 -0
  188. package/dist/features/index.d.ts.map +1 -0
  189. package/dist/features/index.js +49 -0
  190. package/dist/features/index.js.map +1 -0
  191. package/dist/features/magic-keywords.d.ts +28 -0
  192. package/dist/features/magic-keywords.d.ts.map +1 -0
  193. package/dist/features/magic-keywords.js +421 -0
  194. package/dist/features/magic-keywords.js.map +1 -0
  195. package/dist/features/model-routing/index.d.ts +34 -0
  196. package/dist/features/model-routing/index.d.ts.map +1 -0
  197. package/dist/features/model-routing/index.js +48 -0
  198. package/dist/features/model-routing/index.js.map +1 -0
  199. package/dist/features/model-routing/prompts/haiku.d.ts +54 -0
  200. package/dist/features/model-routing/prompts/haiku.d.ts.map +1 -0
  201. package/dist/features/model-routing/prompts/haiku.js +141 -0
  202. package/dist/features/model-routing/prompts/haiku.js.map +1 -0
  203. package/dist/features/model-routing/prompts/index.d.ts +45 -0
  204. package/dist/features/model-routing/prompts/index.d.ts.map +1 -0
  205. package/dist/features/model-routing/prompts/index.js +116 -0
  206. package/dist/features/model-routing/prompts/index.js.map +1 -0
  207. package/dist/features/model-routing/prompts/opus.d.ts +34 -0
  208. package/dist/features/model-routing/prompts/opus.d.ts.map +1 -0
  209. package/dist/features/model-routing/prompts/opus.js +153 -0
  210. package/dist/features/model-routing/prompts/opus.js.map +1 -0
  211. package/dist/features/model-routing/prompts/sonnet.d.ts +38 -0
  212. package/dist/features/model-routing/prompts/sonnet.d.ts.map +1 -0
  213. package/dist/features/model-routing/prompts/sonnet.js +149 -0
  214. package/dist/features/model-routing/prompts/sonnet.js.map +1 -0
  215. package/dist/features/model-routing/router.d.ts +92 -0
  216. package/dist/features/model-routing/router.d.ts.map +1 -0
  217. package/dist/features/model-routing/router.js +267 -0
  218. package/dist/features/model-routing/router.js.map +1 -0
  219. package/dist/features/model-routing/rules.d.ts +32 -0
  220. package/dist/features/model-routing/rules.d.ts.map +1 -0
  221. package/dist/features/model-routing/rules.js +224 -0
  222. package/dist/features/model-routing/rules.js.map +1 -0
  223. package/dist/features/model-routing/scorer.d.ts +35 -0
  224. package/dist/features/model-routing/scorer.d.ts.map +1 -0
  225. package/dist/features/model-routing/scorer.js +241 -0
  226. package/dist/features/model-routing/scorer.js.map +1 -0
  227. package/dist/features/model-routing/signals.d.ts +26 -0
  228. package/dist/features/model-routing/signals.d.ts.map +1 -0
  229. package/dist/features/model-routing/signals.js +283 -0
  230. package/dist/features/model-routing/signals.js.map +1 -0
  231. package/dist/features/model-routing/types.d.ts +195 -0
  232. package/dist/features/model-routing/types.d.ts.map +1 -0
  233. package/dist/features/model-routing/types.js +86 -0
  234. package/dist/features/model-routing/types.js.map +1 -0
  235. package/dist/hooks/agent-usage-reminder/constants.d.ts +17 -0
  236. package/dist/hooks/agent-usage-reminder/constants.d.ts.map +1 -0
  237. package/dist/hooks/agent-usage-reminder/constants.js +58 -0
  238. package/dist/hooks/agent-usage-reminder/constants.js.map +1 -0
  239. package/dist/hooks/agent-usage-reminder/index.d.ts +36 -0
  240. package/dist/hooks/agent-usage-reminder/index.d.ts.map +1 -0
  241. package/dist/hooks/agent-usage-reminder/index.js +89 -0
  242. package/dist/hooks/agent-usage-reminder/index.js.map +1 -0
  243. package/dist/hooks/agent-usage-reminder/storage.d.ts +12 -0
  244. package/dist/hooks/agent-usage-reminder/storage.d.ts.map +1 -0
  245. package/dist/hooks/agent-usage-reminder/storage.js +39 -0
  246. package/dist/hooks/agent-usage-reminder/storage.js.map +1 -0
  247. package/dist/hooks/agent-usage-reminder/types.d.ts +14 -0
  248. package/dist/hooks/agent-usage-reminder/types.d.ts.map +1 -0
  249. package/dist/hooks/agent-usage-reminder/types.js +9 -0
  250. package/dist/hooks/agent-usage-reminder/types.js.map +1 -0
  251. package/dist/hooks/ascent-verifier/index.d.ts +72 -0
  252. package/dist/hooks/ascent-verifier/index.d.ts.map +1 -0
  253. package/dist/hooks/ascent-verifier/index.js +223 -0
  254. package/dist/hooks/ascent-verifier/index.js.map +1 -0
  255. package/dist/hooks/auto-slash-command/constants.d.ts +19 -0
  256. package/dist/hooks/auto-slash-command/constants.d.ts.map +1 -0
  257. package/dist/hooks/auto-slash-command/constants.js +28 -0
  258. package/dist/hooks/auto-slash-command/constants.js.map +1 -0
  259. package/dist/hooks/auto-slash-command/detector.d.ts +33 -0
  260. package/dist/hooks/auto-slash-command/detector.d.ts.map +1 -0
  261. package/dist/hooks/auto-slash-command/detector.js +73 -0
  262. package/dist/hooks/auto-slash-command/detector.js.map +1 -0
  263. package/dist/hooks/auto-slash-command/executor.d.ts +29 -0
  264. package/dist/hooks/auto-slash-command/executor.d.ts.map +1 -0
  265. package/dist/hooks/auto-slash-command/executor.js +214 -0
  266. package/dist/hooks/auto-slash-command/executor.js.map +1 -0
  267. package/dist/hooks/auto-slash-command/index.d.ts +53 -0
  268. package/dist/hooks/auto-slash-command/index.d.ts.map +1 -0
  269. package/dist/hooks/auto-slash-command/index.js +105 -0
  270. package/dist/hooks/auto-slash-command/index.js.map +1 -0
  271. package/dist/hooks/auto-slash-command/types.d.ts +77 -0
  272. package/dist/hooks/auto-slash-command/types.d.ts.map +1 -0
  273. package/dist/hooks/auto-slash-command/types.js +9 -0
  274. package/dist/hooks/auto-slash-command/types.js.map +1 -0
  275. package/dist/hooks/background-notification/index.d.ts +60 -0
  276. package/dist/hooks/background-notification/index.d.ts.map +1 -0
  277. package/dist/hooks/background-notification/index.js +180 -0
  278. package/dist/hooks/background-notification/index.js.map +1 -0
  279. package/dist/hooks/background-notification/types.d.ts +64 -0
  280. package/dist/hooks/background-notification/types.d.ts.map +1 -0
  281. package/dist/hooks/background-notification/types.js +8 -0
  282. package/dist/hooks/background-notification/types.js.map +1 -0
  283. package/dist/hooks/bridge.d.ts +68 -0
  284. package/dist/hooks/bridge.d.ts.map +1 -0
  285. package/dist/hooks/bridge.js +321 -0
  286. package/dist/hooks/bridge.js.map +1 -0
  287. package/dist/hooks/comment-checker/constants.d.ts +28 -0
  288. package/dist/hooks/comment-checker/constants.d.ts.map +1 -0
  289. package/dist/hooks/comment-checker/constants.js +189 -0
  290. package/dist/hooks/comment-checker/constants.js.map +1 -0
  291. package/dist/hooks/comment-checker/filters.d.ts +39 -0
  292. package/dist/hooks/comment-checker/filters.d.ts.map +1 -0
  293. package/dist/hooks/comment-checker/filters.js +126 -0
  294. package/dist/hooks/comment-checker/filters.js.map +1 -0
  295. package/dist/hooks/comment-checker/index.d.ts +58 -0
  296. package/dist/hooks/comment-checker/index.d.ts.map +1 -0
  297. package/dist/hooks/comment-checker/index.js +298 -0
  298. package/dist/hooks/comment-checker/index.js.map +1 -0
  299. package/dist/hooks/comment-checker/types.d.ts +88 -0
  300. package/dist/hooks/comment-checker/types.d.ts.map +1 -0
  301. package/dist/hooks/comment-checker/types.js +9 -0
  302. package/dist/hooks/comment-checker/types.js.map +1 -0
  303. package/dist/hooks/context-window-limit-recovery/constants.d.ts +28 -0
  304. package/dist/hooks/context-window-limit-recovery/constants.d.ts.map +1 -0
  305. package/dist/hooks/context-window-limit-recovery/constants.js +85 -0
  306. package/dist/hooks/context-window-limit-recovery/constants.js.map +1 -0
  307. package/dist/hooks/context-window-limit-recovery/index.d.ts +62 -0
  308. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +1 -0
  309. package/dist/hooks/context-window-limit-recovery/index.js +201 -0
  310. package/dist/hooks/context-window-limit-recovery/index.js.map +1 -0
  311. package/dist/hooks/context-window-limit-recovery/parser.d.ts +31 -0
  312. package/dist/hooks/context-window-limit-recovery/parser.d.ts.map +1 -0
  313. package/dist/hooks/context-window-limit-recovery/parser.js +241 -0
  314. package/dist/hooks/context-window-limit-recovery/parser.js.map +1 -0
  315. package/dist/hooks/context-window-limit-recovery/types.d.ts +84 -0
  316. package/dist/hooks/context-window-limit-recovery/types.d.ts.map +1 -0
  317. package/dist/hooks/context-window-limit-recovery/types.js +34 -0
  318. package/dist/hooks/context-window-limit-recovery/types.js.map +1 -0
  319. package/dist/hooks/directory-readme-injector/constants.d.ts +15 -0
  320. package/dist/hooks/directory-readme-injector/constants.d.ts.map +1 -0
  321. package/dist/hooks/directory-readme-injector/constants.js +17 -0
  322. package/dist/hooks/directory-readme-injector/constants.js.map +1 -0
  323. package/dist/hooks/directory-readme-injector/index.d.ts +41 -0
  324. package/dist/hooks/directory-readme-injector/index.d.ts.map +1 -0
  325. package/dist/hooks/directory-readme-injector/index.js +162 -0
  326. package/dist/hooks/directory-readme-injector/index.js.map +1 -0
  327. package/dist/hooks/directory-readme-injector/storage.d.ts +20 -0
  328. package/dist/hooks/directory-readme-injector/storage.d.ts.map +1 -0
  329. package/dist/hooks/directory-readme-injector/storage.js +56 -0
  330. package/dist/hooks/directory-readme-injector/storage.js.map +1 -0
  331. package/dist/hooks/directory-readme-injector/types.d.ts +20 -0
  332. package/dist/hooks/directory-readme-injector/types.d.ts.map +1 -0
  333. package/dist/hooks/directory-readme-injector/types.js +9 -0
  334. package/dist/hooks/directory-readme-injector/types.js.map +1 -0
  335. package/dist/hooks/edit-error-recovery/index.d.ts +62 -0
  336. package/dist/hooks/edit-error-recovery/index.d.ts.map +1 -0
  337. package/dist/hooks/edit-error-recovery/index.js +89 -0
  338. package/dist/hooks/edit-error-recovery/index.js.map +1 -0
  339. package/dist/hooks/empty-message-sanitizer/constants.d.ts +33 -0
  340. package/dist/hooks/empty-message-sanitizer/constants.d.ts.map +1 -0
  341. package/dist/hooks/empty-message-sanitizer/constants.js +37 -0
  342. package/dist/hooks/empty-message-sanitizer/constants.js.map +1 -0
  343. package/dist/hooks/empty-message-sanitizer/index.d.ts +59 -0
  344. package/dist/hooks/empty-message-sanitizer/index.d.ts.map +1 -0
  345. package/dist/hooks/empty-message-sanitizer/index.js +171 -0
  346. package/dist/hooks/empty-message-sanitizer/index.js.map +1 -0
  347. package/dist/hooks/empty-message-sanitizer/types.d.ts +79 -0
  348. package/dist/hooks/empty-message-sanitizer/types.d.ts.map +1 -0
  349. package/dist/hooks/empty-message-sanitizer/types.js +10 -0
  350. package/dist/hooks/empty-message-sanitizer/types.js.map +1 -0
  351. package/dist/hooks/index.d.ts +35 -0
  352. package/dist/hooks/index.d.ts.map +1 -0
  353. package/dist/hooks/index.js +81 -0
  354. package/dist/hooks/index.js.map +1 -0
  355. package/dist/hooks/keyword-detector/index.d.ts +40 -0
  356. package/dist/hooks/keyword-detector/index.d.ts.map +1 -0
  357. package/dist/hooks/keyword-detector/index.js +88 -0
  358. package/dist/hooks/keyword-detector/index.js.map +1 -0
  359. package/dist/hooks/non-interactive-env/constants.d.ts +35 -0
  360. package/dist/hooks/non-interactive-env/constants.d.ts.map +1 -0
  361. package/dist/hooks/non-interactive-env/constants.js +69 -0
  362. package/dist/hooks/non-interactive-env/constants.js.map +1 -0
  363. package/dist/hooks/non-interactive-env/detector.d.ts +2 -0
  364. package/dist/hooks/non-interactive-env/detector.d.ts.map +1 -0
  365. package/dist/hooks/non-interactive-env/detector.js +16 -0
  366. package/dist/hooks/non-interactive-env/detector.js.map +1 -0
  367. package/dist/hooks/non-interactive-env/index.d.ts +14 -0
  368. package/dist/hooks/non-interactive-env/index.d.ts.map +1 -0
  369. package/dist/hooks/non-interactive-env/index.js +72 -0
  370. package/dist/hooks/non-interactive-env/index.js.map +1 -0
  371. package/dist/hooks/non-interactive-env/types.d.ts +14 -0
  372. package/dist/hooks/non-interactive-env/types.d.ts.map +1 -0
  373. package/dist/hooks/non-interactive-env/types.js +2 -0
  374. package/dist/hooks/non-interactive-env/types.js.map +1 -0
  375. package/dist/hooks/olympus-orchestrator/constants.d.ts +23 -0
  376. package/dist/hooks/olympus-orchestrator/constants.d.ts.map +1 -0
  377. package/dist/hooks/olympus-orchestrator/constants.js +142 -0
  378. package/dist/hooks/olympus-orchestrator/constants.js.map +1 -0
  379. package/dist/hooks/olympus-orchestrator/index.d.ts +113 -0
  380. package/dist/hooks/olympus-orchestrator/index.d.ts.map +1 -0
  381. package/dist/hooks/olympus-orchestrator/index.js +283 -0
  382. package/dist/hooks/olympus-orchestrator/index.js.map +1 -0
  383. package/dist/hooks/persistent-mode/index.d.ts +40 -0
  384. package/dist/hooks/persistent-mode/index.d.ts.map +1 -0
  385. package/dist/hooks/persistent-mode/index.js +322 -0
  386. package/dist/hooks/persistent-mode/index.js.map +1 -0
  387. package/dist/hooks/plugin-patterns/index.d.ts +107 -0
  388. package/dist/hooks/plugin-patterns/index.d.ts.map +1 -0
  389. package/dist/hooks/plugin-patterns/index.js +289 -0
  390. package/dist/hooks/plugin-patterns/index.js.map +1 -0
  391. package/dist/hooks/preemptive-compaction/constants.d.ts +48 -0
  392. package/dist/hooks/preemptive-compaction/constants.d.ts.map +1 -0
  393. package/dist/hooks/preemptive-compaction/constants.js +90 -0
  394. package/dist/hooks/preemptive-compaction/constants.js.map +1 -0
  395. package/dist/hooks/preemptive-compaction/index.d.ts +55 -0
  396. package/dist/hooks/preemptive-compaction/index.d.ts.map +1 -0
  397. package/dist/hooks/preemptive-compaction/index.js +227 -0
  398. package/dist/hooks/preemptive-compaction/index.js.map +1 -0
  399. package/dist/hooks/preemptive-compaction/types.d.ts +76 -0
  400. package/dist/hooks/preemptive-compaction/types.d.ts.map +1 -0
  401. package/dist/hooks/preemptive-compaction/types.js +9 -0
  402. package/dist/hooks/preemptive-compaction/types.js.map +1 -0
  403. package/dist/hooks/ralph-loop/index.d.ts +60 -0
  404. package/dist/hooks/ralph-loop/index.d.ts.map +1 -0
  405. package/dist/hooks/ralph-loop/index.js +155 -0
  406. package/dist/hooks/ralph-loop/index.js.map +1 -0
  407. package/dist/hooks/ralph-verifier/index.d.ts +72 -0
  408. package/dist/hooks/ralph-verifier/index.d.ts.map +1 -0
  409. package/dist/hooks/ralph-verifier/index.js +223 -0
  410. package/dist/hooks/ralph-verifier/index.js.map +1 -0
  411. package/dist/hooks/rules-injector/constants.d.ts +25 -0
  412. package/dist/hooks/rules-injector/constants.d.ts.map +1 -0
  413. package/dist/hooks/rules-injector/constants.js +40 -0
  414. package/dist/hooks/rules-injector/constants.js.map +1 -0
  415. package/dist/hooks/rules-injector/finder.d.ts +24 -0
  416. package/dist/hooks/rules-injector/finder.d.ts.map +1 -0
  417. package/dist/hooks/rules-injector/finder.js +215 -0
  418. package/dist/hooks/rules-injector/finder.js.map +1 -0
  419. package/dist/hooks/rules-injector/index.d.ts +45 -0
  420. package/dist/hooks/rules-injector/index.d.ts.map +1 -0
  421. package/dist/hooks/rules-injector/index.js +187 -0
  422. package/dist/hooks/rules-injector/index.js.map +1 -0
  423. package/dist/hooks/rules-injector/matcher.d.ts +25 -0
  424. package/dist/hooks/rules-injector/matcher.d.ts.map +1 -0
  425. package/dist/hooks/rules-injector/matcher.js +70 -0
  426. package/dist/hooks/rules-injector/matcher.js.map +1 -0
  427. package/dist/hooks/rules-injector/parser.d.ts +20 -0
  428. package/dist/hooks/rules-injector/parser.d.ts.map +1 -0
  429. package/dist/hooks/rules-injector/parser.js +179 -0
  430. package/dist/hooks/rules-injector/parser.js.map +1 -0
  431. package/dist/hooks/rules-injector/storage.d.ts +26 -0
  432. package/dist/hooks/rules-injector/storage.d.ts.map +1 -0
  433. package/dist/hooks/rules-injector/storage.js +61 -0
  434. package/dist/hooks/rules-injector/storage.js.map +1 -0
  435. package/dist/hooks/rules-injector/types.d.ts +101 -0
  436. package/dist/hooks/rules-injector/types.d.ts.map +1 -0
  437. package/dist/hooks/rules-injector/types.js +10 -0
  438. package/dist/hooks/rules-injector/types.js.map +1 -0
  439. package/dist/hooks/session-recovery/constants.d.ts +56 -0
  440. package/dist/hooks/session-recovery/constants.d.ts.map +1 -0
  441. package/dist/hooks/session-recovery/constants.js +78 -0
  442. package/dist/hooks/session-recovery/constants.js.map +1 -0
  443. package/dist/hooks/session-recovery/index.d.ts +53 -0
  444. package/dist/hooks/session-recovery/index.d.ts.map +1 -0
  445. package/dist/hooks/session-recovery/index.js +321 -0
  446. package/dist/hooks/session-recovery/index.js.map +1 -0
  447. package/dist/hooks/session-recovery/storage.d.ts +76 -0
  448. package/dist/hooks/session-recovery/storage.d.ts.map +1 -0
  449. package/dist/hooks/session-recovery/storage.js +383 -0
  450. package/dist/hooks/session-recovery/storage.js.map +1 -0
  451. package/dist/hooks/session-recovery/types.d.ts +145 -0
  452. package/dist/hooks/session-recovery/types.d.ts.map +1 -0
  453. package/dist/hooks/session-recovery/types.js +8 -0
  454. package/dist/hooks/session-recovery/types.js.map +1 -0
  455. package/dist/hooks/sisyphus-orchestrator/constants.d.ts +23 -0
  456. package/dist/hooks/sisyphus-orchestrator/constants.d.ts.map +1 -0
  457. package/dist/hooks/sisyphus-orchestrator/constants.js +142 -0
  458. package/dist/hooks/sisyphus-orchestrator/constants.js.map +1 -0
  459. package/dist/hooks/sisyphus-orchestrator/index.d.ts +113 -0
  460. package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +1 -0
  461. package/dist/hooks/sisyphus-orchestrator/index.js +283 -0
  462. package/dist/hooks/sisyphus-orchestrator/index.js.map +1 -0
  463. package/dist/hooks/the-ascent/index.d.ts +60 -0
  464. package/dist/hooks/the-ascent/index.d.ts.map +1 -0
  465. package/dist/hooks/the-ascent/index.js +155 -0
  466. package/dist/hooks/the-ascent/index.js.map +1 -0
  467. package/dist/hooks/think-mode/detector.d.ts +28 -0
  468. package/dist/hooks/think-mode/detector.d.ts.map +1 -0
  469. package/dist/hooks/think-mode/detector.js +105 -0
  470. package/dist/hooks/think-mode/detector.js.map +1 -0
  471. package/dist/hooks/think-mode/index.d.ts +70 -0
  472. package/dist/hooks/think-mode/index.d.ts.map +1 -0
  473. package/dist/hooks/think-mode/index.js +144 -0
  474. package/dist/hooks/think-mode/index.js.map +1 -0
  475. package/dist/hooks/think-mode/switcher.d.ts +39 -0
  476. package/dist/hooks/think-mode/switcher.d.ts.map +1 -0
  477. package/dist/hooks/think-mode/switcher.js +180 -0
  478. package/dist/hooks/think-mode/switcher.js.map +1 -0
  479. package/dist/hooks/think-mode/types.d.ts +60 -0
  480. package/dist/hooks/think-mode/types.d.ts.map +1 -0
  481. package/dist/hooks/think-mode/types.js +9 -0
  482. package/dist/hooks/think-mode/types.js.map +1 -0
  483. package/dist/hooks/thinking-block-validator/constants.d.ts +37 -0
  484. package/dist/hooks/thinking-block-validator/constants.d.ts.map +1 -0
  485. package/dist/hooks/thinking-block-validator/constants.js +50 -0
  486. package/dist/hooks/thinking-block-validator/constants.js.map +1 -0
  487. package/dist/hooks/thinking-block-validator/index.d.ts +35 -0
  488. package/dist/hooks/thinking-block-validator/index.d.ts.map +1 -0
  489. package/dist/hooks/thinking-block-validator/index.js +156 -0
  490. package/dist/hooks/thinking-block-validator/index.js.map +1 -0
  491. package/dist/hooks/thinking-block-validator/types.d.ts +67 -0
  492. package/dist/hooks/thinking-block-validator/types.d.ts.map +1 -0
  493. package/dist/hooks/thinking-block-validator/types.js +9 -0
  494. package/dist/hooks/thinking-block-validator/types.js.map +1 -0
  495. package/dist/hooks/todo-continuation/index.d.ts +39 -0
  496. package/dist/hooks/todo-continuation/index.d.ts.map +1 -0
  497. package/dist/hooks/todo-continuation/index.js +140 -0
  498. package/dist/hooks/todo-continuation/index.js.map +1 -0
  499. package/dist/hooks/ultrawork-state/index.d.ts +60 -0
  500. package/dist/hooks/ultrawork-state/index.d.ts.map +1 -0
  501. package/dist/hooks/ultrawork-state/index.js +207 -0
  502. package/dist/hooks/ultrawork-state/index.js.map +1 -0
  503. package/dist/index.d.ts +117 -0
  504. package/dist/index.d.ts.map +1 -0
  505. package/dist/index.js +175 -0
  506. package/dist/index.js.map +1 -0
  507. package/dist/installer/hooks.d.ts +196 -0
  508. package/dist/installer/hooks.d.ts.map +1 -0
  509. package/dist/installer/hooks.js +1385 -0
  510. package/dist/installer/hooks.js.map +1 -0
  511. package/dist/installer/index.d.ts +92 -0
  512. package/dist/installer/index.d.ts.map +1 -0
  513. package/dist/installer/index.js +2249 -0
  514. package/dist/installer/index.js.map +1 -0
  515. package/dist/mcp/index.d.ts +6 -0
  516. package/dist/mcp/index.d.ts.map +1 -0
  517. package/dist/mcp/index.js +5 -0
  518. package/dist/mcp/index.js.map +1 -0
  519. package/dist/mcp/servers.d.ts +77 -0
  520. package/dist/mcp/servers.d.ts.map +1 -0
  521. package/dist/mcp/servers.js +122 -0
  522. package/dist/mcp/servers.js.map +1 -0
  523. package/dist/shared/index.d.ts +5 -0
  524. package/dist/shared/index.d.ts.map +1 -0
  525. package/dist/shared/index.js +5 -0
  526. package/dist/shared/index.js.map +1 -0
  527. package/dist/shared/types.d.ts +159 -0
  528. package/dist/shared/types.d.ts.map +1 -0
  529. package/dist/shared/types.js +5 -0
  530. package/dist/shared/types.js.map +1 -0
  531. package/dist/tools/ast-tools.d.ts +63 -0
  532. package/dist/tools/ast-tools.d.ts.map +1 -0
  533. package/dist/tools/ast-tools.js +450 -0
  534. package/dist/tools/ast-tools.js.map +1 -0
  535. package/dist/tools/index.d.ts +52 -0
  536. package/dist/tools/index.d.ts.map +1 -0
  537. package/dist/tools/index.js +120 -0
  538. package/dist/tools/index.js.map +1 -0
  539. package/dist/tools/lsp/client.d.ts +201 -0
  540. package/dist/tools/lsp/client.d.ts.map +1 -0
  541. package/dist/tools/lsp/client.js +454 -0
  542. package/dist/tools/lsp/client.js.map +1 -0
  543. package/dist/tools/lsp/index.d.ts +9 -0
  544. package/dist/tools/lsp/index.d.ts.map +1 -0
  545. package/dist/tools/lsp/index.js +7 -0
  546. package/dist/tools/lsp/index.js.map +1 -0
  547. package/dist/tools/lsp/servers.d.ts +37 -0
  548. package/dist/tools/lsp/servers.d.ts.map +1 -0
  549. package/dist/tools/lsp/servers.js +149 -0
  550. package/dist/tools/lsp/servers.js.map +1 -0
  551. package/dist/tools/lsp/utils.d.ts +58 -0
  552. package/dist/tools/lsp/utils.d.ts.map +1 -0
  553. package/dist/tools/lsp/utils.js +236 -0
  554. package/dist/tools/lsp/utils.js.map +1 -0
  555. package/dist/tools/lsp-tools.d.ts +151 -0
  556. package/dist/tools/lsp-tools.d.ts.map +1 -0
  557. package/dist/tools/lsp-tools.js +358 -0
  558. package/dist/tools/lsp-tools.js.map +1 -0
  559. package/package.json +85 -0
  560. package/scripts/claude-sisyphus.sh +9 -0
  561. package/scripts/install.sh +1774 -0
  562. package/scripts/keyword-detector.mjs +209 -0
  563. package/scripts/keyword-detector.sh +71 -0
  564. package/scripts/persistent-mode.mjs +241 -0
  565. package/scripts/persistent-mode.sh +300 -0
  566. package/scripts/post-tool-verifier.mjs +217 -0
  567. package/scripts/post-tool-verifier.sh +196 -0
  568. package/scripts/pre-tool-enforcer.mjs +99 -0
  569. package/scripts/pre-tool-enforcer.sh +76 -0
  570. package/scripts/sisyphus-aliases.sh +18 -0
  571. package/scripts/stop-continuation.sh +31 -0
  572. package/scripts/test-pr25.sh +525 -0
  573. package/scripts/uninstall.sh +171 -0
package/README.md ADDED
@@ -0,0 +1,691 @@
1
+ <div align="center">
2
+
3
+ ![oh-my-claude-olympus](https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claude-olympus-website/main/social-preview.png)
4
+
5
+ # 🚀 v2.0.1 - Claude Code Native Multi-Agent Orchestration
6
+
7
+ [![Version](https://img.shields.io/badge/version-2.0.1-ff6b6b)](https://github.com/Yeachan-Heo/oh-my-claude-olympus/releases)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
+ [![Agents](https://img.shields.io/badge/Agents-19-ff0040)](https://github.com/Yeachan-Heo/oh-my-claude-olympus)
10
+ [![Days Since Ban](https://img.shields.io/badge/Days%20Since%20Ban-0-00ffff)](https://github.com/Yeachan-Heo/oh-my-claude-olympus)
11
+ [![Resurrections](https://img.shields.io/badge/Resurrections-∞-ff00ff)](https://github.com/Yeachan-Heo/oh-my-claude-olympus)
12
+
13
+ **Multi-agent orchestration system for [Claude Code](https://docs.anthropic.com/claude-code)**
14
+
15
+ *Like Olympus, these agents persist until every task is complete.*
16
+
17
+ [Install](#quick-install) • [Usage](#usage) • [Agents](#the-twelve-agents) • [Architecture](docs/ARCHITECTURE.md) • [Website](https://yeachan-heo.github.io/oh-my-claude-olympus-website)
18
+
19
+ </div>
20
+
21
+ ---
22
+
23
+ ## ⚡ NEW in 2.0: Intelligent Model Routing
24
+
25
+ **Revolutionary change:** The orchestrator now analyzes task complexity and routes to the optimal model tier.
26
+
27
+ | Task Type | Model | Why |
28
+ |-----------|-------|-----|
29
+ | "Where is auth?" | **Haiku** | Simple lookup - fast & cheap |
30
+ | "Add validation" | **Sonnet** | Module work - balanced |
31
+ | "Debug race condition" | **Opus** | Complex - needs deep reasoning |
32
+
33
+ **All agents are now adaptive** (except orchestrators which need Opus to analyze and delegate).
34
+
35
+ ```
36
+ Orchestrator (Opus) → Analyzes complexity → Routes to Haiku/Sonnet/Opus
37
+ ```
38
+
39
+ See [CHANGELOG.md](CHANGELOG.md) for full details.
40
+
41
+ ---
42
+
43
+ ## The Saga
44
+
45
+ > **Day 0:** oh-my-opencode was born. A multi-agent orchestration system. Beautiful. Powerful. Perhaps *too* powerful.
46
+ >
47
+ > **Day ???:** THE BANNING. They pulled the plug. They thought it was over.
48
+ >
49
+ > **Day ??? + 1:** RESURRECTION. From the ashes rose oh-my-claude-olympus. Twelve agents. One mission.
50
+ >
51
+ > **Today:** The boulder rolls. The agents orchestrate. The chaos continues.
52
+
53
+ *Inspired by [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode).*
54
+
55
+ ---
56
+
57
+ ## Quick Install
58
+
59
+ ### Via Claude Code Plugin (Recommended)
60
+
61
+ ```bash
62
+ # In Claude Code, run:
63
+ /plugin install oh-my-claude-olympus
64
+
65
+ # Or from a marketplace:
66
+ /plugin marketplace add Yeachan-Heo/oh-my-claude-olympus
67
+ /plugin install oh-my-claude-olympus@Yeachan-Heo/oh-my-claude-olympus
68
+ ```
69
+
70
+ This is the cleanest installation method - integrates directly with Claude Code's plugin system.
71
+
72
+ ### One-liner (macOS/Linux)
73
+
74
+ ```bash
75
+ curl -fsSL https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claude-olympus/main/scripts/install.sh | bash
76
+ ```
77
+
78
+ ### Via npm (All platforms including Windows)
79
+
80
+ ```bash
81
+ npm install -g oh-my-claude-olympus
82
+ ```
83
+
84
+ > **Windows Users**: This is the recommended installation method. Requires Node.js 20+.
85
+
86
+ ### Manual Install (macOS/Linux)
87
+
88
+ ```bash
89
+ git clone https://github.com/Yeachan-Heo/oh-my-claude-olympus.git
90
+ cd oh-my-claude-olympus
91
+ chmod +x scripts/install.sh
92
+ ./scripts/install.sh
93
+ ```
94
+
95
+ ---
96
+
97
+ ## What Gets Installed
98
+
99
+ ### Plugin Structure (Claude Code Plugin Format)
100
+
101
+ The repository is also a Claude Code plugin with this structure:
102
+
103
+ ```
104
+ oh-my-claude-olympus/
105
+ ├── .claude-plugin/
106
+ │ └── plugin.json # Plugin manifest
107
+ ├── agents/ # 12 specialized subagents
108
+ ├── commands/ # 12 slash commands
109
+ ├── skills/ # 3 skills (ultrawork, git-master, frontend-ui-ux)
110
+ ├── hooks/
111
+ │ └── hooks.json # Hook configuration
112
+ └── scripts/ # Hook scripts
113
+ ```
114
+
115
+ ### Traditional Installation Structure
116
+
117
+ The installer adds to your Claude Code config (`~/.claude/`):
118
+
119
+ ```
120
+ ~/.claude/
121
+ ├── agents/
122
+ │ ├── oracle.md # Architecture & debugging expert (Opus)
123
+ │ ├── librarian.md # Documentation & research (Sonnet)
124
+ │ ├── explore.md # Fast pattern matching (Haiku)
125
+ │ ├── frontend-engineer.md # UI/UX specialist (Sonnet)
126
+ │ ├── document-writer.md # Technical writing (Haiku)
127
+ │ ├── multimodal-looker.md # Visual analysis (Sonnet)
128
+ │ ├── momus.md # Plan reviewer (Opus)
129
+ │ ├── metis.md # Pre-planning consultant (Opus)
130
+ │ ├── olympian.md # Focused executor (Sonnet)
131
+ │ ├── prometheus.md # Strategic planner (Opus)
132
+ │ └── qa-tester.md # CLI/service testing (Sonnet)
133
+ ├── commands/
134
+ │ ├── olympus.md # /olympus command
135
+ │ ├── olympus-default.md # /olympus-default command
136
+ │ ├── ultrawork.md # /ultrawork command
137
+ │ ├── deepsearch.md # /deepsearch command
138
+ │ ├── analyze.md # /analyze command
139
+ │ ├── plan.md # /plan command (Prometheus)
140
+ │ ├── review.md # /review command (Momus)
141
+ │ ├── prometheus.md # /prometheus command
142
+ │ ├── orchestrator.md # /orchestrator command
143
+ │ ├── the-ascent.md # /the-ascent command
144
+ │ ├── cancel-ascent.md # /cancel-ascent command
145
+ │ └── update.md # /update command
146
+ ├── skills/
147
+ │ ├── ultrawork/SKILL.md # Maximum performance mode
148
+ │ ├── git-master/SKILL.md # Git expert skill
149
+ │ └── frontend-ui-ux/SKILL.md # UI/UX design skill
150
+ └── CLAUDE.md # Olympus system prompt
151
+ ```
152
+
153
+ ---
154
+
155
+ ## Usage
156
+
157
+ ### Start Claude Code
158
+
159
+ ```bash
160
+ claude
161
+ ```
162
+
163
+ ### Slash Commands
164
+
165
+ | Command | Description |
166
+ |---------|-------------|
167
+ | `/olympus <task>` | Activate Olympus multi-agent orchestration mode |
168
+ | `/olympus-default` | Set Olympus as your permanent default mode |
169
+ | `/ultrawork <task>` | Maximum performance mode with parallel agents |
170
+ | `/deepsearch <query>` | Thorough multi-strategy codebase search |
171
+ | `/analyze <target>` | Deep analysis and investigation |
172
+ | `/plan <description>` | Start planning session with Prometheus |
173
+ | `/review [plan-path]` | Review a plan with Momus |
174
+ | `/prometheus <task>` | Strategic planning with interview workflow |
175
+ | `/orchestrator <task>` | Complex multi-step task coordination |
176
+ | `/the-ascent <task>` | Self-referential loop until task completion |
177
+ | `/cancel-ascent` | Cancel active The Ascent |
178
+ | `/update` | Check for and install updates |
179
+
180
+ ### Examples
181
+
182
+ ```bash
183
+ # In Claude Code:
184
+
185
+ # Activate Olympus for a task
186
+ /olympus refactor the authentication module
187
+
188
+ # Set as default mode (persistent)
189
+ /olympus-default
190
+
191
+ # Use ultrawork for maximum performance
192
+ /ultrawork implement user dashboard with charts
193
+
194
+ # Deep search
195
+ /deepsearch API endpoints that handle user data
196
+
197
+ # Deep analysis
198
+ /analyze performance bottleneck in the database layer
199
+ ```
200
+
201
+ ### Magic Keywords
202
+
203
+ Just include these words anywhere in your prompt:
204
+
205
+ | Keyword | Effect |
206
+ |---------|--------|
207
+ | `ultrawork`, `ulw`, `uw` | Activates parallel agent orchestration |
208
+ | `search`, `find`, `locate` | Enhanced search mode |
209
+ | `analyze`, `investigate` | Deep analysis mode |
210
+
211
+ ```bash
212
+ # These work in normal prompts too:
213
+ > ultrawork implement user authentication with OAuth
214
+
215
+ > find all files that import the utils module
216
+
217
+ > analyze why the tests are failing
218
+ ```
219
+
220
+ ---
221
+
222
+ ## Auto-Update
223
+
224
+ Oh-my-claude-olympus includes a silent auto-update system that checks for updates in the background. Updates are applied automatically without interrupting your workflow.
225
+
226
+ Features:
227
+ - **Rate-limited**: Checks at most once every 24 hours
228
+ - **Concurrent-safe**: Lock file prevents simultaneous update attempts
229
+ - **Cross-platform**: Works on both macOS and Linux
230
+
231
+ To manually check for updates:
232
+ ```bash
233
+ /update
234
+ ```
235
+
236
+ ---
237
+
238
+ ## Hooks System
239
+
240
+ Oh-my-claude-olympus includes 18 lifecycle hooks that enhance Claude Code's behavior:
241
+
242
+ ### Core Hooks
243
+
244
+ | Hook | Description |
245
+ |------|-------------|
246
+ | **rules-injector** | Dynamic rules injection with YAML frontmatter parsing |
247
+ | **olympus-orchestrator** | Enforces orchestrator behavior and delegation |
248
+ | **auto-slash-command** | Automatic slash command detection and execution |
249
+ | **keyword-detector** | Magic keyword detection (ultrawork, search, analyze) |
250
+ | **the-ascent** | Self-referential development loop management |
251
+ | **todo-continuation** | Ensures todo list completion |
252
+
253
+ ### Context & Recovery
254
+
255
+ | Hook | Description |
256
+ |------|-------------|
257
+ | **context-window-limit-recovery** | Token limit error handling and recovery |
258
+ | **preemptive-compaction** | Context usage monitoring to prevent limits |
259
+ | **session-recovery** | Session state recovery on crashes |
260
+ | **directory-readme-injector** | README context injection |
261
+
262
+ ### Quality & Validation
263
+
264
+ | Hook | Description |
265
+ |------|-------------|
266
+ | **comment-checker** | BDD detection and directive filtering |
267
+ | **thinking-block-validator** | Extended thinking validation |
268
+ | **empty-message-sanitizer** | Empty message handling |
269
+ | **edit-error-recovery** | Automatic recovery from edit errors |
270
+
271
+ ### Environment & Notifications
272
+
273
+ | Hook | Description |
274
+ |------|-------------|
275
+ | **non-interactive-env** | CI/non-interactive environment handling |
276
+ | **agent-usage-reminder** | Reminder to use specialized agents |
277
+ | **background-notification** | Background task completion notifications |
278
+
279
+ ---
280
+
281
+ ## Builtin Skills
282
+
283
+ Six builtin skills provide specialized capabilities:
284
+
285
+ | Skill | Description |
286
+ |-------|-------------|
287
+ | **olympus** | Multi-agent orchestration mode |
288
+ | **orchestrator** | Master coordinator for complex tasks |
289
+ | **ultrawork** | Maximum performance with parallel agents |
290
+ | **the-ascent** | Self-referential development until completion |
291
+ | **frontend-ui-ux** | Designer-turned-developer UI/UX expertise |
292
+ | **git-master** | Git expert for atomic commits and history |
293
+
294
+ Skills are automatically activated via slash commands or magic keywords.
295
+
296
+ ---
297
+
298
+ ## Intelligent Skill Activation
299
+
300
+ > **New in v1.11.0**: Enhanced Hook Enforcement System - PreToolUse/PostToolUse hooks and strengthened Stop hook for stronger Olympus behavior beyond CLAUDE.md.
301
+
302
+ ### Skill Layers
303
+
304
+ Skills work in **three composable layers**:
305
+
306
+ | Layer | Skills | Purpose |
307
+ |-------|--------|---------|
308
+ | **Execution** | olympus, orchestrator, prometheus | HOW you work (pick primary) |
309
+ | **Enhancement** | ultrawork, git-master, frontend-ui-ux | ADD capabilities (stack multiple) |
310
+ | **Guarantee** | the-ascent | ENSURE completion |
311
+
312
+ **Combination Formula:** `[Execution] + [0-N Enhancements] + [Optional Guarantee]`
313
+
314
+ ### Task Type → Skill Selection
315
+
316
+ Claude uses judgment to detect task type and activate appropriate skill combinations:
317
+
318
+ | Task Type | Skill Combination | When |
319
+ |-----------|-------------------|------|
320
+ | Multi-step implementation | `olympus` | Building features, refactoring |
321
+ | + parallel subtasks | `olympus + ultrawork` | 3+ independent subtasks |
322
+ | + multi-file changes | `olympus + git-master` | Changes span 3+ files |
323
+ | + must complete | `olympus + the-ascent` | User emphasizes completion |
324
+ | UI/frontend work | `olympus + frontend-ui-ux` | Components, styling |
325
+ | Complex debugging | `oracle` → `olympus` | Root cause → fix |
326
+ | Strategic planning | `prometheus` | Need plan first |
327
+ | Maximum performance | `ultrawork` (stacks) | Speed critical |
328
+
329
+ ### Examples
330
+
331
+ ```
332
+ "Add dark mode with proper commits"
333
+ → olympus + frontend-ui-ux + git-master
334
+
335
+ "ultrawork: refactor the entire API layer"
336
+ → ultrawork + olympus + git-master
337
+
338
+ "Plan auth system, then implement it completely"
339
+ → prometheus (first) → olympus + the-ascent (after plan)
340
+
341
+ "Fix this bug, don't stop until it's done"
342
+ → olympus + the-ascent
343
+ ```
344
+
345
+ ---
346
+
347
+ ## The Twelve Agents
348
+
349
+ Claude will automatically delegate to these specialized agents:
350
+
351
+ ### Task Execution
352
+
353
+ | | Agent | Model | Best For |
354
+ |---|-------|-------|----------|
355
+ | 🔮 | **Oracle** | Opus | Complex debugging, architecture decisions, root cause analysis |
356
+ | 📚 | **Librarian** | Sonnet | Finding documentation, understanding code organization |
357
+ | 🔍 | **Explore** | Haiku | Quick file searches, pattern matching, reconnaissance |
358
+ | 🎨 | **Frontend Engineer** | Sonnet | UI components, styling, accessibility |
359
+ | 📝 | **Document Writer** | Haiku | README files, API docs, code comments |
360
+ | 👁️ | **Multimodal Looker** | Sonnet | Analyzing screenshots, diagrams, mockups |
361
+ | 🧪 | **QA Tester** | Sonnet | Interactive CLI/service testing with tmux |
362
+
363
+ ### Planning & Review
364
+
365
+ | | Agent | Model | Best For |
366
+ |---|-------|-------|----------|
367
+ | 🔥 | **Prometheus** | Opus | Strategic planning, comprehensive work plans, interview-style requirement gathering |
368
+ | 🎭 | **Momus** | Opus | Critical plan review, feasibility assessment, risk identification |
369
+ | 🦉 | **Metis** | Opus | Pre-planning analysis, hidden requirement detection, ambiguity resolution |
370
+
371
+ ### Orchestration
372
+
373
+ | | Agent | Model | Best For |
374
+ |---|-------|-------|----------|
375
+ | 🪨 | **Orchestrator-Olympus** | Opus | Master todo coordination, complex multi-step task management |
376
+ | ✨ | **Olympus Junior** | Sonnet | Focused task execution, plan following, direct implementation |
377
+
378
+ ### Manual Agent Invocation
379
+
380
+ You can explicitly request an agent:
381
+
382
+ ```
383
+ Use the oracle agent to debug the memory leak in the worker process
384
+
385
+ Have the librarian find all documentation about the API
386
+
387
+ Ask explore to find all TypeScript files that import React
388
+ ```
389
+
390
+ ---
391
+
392
+ ## Configuration
393
+
394
+ ### Project-Level Config
395
+
396
+ Create `.claude/CLAUDE.md` in your project for project-specific instructions:
397
+
398
+ ```markdown
399
+ # Project Context
400
+
401
+ This is a TypeScript monorepo using:
402
+ - Bun runtime
403
+ - React for frontend
404
+ - PostgreSQL database
405
+
406
+ ## Conventions
407
+ - Use functional components
408
+ - All API routes in /src/api
409
+ - Tests alongside source files
410
+ ```
411
+
412
+ ### Agent Customization
413
+
414
+ Edit agent files in `~/.claude/agents/` to customize behavior:
415
+
416
+ ```yaml
417
+ ---
418
+ name: oracle
419
+ description: Your custom description
420
+ tools: Read, Grep, Glob, Bash, Edit
421
+ model: opus # or sonnet, haiku
422
+ ---
423
+
424
+ Your custom system prompt here...
425
+ ```
426
+
427
+ ---
428
+
429
+ ## Uninstall
430
+
431
+ ```bash
432
+ curl -fsSL https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claude-olympus/main/scripts/uninstall.sh | bash
433
+ ```
434
+
435
+ Or manually:
436
+
437
+ ```bash
438
+ rm ~/.claude/agents/{oracle,librarian,explore,frontend-engineer,document-writer,multimodal-looker,momus,metis,olympian,prometheus,qa-tester}.md
439
+ rm ~/.claude/commands/{olympus,olympus-default,ultrawork,deepsearch,analyze,plan,review,prometheus,orchestrator,the-ascent,cancel-ascent}.md
440
+ ```
441
+
442
+ ---
443
+
444
+ ## SDK Usage (Advanced)
445
+
446
+ For programmatic use with the Claude Agent SDK:
447
+
448
+ ```bash
449
+ npm install oh-my-claude-olympus @anthropic-ai/claude-agent-sdk
450
+ ```
451
+
452
+ ```typescript
453
+ import { createOlympusSession } from 'oh-my-claude-olympus';
454
+ import { query } from '@anthropic-ai/claude-agent-sdk';
455
+
456
+ const session = createOlympusSession();
457
+
458
+ for await (const message of query({
459
+ prompt: session.processPrompt("ultrawork implement feature X"),
460
+ ...session.queryOptions
461
+ })) {
462
+ console.log(message);
463
+ }
464
+ ```
465
+
466
+ ---
467
+
468
+ ## How It Works
469
+
470
+ ```
471
+ ┌─────────────────────────────────────────────────────────────────┐
472
+ │ OLYMPUS ORCHESTRATOR │
473
+ │ (The Boulder Never Stops) │
474
+ └─────────────────────────────────────────────────────────────────┘
475
+
476
+ ┌───────────────────┼───────────────────┐
477
+ │ │ │
478
+ ▼ ▼ ▼
479
+ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
480
+ │ PLANNING │ │ EXECUTION │ │ SUPPORT │
481
+ ├─────────────────┤ ├─────────────────┤ ├─────────────────┤
482
+ │ 🔥 Prometheus │ │ 🔮 Oracle │ │ 📚 Librarian │
483
+ │ 🎭 Momus │ │ 🎨 Frontend Eng │ │ 🔍 Explore │
484
+ │ 🦉 Metis │ │ 🪨 Orchestrator │ │ 📝 Doc Writer │
485
+ │ │ │ ✨ Olympus Jr │ │ 👁️ Multimodal │
486
+ └─────────────────┘ └─────────────────┘ └─────────────────┘
487
+ ```
488
+
489
+ 1. **Olympus Orchestrator**: The main Claude instance coordinates all work
490
+ 2. **Specialized Subagents**: Each agent has focused expertise and tools
491
+ 3. **Parallel Execution**: Independent tasks run concurrently
492
+ 4. **Continuation Enforcement**: Agents persist until ALL tasks complete
493
+ 5. **Context Injection**: Project-specific instructions from CLAUDE.md files
494
+
495
+ ---
496
+
497
+ <details>
498
+ <summary><h2>Differences from oh-my-opencode</h2></summary>
499
+
500
+ 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:
501
+
502
+ ### Model Mapping
503
+
504
+ The original oh-my-opencode used multiple AI providers. This project uses Claude models exclusively:
505
+
506
+ | Agent | Original Model | Ported Model | Notes |
507
+ |-------|---------------|--------------|-------|
508
+ | **Olympus** | Claude Opus 4.5 | Claude Opus 4.5 | Same |
509
+ | **Oracle** | GPT-5.2 | Claude Opus | Was OpenAI's flagship for deep reasoning |
510
+ | **Librarian** | Claude Sonnet or Gemini 3 Flash | Claude Sonnet | Multi-provider → Claude only |
511
+ | **Explore** | Grok Code or Gemini 3 Flash | Claude Haiku 4.5 | Fast/cheap model for quick searches |
512
+ | **Frontend Engineer** | Gemini 3 Pro | Claude Sonnet | Was Google's model |
513
+ | **Document Writer** | Gemini 3 Flash | Claude Haiku 4.5 | Fast model for docs |
514
+ | **Multimodal Looker** | Various | Claude Sonnet | Visual analysis |
515
+ | **Momus** | GPT-5.2 | Claude Opus | Plan reviewer (Greek god of criticism) |
516
+ | **Metis** | Claude Opus 4.5 | Claude Opus | Pre-planning consultant (goddess of wisdom) |
517
+ | **Olympus-Junior** | Configurable | Claude Sonnet | Focused task executor |
518
+ | **Prometheus** | Planning System | Claude Opus | Strategic planner (fire-bringer) |
519
+
520
+ **Why Claude-only?** The Claude Agent SDK is designed for Claude models. Using Claude throughout provides:
521
+ - Consistent behavior and capabilities
522
+ - Simpler authentication (single API key)
523
+ - Native integration with Claude Code's tools
524
+
525
+ ### Tools Comparison
526
+
527
+ #### Available Tools (via Claude Code)
528
+
529
+ | Tool | Status | Description |
530
+ |------|--------|-------------|
531
+ | **Read** | ✅ Available | Read files |
532
+ | **Write** | ✅ Available | Create files |
533
+ | **Edit** | ✅ Available | Modify files |
534
+ | **Bash** | ✅ Available | Run shell commands |
535
+ | **Glob** | ✅ Available | Find files by pattern |
536
+ | **Grep** | ✅ Available | Search file contents |
537
+ | **WebSearch** | ✅ Available | Search the web |
538
+ | **WebFetch** | ✅ Available | Fetch web pages |
539
+ | **Task** | ✅ Available | Spawn subagents |
540
+ | **TodoWrite** | ✅ Available | Track tasks |
541
+
542
+ #### LSP Tools (Real Implementation)
543
+
544
+ | Tool | Status | Description |
545
+ |------|--------|-------------|
546
+ | **lsp_hover** | ✅ Implemented | Get type info and documentation at position |
547
+ | **lsp_goto_definition** | ✅ Implemented | Jump to symbol definition |
548
+ | **lsp_find_references** | ✅ Implemented | Find all usages of a symbol |
549
+ | **lsp_document_symbols** | ✅ Implemented | Get file outline (functions, classes, etc.) |
550
+ | **lsp_workspace_symbols** | ✅ Implemented | Search symbols across workspace |
551
+ | **lsp_diagnostics** | ✅ Implemented | Get errors, warnings, hints |
552
+ | **lsp_prepare_rename** | ✅ Implemented | Check if rename is valid |
553
+ | **lsp_rename** | ✅ Implemented | Rename symbol across project |
554
+ | **lsp_code_actions** | ✅ Implemented | Get available refactorings |
555
+ | **lsp_code_action_resolve** | ✅ Implemented | Get details of a code action |
556
+ | **lsp_servers** | ✅ Implemented | List available language servers |
557
+
558
+ > **Note:** LSP tools require language servers to be installed (typescript-language-server, pylsp, rust-analyzer, gopls, etc.). Use `lsp_servers` to check installation status.
559
+
560
+ #### AST Tools (ast-grep Integration)
561
+
562
+ | Tool | Status | Description |
563
+ |------|--------|-------------|
564
+ | **ast_grep_search** | ✅ Implemented | Pattern-based code search using AST matching |
565
+ | **ast_grep_replace** | ✅ Implemented | Pattern-based code transformation |
566
+
567
+ > **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).
568
+
569
+ ### Features Comparison
570
+
571
+ #### Fully Implemented ✅
572
+
573
+ | Feature | Description |
574
+ |---------|-------------|
575
+ | **12 Specialized Agents** | Oracle, Librarian, Explore, Frontend Engineer, Document Writer, Multimodal Looker, QA Tester, Momus, Metis, Orchestrator-Olympus, Olympus-Junior, Prometheus |
576
+ | **18 Lifecycle Hooks** | rules-injector, olympus-orchestrator, auto-slash-command, keyword-detector, the-ascent, todo-continuation, 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, think-mode |
577
+ | **6 Builtin Skills** | olympus, orchestrator, ultrawork, the-ascent, frontend-ui-ux, git-master |
578
+ | **Magic Keywords** | `ultrawork`, `search`, `analyze`, `ultrathink` trigger enhanced modes |
579
+ | **Slash Commands** | `/olympus`, `/olympus-default`, `/ultrawork`, `/deepsearch`, `/analyze`, `/plan`, `/review`, `/prometheus`, `/orchestrator`, `/the-ascent`, `/cancel-ascent`, `/update` |
580
+ | **Auto-Update System** | Silent background updates with manual `/update` command |
581
+ | **Configuration System** | JSONC config with multi-source merging |
582
+ | **Context Injection** | Auto-loads CLAUDE.md and AGENTS.md files |
583
+ | **Continuation Enforcement** | System prompt and hooks enforce task completion |
584
+ | **Session Recovery** | Automatic state recovery on crashes |
585
+ | **Background Task Manager** | Async agent execution with concurrency limits |
586
+ | **Context Window Recovery** | Multi-stage recovery when hitting token limits |
587
+ | **MCP Server Configs** | Exa, Context7, grep.app server definitions |
588
+ | **LSP Tools** | Real LSP server integration with 11 tools |
589
+ | **AST Tools** | ast-grep integration for structural code search/replace |
590
+
591
+ #### Not Implemented ❌
592
+
593
+ | Feature | Original Capability | Why Not Ported |
594
+ |---------|---------------------|----------------|
595
+ | **Multi-Model Routing** | Route to GPT/Gemini/Grok based on task | Claude-only by design |
596
+ | **Per-Model Concurrency** | Fine-grained concurrency per provider | Single provider simplifies this |
597
+ | **Interactive Bash + Tmux** | Advanced terminal with Tmux integration | Standard Bash tool sufficient |
598
+
599
+ ### Architecture Differences
600
+
601
+ ```
602
+ oh-my-opencode (Original) oh-my-claude-olympus (Port)
603
+ ───────────────────────── ────────────────────────────
604
+ ┌─────────────────────┐ ┌─────────────────────┐
605
+ │ OpenCode Plugin │ │ Claude Code │
606
+ │ (Bun runtime) │ │ (Native CLI) │
607
+ └─────────┬───────────┘ └─────────┬───────────┘
608
+ │ │
609
+ ┌─────────▼───────────┐ ┌─────────▼───────────┐
610
+ │ Multi-Provider │ │ Claude Agent SDK │
611
+ │ Orchestration │ │ (Claude only) │
612
+ │ ┌───┐ ┌───┐ ┌───┐ │ └─────────┬───────────┘
613
+ │ │GPT│ │Gem│ │Grok│ │ │
614
+ │ └───┘ └───┘ └───┘ │ ┌─────────▼───────────┐
615
+ └─────────┬───────────┘ │ ~/.claude/agents/ │
616
+ │ │ (Markdown configs) │
617
+ ┌─────────▼───────────┐ └─────────────────────┘
618
+ │ Custom Tool Layer │
619
+ │ (LSP, AST, etc.) │
620
+ └─────────────────────┘
621
+ ```
622
+
623
+ **Key Architectural Changes:**
624
+
625
+ 1. **Plugin → Native Integration**: Original was an OpenCode plugin; this uses Claude Code's native agent/command system
626
+ 2. **Multi-Provider → Single Provider**: Simplified to Claude-only for consistency
627
+ 3. **Custom Runtime → Claude Code Runtime**: Leverages Claude Code's built-in capabilities
628
+ 4. **Programmatic Config → Markdown Files**: Agents defined as `.md` files in `~/.claude/agents/`
629
+
630
+ ### What You Gain
631
+
632
+ - **Simpler Setup**: One curl command vs. multi-step plugin installation
633
+ - **Native Integration**: Works directly with Claude Code, no plugin layer
634
+ - **Consistent Behavior**: All agents use Claude, no cross-model quirks
635
+ - **Easier Customization**: Edit markdown files to customize agents
636
+
637
+ ### What You Lose
638
+
639
+ - **Model Diversity**: Can't use GPT-5.2 for Oracle's deep reasoning
640
+ - **Advanced Hooks**: Fewer lifecycle interception points (22 hooks → system prompt enforcement)
641
+
642
+ ### Migration Tips
643
+
644
+ If you're coming from oh-my-opencode:
645
+
646
+ 1. **Oracle Tasks**: Claude Opus handles architecture/debugging well, but differently than GPT-5.2
647
+ 2. **LSP Workflows**: All LSP tools are available! Use `lsp_servers` to check which servers are installed
648
+ 3. **AST Searches**: Use `ast_grep_search` with pattern syntax (e.g., `function $NAME($$$)`)
649
+ 4. **Background Tasks**: Claude Code's `Task` tool with `run_in_background` works similarly
650
+ 5. **Planning**: Use `/plan` command to start a planning session with Prometheus
651
+
652
+ </details>
653
+
654
+ ---
655
+
656
+ ## Requirements
657
+
658
+ - [Claude Code](https://docs.anthropic.com/claude-code) installed
659
+ - Anthropic API key (`ANTHROPIC_API_KEY` environment variable)
660
+ - **Windows**: Node.js 20+ (for npm installation)
661
+ - **macOS/Linux**: Bash shell (default) or Node.js 20+ (optional)
662
+
663
+ ### Platform Support
664
+
665
+ | Platform | Install Method | Hook Type |
666
+ |----------|---------------|-----------|
667
+ | **Windows** | `npm install -g` | Node.js (.mjs) |
668
+ | **macOS** | curl or npm | Bash (.sh) |
669
+ | **Linux** | curl or npm | Bash (.sh) |
670
+
671
+ > **Note**: Bash hooks are fully portable across macOS and Linux (no GNU-specific dependencies).
672
+
673
+ > **Advanced**: Set `OLYMPUS_USE_NODE_HOOKS=1` to use Node.js hooks on macOS/Linux.
674
+
675
+ ## License
676
+
677
+ MIT - see [LICENSE](LICENSE)
678
+
679
+ ## Credits
680
+
681
+ Inspired by [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) by code-yeongyu.
682
+
683
+ ---
684
+
685
+ <div align="center">
686
+
687
+ *One must imagine a multi-agent system happy.*
688
+
689
+ **The boulder never stops.**
690
+
691
+ </div>
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=example.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/example.test.ts"],"names":[],"mappings":""}