olympus-ai 2.7.3 → 3.1.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 (313) hide show
  1. package/.claude/.olympus-version.json +6 -0
  2. package/.claude/CLAUDE.md +1 -49
  3. package/.claude/agents/document-writer.md +152 -0
  4. package/.claude/agents/explore-medium.md +25 -0
  5. package/.claude/agents/explore.md +86 -0
  6. package/.claude/agents/frontend-engineer-high.md +17 -0
  7. package/.claude/agents/frontend-engineer-low.md +17 -0
  8. package/.claude/agents/frontend-engineer.md +80 -0
  9. package/.claude/agents/librarian-low.md +22 -0
  10. package/.claude/agents/librarian.md +70 -0
  11. package/.claude/agents/metis.md +85 -0
  12. package/.claude/agents/momus.md +97 -0
  13. package/.claude/agents/multimodal-looker.md +39 -0
  14. package/.claude/agents/olympian-high.md +32 -0
  15. package/.claude/agents/olympian-low.md +22 -0
  16. package/.claude/agents/olympian.md +78 -0
  17. package/.claude/agents/oracle-low.md +23 -0
  18. package/.claude/agents/oracle-medium.md +28 -0
  19. package/.claude/agents/oracle.md +77 -0
  20. package/.claude/agents/prometheus.md +125 -0
  21. package/.claude/agents/qa-tester.md +220 -0
  22. package/.claude/commands/analyze/skill.md +14 -0
  23. package/.claude/commands/ascent/skill.md +152 -0
  24. package/.claude/commands/cancel-ascent.md +9 -0
  25. package/.claude/commands/complete-plan.md +101 -0
  26. package/.claude/commands/deepsearch/skill.md +15 -0
  27. package/.claude/commands/olympus/skill.md +82 -0
  28. package/.claude/commands/olympus-default.md +26 -0
  29. package/.claude/commands/plan.md +30 -0
  30. package/.claude/commands/prometheus/skill.md +38 -0
  31. package/.claude/commands/review/skill.md +34 -0
  32. package/.claude/commands/ultrawork/skill.md +90 -0
  33. package/.claude/commands/update.md +38 -0
  34. package/.claude-plugin/marketplace.json +2 -2
  35. package/.claude-plugin/plugin.json +2 -2
  36. package/COPYRIGHT +22 -0
  37. package/LICENSE +1 -1
  38. package/NOTICE +24 -0
  39. package/README.md +431 -61
  40. package/dist/__tests__/installer.test.js +1 -1
  41. package/dist/__tests__/learning/cleanup.test.d.ts +2 -0
  42. package/dist/__tests__/learning/cleanup.test.d.ts.map +1 -0
  43. package/dist/__tests__/learning/cleanup.test.js +122 -0
  44. package/dist/__tests__/learning/cleanup.test.js.map +1 -0
  45. package/dist/__tests__/learning/storage.test.d.ts +2 -0
  46. package/dist/__tests__/learning/storage.test.d.ts.map +1 -0
  47. package/dist/__tests__/learning/storage.test.js +75 -0
  48. package/dist/__tests__/learning/storage.test.js.map +1 -0
  49. package/dist/agents/definitions.d.ts +23 -6
  50. package/dist/agents/definitions.d.ts.map +1 -1
  51. package/dist/agents/definitions.js +47 -14
  52. package/dist/agents/definitions.js.map +1 -1
  53. package/dist/agents/document-writer.d.ts +13 -3
  54. package/dist/agents/document-writer.d.ts.map +1 -1
  55. package/dist/agents/document-writer.js +13 -3
  56. package/dist/agents/document-writer.js.map +1 -1
  57. package/dist/agents/explore.d.ts +13 -4
  58. package/dist/agents/explore.d.ts.map +1 -1
  59. package/dist/agents/explore.js +13 -4
  60. package/dist/agents/explore.js.map +1 -1
  61. package/dist/agents/frontend-engineer.d.ts +14 -3
  62. package/dist/agents/frontend-engineer.d.ts.map +1 -1
  63. package/dist/agents/frontend-engineer.js +14 -3
  64. package/dist/agents/frontend-engineer.js.map +1 -1
  65. package/dist/agents/librarian.d.ts +13 -4
  66. package/dist/agents/librarian.d.ts.map +1 -1
  67. package/dist/agents/librarian.js +13 -4
  68. package/dist/agents/librarian.js.map +1 -1
  69. package/dist/agents/metis.d.ts +12 -4
  70. package/dist/agents/metis.d.ts.map +1 -1
  71. package/dist/agents/metis.js +12 -4
  72. package/dist/agents/metis.js.map +1 -1
  73. package/dist/agents/momus.d.ts +12 -4
  74. package/dist/agents/momus.d.ts.map +1 -1
  75. package/dist/agents/momus.js +12 -4
  76. package/dist/agents/momus.js.map +1 -1
  77. package/dist/agents/multimodal-looker.d.ts +13 -3
  78. package/dist/agents/multimodal-looker.d.ts.map +1 -1
  79. package/dist/agents/multimodal-looker.js +13 -3
  80. package/dist/agents/multimodal-looker.js.map +1 -1
  81. package/dist/agents/olympian.d.ts +14 -4
  82. package/dist/agents/olympian.d.ts.map +1 -1
  83. package/dist/agents/olympian.js +37 -11
  84. package/dist/agents/olympian.js.map +1 -1
  85. package/dist/agents/oracle.d.ts +13 -5
  86. package/dist/agents/oracle.d.ts.map +1 -1
  87. package/dist/agents/oracle.js +13 -5
  88. package/dist/agents/oracle.js.map +1 -1
  89. package/dist/agents/orchestrator-olympus.d.ts +13 -3
  90. package/dist/agents/orchestrator-olympus.d.ts.map +1 -1
  91. package/dist/agents/orchestrator-olympus.js +14 -4
  92. package/dist/agents/orchestrator-olympus.js.map +1 -1
  93. package/dist/agents/prometheus.d.ts +12 -4
  94. package/dist/agents/prometheus.d.ts.map +1 -1
  95. package/dist/agents/prometheus.js +12 -4
  96. package/dist/agents/prometheus.js.map +1 -1
  97. package/dist/agents/types.d.ts +10 -3
  98. package/dist/agents/types.d.ts.map +1 -1
  99. package/dist/agents/types.js +10 -3
  100. package/dist/agents/types.js.map +1 -1
  101. package/dist/agents/utils.d.ts +9 -4
  102. package/dist/agents/utils.d.ts.map +1 -1
  103. package/dist/agents/utils.js +9 -4
  104. package/dist/agents/utils.js.map +1 -1
  105. package/dist/cli/index.js +128 -9
  106. package/dist/cli/index.js.map +1 -1
  107. package/dist/config/loader.js +1 -1
  108. package/dist/config/loader.js.map +1 -1
  109. package/dist/features/background-agent/concurrency.d.ts +1 -1
  110. package/dist/features/background-agent/concurrency.js +1 -1
  111. package/dist/features/background-agent/index.d.ts +1 -1
  112. package/dist/features/background-agent/index.js +1 -1
  113. package/dist/features/background-agent/manager.d.ts +1 -1
  114. package/dist/features/background-agent/manager.js +1 -1
  115. package/dist/features/background-agent/types.d.ts +1 -1
  116. package/dist/features/background-agent/types.js +1 -1
  117. package/dist/features/background-tasks.d.ts +11 -11
  118. package/dist/features/background-tasks.js +11 -11
  119. package/dist/features/builtin-skills/index.d.ts +1 -1
  120. package/dist/features/builtin-skills/index.js +1 -1
  121. package/dist/features/builtin-skills/skills.d.ts +1 -1
  122. package/dist/features/builtin-skills/skills.js +1 -1
  123. package/dist/features/builtin-skills/types.d.ts +1 -1
  124. package/dist/features/builtin-skills/types.js +1 -1
  125. package/dist/features/context-injector/collector.d.ts +9 -4
  126. package/dist/features/context-injector/collector.d.ts.map +1 -1
  127. package/dist/features/context-injector/collector.js +9 -4
  128. package/dist/features/context-injector/collector.js.map +1 -1
  129. package/dist/features/context-injector/index.d.ts +1 -1
  130. package/dist/features/context-injector/index.js +1 -1
  131. package/dist/features/context-injector/injector.d.ts +1 -1
  132. package/dist/features/context-injector/injector.js +1 -1
  133. package/dist/features/context-injector/types.d.ts +1 -1
  134. package/dist/features/context-injector/types.js +1 -1
  135. package/dist/features/continuation-enforcement.d.ts +5 -2
  136. package/dist/features/continuation-enforcement.d.ts.map +1 -1
  137. package/dist/features/continuation-enforcement.js +10 -4
  138. package/dist/features/continuation-enforcement.js.map +1 -1
  139. package/dist/features/magic-keywords.d.ts +12 -3
  140. package/dist/features/magic-keywords.d.ts.map +1 -1
  141. package/dist/features/magic-keywords.js +12 -3
  142. package/dist/features/magic-keywords.js.map +1 -1
  143. package/dist/features/quest-state/constants.d.ts +1 -1
  144. package/dist/features/quest-state/constants.js +1 -1
  145. package/dist/features/quest-state/index.d.ts +1 -1
  146. package/dist/features/quest-state/index.js +1 -1
  147. package/dist/features/quest-state/storage.d.ts +1 -1
  148. package/dist/features/quest-state/storage.js +1 -1
  149. package/dist/features/quest-state/types.d.ts +1 -1
  150. package/dist/features/quest-state/types.js +1 -1
  151. package/dist/hooks/agent-usage-reminder/constants.d.ts +1 -1
  152. package/dist/hooks/agent-usage-reminder/constants.js +1 -1
  153. package/dist/hooks/agent-usage-reminder/index.d.ts +1 -1
  154. package/dist/hooks/agent-usage-reminder/index.js +1 -1
  155. package/dist/hooks/agent-usage-reminder/storage.d.ts +1 -1
  156. package/dist/hooks/agent-usage-reminder/storage.js +1 -1
  157. package/dist/hooks/agent-usage-reminder/types.d.ts +1 -1
  158. package/dist/hooks/agent-usage-reminder/types.js +1 -1
  159. package/dist/hooks/ascent/index.d.ts +1 -1
  160. package/dist/hooks/ascent/index.js +1 -1
  161. package/dist/hooks/auto-slash-command/constants.d.ts +1 -1
  162. package/dist/hooks/auto-slash-command/constants.js +1 -1
  163. package/dist/hooks/auto-slash-command/detector.d.ts +1 -1
  164. package/dist/hooks/auto-slash-command/detector.js +1 -1
  165. package/dist/hooks/auto-slash-command/executor.d.ts +1 -1
  166. package/dist/hooks/auto-slash-command/executor.js +1 -1
  167. package/dist/hooks/auto-slash-command/index.d.ts +1 -1
  168. package/dist/hooks/auto-slash-command/index.js +1 -1
  169. package/dist/hooks/auto-slash-command/types.d.ts +1 -1
  170. package/dist/hooks/auto-slash-command/types.js +1 -1
  171. package/dist/hooks/background-notification/index.d.ts +7 -4
  172. package/dist/hooks/background-notification/index.d.ts.map +1 -1
  173. package/dist/hooks/background-notification/index.js +7 -4
  174. package/dist/hooks/background-notification/index.js.map +1 -1
  175. package/dist/hooks/background-notification/types.d.ts +1 -1
  176. package/dist/hooks/background-notification/types.js +1 -1
  177. package/dist/hooks/comment-checker/constants.d.ts +1 -1
  178. package/dist/hooks/comment-checker/constants.js +1 -1
  179. package/dist/hooks/comment-checker/filters.d.ts +1 -1
  180. package/dist/hooks/comment-checker/filters.js +1 -1
  181. package/dist/hooks/comment-checker/index.d.ts +1 -1
  182. package/dist/hooks/comment-checker/index.js +1 -1
  183. package/dist/hooks/comment-checker/types.d.ts +1 -1
  184. package/dist/hooks/comment-checker/types.js +1 -1
  185. package/dist/hooks/context-window-limit-recovery/constants.d.ts +1 -1
  186. package/dist/hooks/context-window-limit-recovery/constants.js +1 -1
  187. package/dist/hooks/context-window-limit-recovery/index.d.ts +2 -3
  188. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +1 -1
  189. package/dist/hooks/context-window-limit-recovery/index.js +2 -3
  190. package/dist/hooks/context-window-limit-recovery/index.js.map +1 -1
  191. package/dist/hooks/context-window-limit-recovery/parser.d.ts +1 -1
  192. package/dist/hooks/context-window-limit-recovery/parser.js +1 -1
  193. package/dist/hooks/context-window-limit-recovery/types.d.ts +1 -1
  194. package/dist/hooks/context-window-limit-recovery/types.js +1 -1
  195. package/dist/hooks/directory-readme-injector/constants.d.ts +1 -1
  196. package/dist/hooks/directory-readme-injector/constants.js +1 -1
  197. package/dist/hooks/directory-readme-injector/index.d.ts +1 -1
  198. package/dist/hooks/directory-readme-injector/index.js +1 -1
  199. package/dist/hooks/directory-readme-injector/storage.d.ts +1 -1
  200. package/dist/hooks/directory-readme-injector/storage.js +1 -1
  201. package/dist/hooks/directory-readme-injector/types.d.ts +1 -1
  202. package/dist/hooks/directory-readme-injector/types.js +1 -1
  203. package/dist/hooks/edit-error-recovery/index.d.ts +1 -1
  204. package/dist/hooks/edit-error-recovery/index.js +1 -1
  205. package/dist/hooks/empty-message-sanitizer/constants.d.ts +1 -1
  206. package/dist/hooks/empty-message-sanitizer/constants.js +1 -1
  207. package/dist/hooks/empty-message-sanitizer/index.d.ts +1 -1
  208. package/dist/hooks/empty-message-sanitizer/index.js +1 -1
  209. package/dist/hooks/empty-message-sanitizer/types.d.ts +1 -1
  210. package/dist/hooks/empty-message-sanitizer/types.js +1 -1
  211. package/dist/hooks/keyword-detector/index.d.ts +7 -3
  212. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  213. package/dist/hooks/keyword-detector/index.js +7 -3
  214. package/dist/hooks/keyword-detector/index.js.map +1 -1
  215. package/dist/hooks/olympus-orchestrator/constants.d.ts +4 -4
  216. package/dist/hooks/olympus-orchestrator/constants.d.ts.map +1 -1
  217. package/dist/hooks/olympus-orchestrator/constants.js +4 -4
  218. package/dist/hooks/olympus-orchestrator/index.d.ts +8 -5
  219. package/dist/hooks/olympus-orchestrator/index.d.ts.map +1 -1
  220. package/dist/hooks/olympus-orchestrator/index.js +8 -5
  221. package/dist/hooks/olympus-orchestrator/index.js.map +1 -1
  222. package/dist/hooks/preemptive-compaction/constants.d.ts +1 -1
  223. package/dist/hooks/preemptive-compaction/constants.js +1 -1
  224. package/dist/hooks/preemptive-compaction/index.d.ts +3 -4
  225. package/dist/hooks/preemptive-compaction/index.d.ts.map +1 -1
  226. package/dist/hooks/preemptive-compaction/index.js +3 -4
  227. package/dist/hooks/preemptive-compaction/index.js.map +1 -1
  228. package/dist/hooks/preemptive-compaction/types.d.ts +1 -1
  229. package/dist/hooks/preemptive-compaction/types.js +1 -1
  230. package/dist/hooks/rules-injector/constants.d.ts +1 -1
  231. package/dist/hooks/rules-injector/constants.js +1 -1
  232. package/dist/hooks/rules-injector/finder.d.ts +1 -1
  233. package/dist/hooks/rules-injector/finder.js +1 -1
  234. package/dist/hooks/rules-injector/index.d.ts +1 -1
  235. package/dist/hooks/rules-injector/index.js +1 -1
  236. package/dist/hooks/rules-injector/matcher.d.ts +1 -1
  237. package/dist/hooks/rules-injector/matcher.js +1 -1
  238. package/dist/hooks/rules-injector/parser.d.ts +1 -1
  239. package/dist/hooks/rules-injector/parser.js +1 -1
  240. package/dist/hooks/rules-injector/storage.d.ts +1 -1
  241. package/dist/hooks/rules-injector/storage.js +1 -1
  242. package/dist/hooks/rules-injector/types.d.ts +1 -1
  243. package/dist/hooks/rules-injector/types.js +1 -1
  244. package/dist/hooks/session-recovery/constants.d.ts +1 -1
  245. package/dist/hooks/session-recovery/constants.js +1 -1
  246. package/dist/hooks/session-recovery/index.d.ts +1 -1
  247. package/dist/hooks/session-recovery/index.js +1 -1
  248. package/dist/hooks/session-recovery/storage.d.ts +1 -1
  249. package/dist/hooks/session-recovery/storage.js +1 -1
  250. package/dist/hooks/session-recovery/types.d.ts +1 -1
  251. package/dist/hooks/session-recovery/types.js +1 -1
  252. package/dist/hooks/think-mode/detector.d.ts +1 -1
  253. package/dist/hooks/think-mode/detector.js +1 -1
  254. package/dist/hooks/think-mode/index.d.ts +1 -1
  255. package/dist/hooks/think-mode/index.js +1 -1
  256. package/dist/hooks/think-mode/switcher.d.ts +1 -1
  257. package/dist/hooks/think-mode/switcher.js +1 -1
  258. package/dist/hooks/think-mode/types.d.ts +1 -1
  259. package/dist/hooks/think-mode/types.js +1 -1
  260. package/dist/hooks/thinking-block-validator/constants.d.ts +1 -1
  261. package/dist/hooks/thinking-block-validator/constants.js +1 -1
  262. package/dist/hooks/thinking-block-validator/index.d.ts +1 -1
  263. package/dist/hooks/thinking-block-validator/index.js +1 -1
  264. package/dist/hooks/thinking-block-validator/types.d.ts +1 -1
  265. package/dist/hooks/thinking-block-validator/types.js +1 -1
  266. package/dist/hooks/todo-continuation/index.d.ts +1 -1
  267. package/dist/hooks/todo-continuation/index.js +1 -1
  268. package/dist/index.d.ts +15 -10
  269. package/dist/index.d.ts.map +1 -1
  270. package/dist/index.js +15 -10
  271. package/dist/index.js.map +1 -1
  272. package/dist/installer/hooks.d.ts +70 -24
  273. package/dist/installer/hooks.d.ts.map +1 -1
  274. package/dist/installer/hooks.js +69 -24
  275. package/dist/installer/hooks.js.map +1 -1
  276. package/dist/installer/index.d.ts +2 -2
  277. package/dist/installer/index.d.ts.map +1 -1
  278. package/dist/installer/index.js +29 -13
  279. package/dist/installer/index.js.map +1 -1
  280. package/dist/learning/cleanup.d.ts +18 -0
  281. package/dist/learning/cleanup.d.ts.map +1 -0
  282. package/dist/learning/cleanup.js +160 -0
  283. package/dist/learning/cleanup.js.map +1 -0
  284. package/dist/learning/discovery.d.ts.map +1 -1
  285. package/dist/learning/discovery.js +3 -1
  286. package/dist/learning/discovery.js.map +1 -1
  287. package/dist/learning/pattern-extractor.d.ts +1 -1
  288. package/dist/learning/pattern-extractor.d.ts.map +1 -1
  289. package/dist/learning/pattern-extractor.js +4 -2
  290. package/dist/learning/pattern-extractor.js.map +1 -1
  291. package/dist/learning/stats.d.ts +28 -0
  292. package/dist/learning/stats.d.ts.map +1 -0
  293. package/dist/learning/stats.js +112 -0
  294. package/dist/learning/stats.js.map +1 -0
  295. package/dist/learning/storage.d.ts +4 -0
  296. package/dist/learning/storage.d.ts.map +1 -1
  297. package/dist/learning/storage.js +26 -1
  298. package/dist/learning/storage.js.map +1 -1
  299. package/package.json +12 -7
  300. package/{dist → scripts/dist}/hooks/olympus-hooks.cjs +70 -69
  301. package/scripts/esbuild.hooks.mjs +67 -0
  302. package/scripts/generate-logo-hybrid-v2.mjs +213 -0
  303. package/scripts/generate-logo-hybrid.mjs +209 -0
  304. package/scripts/generate-logo-infinity.mjs +239 -0
  305. package/scripts/generate-logo-mythology.mjs +190 -0
  306. package/scripts/generate-logo-orchestration.mjs +228 -0
  307. package/scripts/generate-logo-recraft.mjs +147 -0
  308. package/scripts/generate-logo-simple.mjs +154 -0
  309. package/scripts/generate-logo.mjs +117 -0
  310. package/scripts/install.sh +0 -2
  311. package/scripts/rebrand.mjs +206 -0
  312. /package/scripts/{claude-sisyphus.sh → claude-olympus.sh} +0 -0
  313. /package/scripts/{sisyphus-aliases.sh → olympus-aliases.sh} +0 -0
package/README.md CHANGED
@@ -4,13 +4,14 @@
4
4
 
5
5
  ### Multi-Agent Orchestration for Claude Code
6
6
 
7
- [![Version](https://img.shields.io/badge/version-1.0.1-gold)](https://github.com/mikev10/olympus/releases)
7
+ [![npm version](https://img.shields.io/npm/v/olympus-ai.svg)](https://www.npmjs.com/package/olympus-ai)
8
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-blue)](https://github.com/mikev10/olympus)
9
+ [![Agents](https://img.shields.io/badge/Agents-20+-blue)](https://github.com/mikev10/olympus)
10
+ [![Build Status](https://img.shields.io/github/actions/workflow/status/mikev10/olympus/claude.yml)](https://github.com/mikev10/olympus/actions)
10
11
 
11
- **Only the worthy ascend.**
12
+ **Summon the gods of code.**
12
13
 
13
- [Install](#installation) • [Usage](#usage) • [Agents](#available-agents) • [Commands](#slash-commands)
14
+ [Why Olympus?](#why-olympus) • [Quick Start](#quick-start) • [Self-Learning](#self-learning-system) • [Use Cases](#use-cases) • [Agents](#available-agents) • [Docs](#documentation)
14
15
 
15
16
  </div>
16
17
 
@@ -20,40 +21,113 @@
20
21
 
21
22
  Olympus is a multi-agent orchestration system for [Claude Code](https://docs.anthropic.com/claude-code). It provides:
22
23
 
23
- - **19 Specialized Agents** - Oracle, Prometheus, Olympian, and more
24
- - **11 Slash Commands** - `/olympus`, `/ultrawork`, `/plan`, `/ascent`, etc.
25
- - **Intelligent Model Routing** - Routes tasks to Haiku/Sonnet/Opus based on complexity
26
- - **The Ascent** - Persistence loop that ensures tasks complete before stopping
27
- - **Magic Keywords** - Say "ultrawork" to activate maximum performance mode
24
+ - 🧠 **Self-Learning System** - Learns your preferences, patterns, and codebase over time
25
+ - 🤖 **20+ Specialized Agents** - Oracle, Prometheus, Olympian, Librarian, and more
26
+ - **Smart Model Routing** - Auto-selects Haiku/Sonnet/Opus based on task complexity
27
+ - 📋 **Todo Management** - Tracks progress with real-time updates
28
+ - 🔄 **Background Execution** - Long-running tasks run async with notifications
29
+ - 🎯 **Continuation Enforcement** - Never stops until all tasks are complete
30
+ - 💬 **13+ Slash Commands** - `/ultrawork`, `/plan`, `/ascent`, and more
31
+ - 🔮 **Magic Keywords** - Natural language triggers for enhanced modes
28
32
 
29
33
  ---
30
34
 
31
- ## Installation
35
+ ## Why Olympus?
36
+
37
+ Olympus transforms Claude Code from a single agent into a **pantheon of specialized experts** that work together seamlessly.
38
+
39
+ ### 🧠 Self-Learning System
40
+
41
+ **Olympus learns from your preferences and evolves over time.**
42
+
43
+ - **Active Agent Learning** - Agents proactively record patterns, gotchas, and workarounds they discover during work
44
+ - **Passive Feedback Capture** - Automatically detects corrections, preferences, and patterns from your interactions
45
+ - **Pattern Extraction** - Identifies recurring feedback and adapts behavior accordingly
46
+ - **Preference Learning** - Infers your communication style (concise vs. detailed, autonomous vs. collaborative)
47
+ - **Agent Performance Tracking** - Monitors which agents succeed or fail for specific tasks
48
+ - **Discovery Storage** - Structured JSONL storage with verification tracking and confidence scoring
49
+ - **Context Injection** - Learned preferences and discoveries are automatically applied in new sessions
50
+
51
+ **The more you use Olympus, the better it understands your workflow.**
52
+
53
+ ### ⚡ Intelligent Orchestration
54
+
55
+ - **Smart Delegation** - Routes tasks to specialized agents based on complexity
56
+ - **Model Routing** - Automatically selects Haiku/Sonnet/Opus to optimize cost and performance
57
+ - **Parallel Execution** - Runs independent tasks concurrently for maximum throughput
58
+
59
+ ### 🎯 Continuous Delivery
60
+
61
+ - **Todo Management** - Tracks progress across complex multi-step tasks
62
+ - **Continuation Enforcement** - Never stops until all tasks are verified complete
63
+ - **Background Operations** - Long-running builds, tests, and installs run async with notifications
64
+
65
+ ### 🔧 Developer Experience
66
+
67
+ - **Zero Configuration** - Works out-of-the-box with sensible defaults
68
+ - **Slash Commands** - 13+ productivity commands (`/ultrawork`, `/plan`, `/ascent`)
69
+ - **Magic Keywords** - Natural language triggers for enhanced modes
70
+
71
+ ### 📊 Olympus vs. Manual Claude Usage
72
+
73
+ | Feature | Manual Claude | Olympus |
74
+ |---------|---------------|---------|
75
+ | **Multi-Step Tasks** | Sequential, manual tracking | Automatic todo management |
76
+ | **Parallel Execution** | One task at a time | 3-5x faster with concurrent agents |
77
+ | **Learning** | Repeats mistakes | Learns from corrections automatically |
78
+ | **Model Selection** | Manual switching | Smart routing (cost optimized) |
79
+ | **Task Persistence** | Stops when asked | Continues until verified complete |
80
+ | **Background Tasks** | Blocks waiting | Runs async with notifications |
81
+ | **Agent Specialization** | Generic responses | 20+ experts for specific domains |
82
+
83
+ ---
84
+
85
+ ## Quick Start
32
86
 
33
- ### Via Claude Code Plugin (Recommended)
87
+ Get started in under 60 seconds:
34
88
 
35
89
  ```bash
36
- # Add the marketplace
37
- /plugin marketplace add mikev10/olympus
90
+ # Install globally
91
+ npm install -g olympus-ai
92
+
93
+ # Initialize Olympus
94
+ olympus-ai install
95
+
96
+ # Start Claude Code
97
+ claude
38
98
 
39
- # Install the plugin
40
- /plugin install olympus-ai
99
+ # Try it out
100
+ /olympus implement a REST API for user management
41
101
  ```
42
102
 
43
- ### Via npm
103
+ **That's it.** Olympus is now active and learning from your interactions.
104
+
105
+ ---
106
+
107
+ ## Installation
108
+
109
+ ### Global Installation (Recommended)
110
+
111
+ Install Olympus globally to use across all projects:
44
112
 
45
113
  ```bash
46
114
  npm install -g olympus-ai
47
115
  olympus-ai install
48
116
  ```
49
117
 
50
- ### Via npm (Local Project)
118
+ This installs agents, commands, and hooks to `~/.claude/`.
119
+
120
+ ### Local Project Installation
121
+
122
+ Install Olympus for a specific project only:
51
123
 
52
124
  ```bash
53
125
  npm install -g olympus-ai
54
126
  olympus-ai install --local
55
127
  ```
56
128
 
129
+ This installs to `./.claude/` in your current project directory.
130
+
57
131
  ---
58
132
 
59
133
  ## Usage
@@ -66,19 +140,22 @@ claude
66
140
 
67
141
  ### Slash Commands
68
142
 
69
- | Command | Description |
70
- |---------|-------------|
71
- | `/olympus <task>` | Activate multi-agent orchestration mode |
72
- | `/olympus-default` | Set Olympus as your permanent default mode |
73
- | `/ultrawork <task>` | Maximum performance mode with parallel agents |
74
- | `/plan <description>` | Start planning session with Prometheus |
75
- | `/prometheus <task>` | Strategic planning with interview workflow |
76
- | `/review [plan-path]` | Review a plan with Momus |
77
- | `/ascent <task>` | Persistence loop until task completion |
78
- | `/cancel-ascent` | Cancel active The Ascent |
79
- | `/deepsearch <query>` | Thorough multi-strategy codebase search |
80
- | `/analyze <target>` | Deep analysis and investigation |
81
- | `/update` | Check for and install updates |
143
+ | Command | Description |
144
+ | ----------------------- | ---------------------------------------------------------------------- |
145
+ | `/olympus <task>` | Activate multi-agent orchestration mode |
146
+ | `/olympus-default` | Set Olympus as your permanent default mode |
147
+ | `/ultrawork <task>` | Maximum performance mode with parallel agents |
148
+ | `/plan <description>` | Start planning session with Prometheus |
149
+ | `/prometheus <task>` | Strategic planning with interview workflow |
150
+ | `/review [plan-path]` | Review a plan with Momus |
151
+ | `/ascent <task>` | Persistence loop until task completion |
152
+ | `/cancel-ascent` | Cancel active The Ascent |
153
+ | `/deepsearch <query>` | Thorough multi-strategy codebase search |
154
+ | `/analyze <target>` | Deep analysis and investigation |
155
+ | `/complete-plan [path]` | Verify and complete a plan after implementation |
156
+ | `/doctor` | Diagnose and fix olympus installation issues |
157
+ | `/deepinit` | Deep codebase initialization with hierarchical AGENTS.md documentation |
158
+ | `/update` | Check for and install updates |
82
159
 
83
160
  ### Examples
84
161
 
@@ -103,11 +180,121 @@ claude
103
180
 
104
181
  Include these words anywhere in your prompt to activate enhanced modes:
105
182
 
106
- | Keyword | Effect |
107
- |---------|--------|
108
- | `ultrawork`, `ulw`, `uw` | Activates parallel agent orchestration |
109
- | `search`, `find`, `locate` | Enhanced search mode |
110
- | `analyze`, `investigate` | Deep analysis mode |
183
+ | Keyword | Effect |
184
+ | -------------------------- | -------------------------------------- |
185
+ | `ultrawork`, `ulw`, `uw` | Activates parallel agent orchestration |
186
+ | `search`, `find`, `locate` | Enhanced search mode |
187
+ | `analyze`, `investigate` | Deep analysis mode |
188
+
189
+ ---
190
+
191
+ ## Use Cases
192
+
193
+ ### 🏗️ Complex Refactoring
194
+
195
+ ```bash
196
+ /ascent refactor the entire authentication module to use OAuth 2.0
197
+ ```
198
+
199
+ **What happens:**
200
+ - Creates todo list for all subtasks
201
+ - Delegates to specialized agents (Oracle for architecture, Olympian for execution)
202
+ - Runs tests in background
203
+ - Continues until all tasks verified complete
204
+
205
+ ### 📊 Multi-Agent Research
206
+
207
+ ```bash
208
+ /ultrawork research and document all API endpoints in the codebase
209
+ ```
210
+
211
+ **What happens:**
212
+ - Spawns multiple agents in parallel (Explore for search, Librarian for docs)
213
+ - Aggregates findings
214
+ - Generates comprehensive documentation
215
+ - ~3x faster than sequential execution
216
+
217
+ ### 📋 Strategic Planning
218
+
219
+ ```bash
220
+ /plan build a real-time chat application with WebSocket support
221
+ ```
222
+
223
+ **What happens:**
224
+ - Prometheus interviews you about requirements
225
+ - Creates detailed work plan with phases
226
+ - Identifies dependencies and risks
227
+ - Saves plan to `.olympus/plans/` for execution
228
+
229
+ ### 🧠 Learning Your Workflow
230
+
231
+ **Automatic - no command needed**
232
+
233
+ You: "No, use TypeScript interfaces instead of types"
234
+ → Olympus records this preference
235
+
236
+ You: "Use functional components, not class components"
237
+ → Olympus learns your React style
238
+
239
+ **Next session:** Claude automatically applies these preferences without being told.
240
+
241
+ ---
242
+
243
+ ## Architecture
244
+
245
+ Olympus operates as a three-tier orchestration system with a continuous learning loop:
246
+
247
+ ```mermaid
248
+ graph TD
249
+ A[User Request] --> B[Orchestrator]
250
+ B --> C{Task Analysis}
251
+ C -->|Simple| D[Haiku Agent]
252
+ C -->|Standard| E[Sonnet Agent]
253
+ C -->|Complex| F[Opus Agent]
254
+ D --> G[Learning System]
255
+ E --> G
256
+ F --> G
257
+ G --> H[Feedback Storage]
258
+ H -.->|Next Session| B
259
+ B --> I[Todo Manager]
260
+ I --> J[Background Executor]
261
+ J --> K[Result]
262
+ ```
263
+
264
+ ### How It Works
265
+
266
+ **Current Session Flow:**
267
+ 1. **User Request** → Arrives with learned context already injected at SessionStart
268
+ 2. **Orchestrator** → Analyzes task complexity and delegates to appropriate agents
269
+ 3. **Model Router** → Selects Haiku (simple), Sonnet (standard), or Opus (complex)
270
+ 4. **Agents Execute** → Specialized agents complete their tasks
271
+ 5. **Learning System** → Passively captures feedback from corrections, preferences, and patterns
272
+ 6. **Feedback Storage** → Stores learned preferences, agent performance, and discoveries
273
+ 7. **Result** → User sees the completed work
274
+
275
+ **Learning & Context Injection (Between Sessions):**
276
+
277
+ The learning system operates across session boundaries:
278
+
279
+ - **During Session**: Captures feedback from user corrections ("No, use async/await"), preferences ("Always use TypeScript"), and agent discoveries (gotchas, workarounds)
280
+ - **Storage**: Writes to `~/.claude/olympus/learning/` (global) and `.olympus/learning/` (project-specific)
281
+ - **Next Session Start**: SessionStart hook automatically injects learned context into the initial prompt
282
+ - **Context Types Injected**:
283
+ - User preferences (verbosity, autonomy, explicit rules)
284
+ - Recurring corrections (mistakes to avoid)
285
+ - Project conventions (tech stack, patterns)
286
+ - Agent performance notes (weak areas to watch)
287
+ - Recent discoveries (technical insights about your codebase)
288
+
289
+ **Key Insight:** Context injection happens at the **beginning** of each session (via SessionStart hook), not in the result. This means every new conversation starts with Claude already aware of your preferences and past learnings.
290
+
291
+ **Key Components:**
292
+ - **Orchestrator** - Delegates tasks to specialized agents based on complexity
293
+ - **Model Router** - Selects optimal tier (Haiku/Sonnet/Opus) to balance cost and capability
294
+ - **Learning System** - Captures feedback passively and builds preference models
295
+ - **Todo Manager** - Tracks multi-step task progress with real-time status updates
296
+ - **Background Executor** - Runs long-running operations (builds, tests, installs) async with notifications
297
+ - **Feedback Storage** - Persists learned preferences, patterns, and discoveries across sessions
111
298
 
112
299
  ---
113
300
 
@@ -115,34 +302,34 @@ Include these words anywhere in your prompt to activate enhanced modes:
115
302
 
116
303
  ### Task Execution
117
304
 
118
- | Agent | Model | Best For |
119
- |-------|-------|----------|
120
- | **Oracle** | Opus | Complex debugging, architecture decisions, root cause analysis |
121
- | **Librarian** | Sonnet | Finding documentation, understanding code organization |
122
- | **Explore** | Haiku | Quick file searches, pattern matching, reconnaissance |
123
- | **Frontend Engineer** | Sonnet | UI components, styling, accessibility |
124
- | **Document Writer** | Haiku | README files, API docs, code comments |
125
- | **Multimodal Looker** | Sonnet | Analyzing screenshots, diagrams, mockups |
126
- | **QA Tester** | Sonnet | Interactive CLI/service testing with tmux |
127
- | **Olympian** | Sonnet | Focused task execution, direct implementation |
305
+ | Agent | Model | Best For |
306
+ | --------------------- | ------ | -------------------------------------------------------------- |
307
+ | **Oracle** | Opus | Complex debugging, architecture decisions, root cause analysis |
308
+ | **Librarian** | Sonnet | Finding documentation, understanding code organization |
309
+ | **Explore** | Haiku | Quick file searches, pattern matching, reconnaissance |
310
+ | **Frontend Engineer** | Sonnet | UI components, styling, accessibility |
311
+ | **Document Writer** | Haiku | README files, API docs, code comments |
312
+ | **Multimodal Looker** | Sonnet | Analyzing screenshots, diagrams, mockups |
313
+ | **QA Tester** | Sonnet | Interactive CLI/service testing with tmux |
314
+ | **Olympian** | Sonnet | Focused task execution, direct implementation |
128
315
 
129
316
  ### Planning & Review
130
317
 
131
- | Agent | Model | Best For |
132
- |-------|-------|----------|
133
- | **Prometheus** | Opus | Strategic planning, work plans, requirement gathering |
134
- | **Momus** | Opus | Critical plan review, feasibility assessment, risk identification |
135
- | **Metis** | Opus | Pre-planning analysis, hidden requirement detection |
318
+ | Agent | Model | Best For |
319
+ | -------------- | ----- | ----------------------------------------------------------------- |
320
+ | **Prometheus** | Opus | Strategic planning, work plans, requirement gathering |
321
+ | **Momus** | Opus | Critical plan review, feasibility assessment, risk identification |
322
+ | **Metis** | Opus | Pre-planning analysis, hidden requirement detection |
136
323
 
137
324
  ### Tiered Variants (Smart Model Routing)
138
325
 
139
- | Domain | LOW (Haiku) | MEDIUM (Sonnet) | HIGH (Opus) |
140
- |--------|-------------|-----------------|-------------|
141
- | **Analysis** | `oracle-low` | `oracle-medium` | `oracle` |
142
- | **Execution** | `olympian-low` | `olympian` | `olympian-high` |
143
- | **Search** | `explore` | `explore-medium` | - |
144
- | **Research** | `librarian-low` | `librarian` | - |
145
- | **Frontend** | `frontend-engineer-low` | `frontend-engineer` | `frontend-engineer-high` |
326
+ | Domain | LOW (Haiku) | MEDIUM (Sonnet) | HIGH (Opus) |
327
+ | ------------- | ----------------------- | ------------------- | ------------------------ |
328
+ | **Analysis** | `oracle-low` | `oracle-medium` | `oracle` |
329
+ | **Execution** | `olympian-low` | `olympian` | `olympian-high` |
330
+ | **Search** | `explore` | `explore-medium` | - |
331
+ | **Research** | `librarian-low` | `librarian` | - |
332
+ | **Frontend** | `frontend-engineer-low` | `frontend-engineer` | `frontend-engineer-high` |
146
333
 
147
334
  ---
148
335
 
@@ -155,12 +342,14 @@ The Ascent is a persistence loop that binds Claude to your task until verified c
155
342
  ```
156
343
 
157
344
  **How it works:**
345
+
158
346
  1. Creates a todo list for all subtasks
159
347
  2. Works continuously until all tasks complete
160
348
  3. Can only exit by outputting `<promise>DONE</promise>` after verification
161
349
  4. If stopped prematurely, continuation is enforced
162
350
 
163
351
  **Exit conditions:**
352
+
164
353
  - `<promise>DONE</promise>` - Work verified complete
165
354
  - `/cancel-ascent` - User cancels the loop
166
355
  - Max iterations (100) - Safety limit
@@ -179,16 +368,139 @@ Plans are saved to `.olympus/plans/` in your project directory.
179
368
 
180
369
  ---
181
370
 
371
+ ## Self-Learning System
372
+
373
+ Olympus continuously learns from your interactions to provide increasingly personalized assistance.
374
+
375
+ ### How It Works
376
+
377
+ **Phase 1: Passive Feedback Capture**
378
+ - Detects corrections: "No, that's wrong"
379
+ - Identifies rejections: "Stop", "Cancel"
380
+ - Recognizes clarifications: "I meant X"
381
+ - Captures enhancements: "Also add Y"
382
+ - Records praise: "Perfect", "Thanks"
383
+ - Extracts explicit preferences: "Always use X"
384
+
385
+ **Phase 2: Pattern Extraction**
386
+ - Clusters similar feedback using Jaccard similarity
387
+ - Identifies recurring corrections (minimum 3 occurrences)
388
+ - Categorizes patterns: style, behavior, tooling, communication
389
+
390
+ **Phase 3: Preference Learning**
391
+ - Infers verbosity level (concise vs. detailed)
392
+ - Determines autonomy preference (ask first vs. just do it)
393
+ - Tracks agent-specific performance
394
+ - Implements 30-day decay for outdated patterns
395
+
396
+ **Phase 4: Context Injection**
397
+ - Automatically applies learned preferences at session start
398
+ - Injects relevant discoveries about your codebase
399
+ - Limits injection to ~500 tokens to avoid context bloat
400
+
401
+ **Phase 5: Agent Discovery**
402
+ - Agents record technical insights about your project
403
+ - Discoveries include: gotchas, workarounds, patterns, dependencies
404
+ - Validated and deduplicated before storage
405
+ - Retrieved contextually in future sessions
406
+
407
+ ### Storage Locations
408
+
409
+ **Global Learning:**
410
+ ```
411
+ ~/.claude/olympus/learning/
412
+ ├── feedback-log.jsonl # All feedback entries (auto-rotates at 10k lines)
413
+ ├── user-preferences.json # Learned preferences
414
+ ├── agent-performance.json # Per-agent metrics
415
+ └── discoveries.jsonl # Global discoveries (auto-rotates at 10k lines)
416
+ ```
417
+
418
+ **Project-Specific Learning:**
419
+ ```
420
+ .olympus/learning/
421
+ ├── session-state.json # Current session state
422
+ ├── patterns.json # Project patterns
423
+ └── discoveries.jsonl # Project discoveries (auto-rotates at 10k lines)
424
+ ```
425
+
426
+ **Data Lifecycle:**
427
+ - JSONL files automatically rotate when they exceed 10,000 lines
428
+ - Archived files are saved with timestamps (e.g., `feedback-log.2026-01-28.old.jsonl`)
429
+ - Manual cleanup available via CLI (see Managing Learning Data below)
430
+
431
+ ### Managing Learning Data
432
+
433
+ View learning statistics and manage stored data using the CLI:
434
+
435
+ ```bash
436
+ # View learning statistics
437
+ olympus-ai learn --stats
438
+
439
+ # Preview cleanup (dry run)
440
+ olympus-ai learn --cleanup --dry-run
441
+
442
+ # Clean up entries older than 180 days (default)
443
+ olympus-ai learn --cleanup
444
+
445
+ # Clean up with custom age threshold
446
+ olympus-ai learn --cleanup --age 90
447
+
448
+ # Remove archived files
449
+ olympus-ai learn --cleanup --remove-archived
450
+
451
+ # View current learnings
452
+ olympus-ai learn --show
453
+
454
+ # Analyze feedback and update patterns
455
+ olympus-ai learn --analyze
456
+
457
+ # Forget all learnings
458
+ olympus-ai learn --forget
459
+ ```
460
+
461
+ **Example output:**
462
+ ```
463
+ Learning System Statistics
464
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
465
+
466
+ Feedback Entries: 1247 (1.2 MB)
467
+ Discoveries: 123
468
+ Total Storage: 1.5 MB
469
+
470
+ Top Verified Discoveries:
471
+ 1. Prisma migrations must run before seeding (8×)
472
+ 2. This codebase uses kebab-case for files (6×)
473
+ 3. Environment variable DATABASE_URL required (5×)
474
+ ```
475
+
476
+ ### Example
477
+
478
+ **Session 1:** You tell Claude "No, use async/await instead of .then()"
479
+ → Olympus records this as a correction
480
+
481
+ **Session 2:** Similar situation arises
482
+ → You provide the same feedback
483
+
484
+ **Session 3:** Olympus detects the pattern (3+ occurrences)
485
+ → Learns your preference: "Use async/await over Promise chains"
486
+
487
+ **Session 4+:** This preference is automatically injected
488
+ → Claude proactively uses async/await without being told
489
+
490
+ **The learning happens silently in the background. No configuration required.**
491
+
492
+ ---
493
+
182
494
  ## What Gets Installed
183
495
 
184
496
  ```
185
497
  ~/.claude/
186
- ├── agents/ # 19 agent definitions
498
+ ├── agents/ # 20+ agent definitions
187
499
  │ ├── oracle.md
188
500
  │ ├── prometheus.md
189
501
  │ ├── olympian.md
190
502
  │ └── ...
191
- ├── commands/ # 11 slash commands
503
+ ├── commands/ # 13+ slash commands
192
504
  │ ├── olympus/skill.md
193
505
  │ ├── ultrawork/skill.md
194
506
  │ ├── plan.md
@@ -212,11 +524,13 @@ Create `.claude/CLAUDE.md` in your project for project-specific instructions:
212
524
  # Project Context
213
525
 
214
526
  This is a TypeScript monorepo using:
527
+
215
528
  - React for frontend
216
529
  - Node.js backend
217
530
  - PostgreSQL database
218
531
 
219
532
  ## Conventions
533
+
220
534
  - Use functional components
221
535
  - All API routes in /src/api
222
536
  ```
@@ -240,6 +554,62 @@ rm -rf ~/.claude/agents ~/.claude/commands ~/.claude/hooks ~/.claude/CLAUDE.md
240
554
 
241
555
  ---
242
556
 
557
+ ## Contributing
558
+
559
+ We welcome contributions! Here's how to get started:
560
+
561
+ ### Development Setup
562
+
563
+ ```bash
564
+ # Clone the repository
565
+ git clone https://github.com/mikev10/olympus.git
566
+ cd olympus
567
+
568
+ # Install dependencies
569
+ npm install
570
+
571
+ # Build the project
572
+ npm run build
573
+
574
+ # Test locally
575
+ node dist/cli/index.js install --local
576
+ ```
577
+
578
+ ### Running Tests
579
+
580
+ ```bash
581
+ npm test # Run tests in watch mode
582
+ npm run test:run # Run tests once
583
+ npm run test:coverage # Generate coverage report
584
+ ```
585
+
586
+ ### Project Structure
587
+
588
+ ```
589
+ olympus/
590
+ ├── src/
591
+ │ ├── agents/ # Agent definitions
592
+ │ ├── features/ # Core features (routing, learning, etc.)
593
+ │ ├── hooks/ # Event handlers
594
+ │ ├── learning/ # Self-learning system
595
+ │ └── cli/ # CLI commands
596
+ ├── agents/ # Agent markdown files (installed)
597
+ ├── commands/ # Slash command files (installed)
598
+ └── scripts/ # Build and installation scripts
599
+ ```
600
+
601
+ ---
602
+
603
+ ## Documentation
604
+
605
+ - 📖 [Getting Started Guide](docs/Olympus.md)
606
+ - 🤖 [Agent Reference](docs/AGENTS.md)
607
+ - 🏗️ [Architecture Overview](docs/ARCHITECTURE.md)
608
+ - 🗺️ [Roadmap](docs/ROADMAP.md)
609
+ - 📋 [Changelog](CHANGELOG.md)
610
+
611
+ ---
612
+
243
613
  ## License
244
614
 
245
615
  MIT - see [LICENSE](LICENSE)
@@ -248,11 +618,11 @@ MIT - see [LICENSE](LICENSE)
248
618
 
249
619
  ## Credits
250
620
 
251
-
252
621
  ---
253
622
 
254
623
  <div align="center">
255
624
 
256
- **Only the worthy ascend.**
625
+ **Summon the gods of code.**
257
626
 
258
627
  </div>
628
+
@@ -231,7 +231,7 @@ describe('Installer Constants', () => {
231
231
  });
232
232
  it('should match package.json version', () => {
233
233
  // This is a runtime check - VERSION should match the package.json
234
- expect(VERSION).toBe('2.5.0');
234
+ expect(VERSION).toBe('3.1.0');
235
235
  });
236
236
  });
237
237
  describe('File Paths', () => {
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cleanup.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/learning/cleanup.test.ts"],"names":[],"mappings":""}