oh-my-copilot 4.13.2 → 4.13.21

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 (311) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +1 -1
  4. package/bridge/cli.cjs +2522 -949
  5. package/bridge/mcp-server.cjs +97 -9
  6. package/bridge/runtime-cli.cjs +1256 -133
  7. package/bridge/team.js +1241 -65
  8. package/dist/__tests__/auto-slash-aliases.test.js +91 -0
  9. package/dist/__tests__/auto-slash-aliases.test.js.map +1 -1
  10. package/dist/__tests__/hud/labels.test.d.ts +2 -0
  11. package/dist/__tests__/hud/labels.test.d.ts.map +1 -0
  12. package/dist/__tests__/hud/labels.test.js +158 -0
  13. package/dist/__tests__/hud/labels.test.js.map +1 -0
  14. package/dist/__tests__/hud/render-rate-limits-priority.test.js +26 -0
  15. package/dist/__tests__/hud/render-rate-limits-priority.test.js.map +1 -1
  16. package/dist/__tests__/hud-marketplace-resolution.test.js +34 -0
  17. package/dist/__tests__/hud-marketplace-resolution.test.js.map +1 -1
  18. package/dist/__tests__/installer-hud-skip.test.js +6 -0
  19. package/dist/__tests__/installer-hud-skip.test.js.map +1 -1
  20. package/dist/__tests__/installer-omc-reference.test.js +1 -1
  21. package/dist/__tests__/installer-omc-reference.test.js.map +1 -1
  22. package/dist/__tests__/mnemosyne/detector.test.js +2 -0
  23. package/dist/__tests__/mnemosyne/detector.test.js.map +1 -1
  24. package/dist/__tests__/notepad.test.js +2 -2
  25. package/dist/__tests__/notepad.test.js.map +1 -1
  26. package/dist/__tests__/pre-tool-enforcer.test.js +84 -1
  27. package/dist/__tests__/pre-tool-enforcer.test.js.map +1 -1
  28. package/dist/__tests__/ralph-prd-mandatory.test.js +11 -1
  29. package/dist/__tests__/ralph-prd-mandatory.test.js.map +1 -1
  30. package/dist/__tests__/ralph-prd.test.js +40 -2
  31. package/dist/__tests__/ralph-prd.test.js.map +1 -1
  32. package/dist/__tests__/skills.test.js +363 -4
  33. package/dist/__tests__/skills.test.js.map +1 -1
  34. package/dist/__tests__/state-root-resolution.test.js +56 -6
  35. package/dist/__tests__/state-root-resolution.test.js.map +1 -1
  36. package/dist/autoresearch/__tests__/runtime.test.js +225 -28
  37. package/dist/autoresearch/__tests__/runtime.test.js.map +1 -1
  38. package/dist/autoresearch/runtime.d.ts.map +1 -1
  39. package/dist/autoresearch/runtime.js +9 -5
  40. package/dist/autoresearch/runtime.js.map +1 -1
  41. package/dist/cli/autoresearch.d.ts +1 -1
  42. package/dist/cli/autoresearch.d.ts.map +1 -1
  43. package/dist/cli/autoresearch.js +4 -4
  44. package/dist/cli/commands/team.d.ts +1 -0
  45. package/dist/cli/commands/team.d.ts.map +1 -1
  46. package/dist/cli/commands/team.js +14 -2
  47. package/dist/cli/commands/team.js.map +1 -1
  48. package/dist/cli/index.js +3 -0
  49. package/dist/cli/index.js.map +1 -1
  50. package/dist/cli/team.d.ts +6 -0
  51. package/dist/cli/team.d.ts.map +1 -1
  52. package/dist/cli/team.js +23 -1
  53. package/dist/cli/team.js.map +1 -1
  54. package/dist/config/__tests__/loader.test.js.map +1 -1
  55. package/dist/features/boulder-state/constants.d.ts +1 -1
  56. package/dist/features/boulder-state/constants.d.ts.map +1 -1
  57. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  58. package/dist/features/builtin-skills/skills.js +11 -3
  59. package/dist/features/builtin-skills/skills.js.map +1 -1
  60. package/dist/features/builtin-skills/types.d.ts +7 -0
  61. package/dist/features/builtin-skills/types.d.ts.map +1 -1
  62. package/dist/features/magic-keywords.d.ts.map +1 -1
  63. package/dist/features/magic-keywords.js +30 -1
  64. package/dist/features/magic-keywords.js.map +1 -1
  65. package/dist/features/rate-limit-wait/tmux-detector.d.ts +4 -4
  66. package/dist/features/rate-limit-wait/tmux-detector.js +9 -9
  67. package/dist/features/rate-limit-wait/tmux-detector.js.map +1 -1
  68. package/dist/hooks/__tests__/bridge-routing.test.js +156 -0
  69. package/dist/hooks/__tests__/bridge-routing.test.js.map +1 -1
  70. package/dist/hooks/auto-slash-command/constants.d.ts.map +1 -1
  71. package/dist/hooks/auto-slash-command/constants.js +1 -0
  72. package/dist/hooks/auto-slash-command/constants.js.map +1 -1
  73. package/dist/hooks/auto-slash-command/executor.d.ts.map +1 -1
  74. package/dist/hooks/auto-slash-command/executor.js +29 -0
  75. package/dist/hooks/auto-slash-command/executor.js.map +1 -1
  76. package/dist/hooks/bridge.d.ts.map +1 -1
  77. package/dist/hooks/bridge.js +184 -1
  78. package/dist/hooks/bridge.js.map +1 -1
  79. package/dist/hooks/learner/detector.js +1 -1
  80. package/dist/hooks/mode-registry/__tests__/session-isolation.test.js +16 -0
  81. package/dist/hooks/mode-registry/__tests__/session-isolation.test.js.map +1 -1
  82. package/dist/hooks/notepad/index.d.ts +4 -1
  83. package/dist/hooks/notepad/index.d.ts.map +1 -1
  84. package/dist/hooks/notepad/index.js +7 -4
  85. package/dist/hooks/notepad/index.js.map +1 -1
  86. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js +70 -3
  87. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js.map +1 -1
  88. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  89. package/dist/hooks/persistent-mode/index.js +10 -9
  90. package/dist/hooks/persistent-mode/index.js.map +1 -1
  91. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js +64 -9
  92. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js.map +1 -1
  93. package/dist/hooks/project-memory/__tests__/integration.test.js +117 -3
  94. package/dist/hooks/project-memory/__tests__/integration.test.js.map +1 -1
  95. package/dist/hooks/project-memory/__tests__/storage.test.js +11 -11
  96. package/dist/hooks/project-memory/__tests__/storage.test.js.map +1 -1
  97. package/dist/hooks/project-memory/index.d.ts.map +1 -1
  98. package/dist/hooks/project-memory/index.js +24 -12
  99. package/dist/hooks/project-memory/index.js.map +1 -1
  100. package/dist/hooks/ralph/index.d.ts +1 -1
  101. package/dist/hooks/ralph/index.d.ts.map +1 -1
  102. package/dist/hooks/ralph/index.js +1 -1
  103. package/dist/hooks/ralph/index.js.map +1 -1
  104. package/dist/hooks/ralph/loop.d.ts +6 -6
  105. package/dist/hooks/ralph/loop.d.ts.map +1 -1
  106. package/dist/hooks/ralph/loop.js +18 -18
  107. package/dist/hooks/ralph/loop.js.map +1 -1
  108. package/dist/hooks/ralph/prd.d.ts +23 -12
  109. package/dist/hooks/ralph/prd.d.ts.map +1 -1
  110. package/dist/hooks/ralph/prd.js +88 -42
  111. package/dist/hooks/ralph/prd.js.map +1 -1
  112. package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js +20 -0
  113. package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js.map +1 -1
  114. package/dist/hooks/session-end/index.d.ts +9 -0
  115. package/dist/hooks/session-end/index.d.ts.map +1 -1
  116. package/dist/hooks/session-end/index.js +67 -0
  117. package/dist/hooks/session-end/index.js.map +1 -1
  118. package/dist/hooks/skill-bridge.cjs +6 -5
  119. package/dist/hooks/skill-state/index.d.ts.map +1 -1
  120. package/dist/hooks/skill-state/index.js +1 -0
  121. package/dist/hooks/skill-state/index.js.map +1 -1
  122. package/dist/hud/__tests__/git-status.test.js +18 -0
  123. package/dist/hud/__tests__/git-status.test.js.map +1 -1
  124. package/dist/hud/elements/background.d.ts +3 -3
  125. package/dist/hud/elements/background.d.ts.map +1 -1
  126. package/dist/hud/elements/background.js +5 -4
  127. package/dist/hud/elements/background.js.map +1 -1
  128. package/dist/hud/elements/call-counts.d.ts +2 -2
  129. package/dist/hud/elements/call-counts.d.ts.map +1 -1
  130. package/dist/hud/elements/call-counts.js +7 -6
  131. package/dist/hud/elements/call-counts.js.map +1 -1
  132. package/dist/hud/elements/context.d.ts +3 -3
  133. package/dist/hud/elements/context.d.ts.map +1 -1
  134. package/dist/hud/elements/context.js +5 -4
  135. package/dist/hud/elements/context.js.map +1 -1
  136. package/dist/hud/elements/git.d.ts +2 -1
  137. package/dist/hud/elements/git.d.ts.map +1 -1
  138. package/dist/hud/elements/git.js +7 -6
  139. package/dist/hud/elements/git.js.map +1 -1
  140. package/dist/hud/elements/ralph.d.ts +2 -2
  141. package/dist/hud/elements/ralph.d.ts.map +1 -1
  142. package/dist/hud/elements/ralph.js +3 -2
  143. package/dist/hud/elements/ralph.js.map +1 -1
  144. package/dist/hud/elements/thinking.d.ts +2 -2
  145. package/dist/hud/elements/thinking.d.ts.map +1 -1
  146. package/dist/hud/elements/thinking.js +3 -2
  147. package/dist/hud/elements/thinking.js.map +1 -1
  148. package/dist/hud/elements/token-usage.d.ts +2 -2
  149. package/dist/hud/elements/token-usage.d.ts.map +1 -1
  150. package/dist/hud/elements/token-usage.js +3 -2
  151. package/dist/hud/elements/token-usage.js.map +1 -1
  152. package/dist/hud/render.d.ts.map +1 -1
  153. package/dist/hud/render.js +11 -10
  154. package/dist/hud/render.js.map +1 -1
  155. package/dist/hud/state.d.ts.map +1 -1
  156. package/dist/hud/state.js +18 -1
  157. package/dist/hud/state.js.map +1 -1
  158. package/dist/hud/types.d.ts +26 -0
  159. package/dist/hud/types.d.ts.map +1 -1
  160. package/dist/hud/types.js +58 -0
  161. package/dist/hud/types.js.map +1 -1
  162. package/dist/installer/__tests__/hud-cache-wrapper.test.d.ts +2 -0
  163. package/dist/installer/__tests__/hud-cache-wrapper.test.d.ts.map +1 -0
  164. package/dist/installer/__tests__/hud-cache-wrapper.test.js +235 -0
  165. package/dist/installer/__tests__/hud-cache-wrapper.test.js.map +1 -0
  166. package/dist/installer/__tests__/standalone-hook-reconcile.test.js +2 -0
  167. package/dist/installer/__tests__/standalone-hook-reconcile.test.js.map +1 -1
  168. package/dist/installer/index.d.ts.map +1 -1
  169. package/dist/installer/index.js +19 -7
  170. package/dist/installer/index.js.map +1 -1
  171. package/dist/lib/__tests__/worktree-paths.test.js +162 -39
  172. package/dist/lib/__tests__/worktree-paths.test.js.map +1 -1
  173. package/dist/lib/worktree-paths.d.ts +87 -9
  174. package/dist/lib/worktree-paths.d.ts.map +1 -1
  175. package/dist/lib/worktree-paths.js +209 -27
  176. package/dist/lib/worktree-paths.js.map +1 -1
  177. package/dist/team/__tests__/auto-merge-restart.test.d.ts +2 -0
  178. package/dist/team/__tests__/auto-merge-restart.test.d.ts.map +1 -0
  179. package/dist/team/__tests__/auto-merge-restart.test.js +128 -0
  180. package/dist/team/__tests__/auto-merge-restart.test.js.map +1 -0
  181. package/dist/team/__tests__/auto-merge.perf.test.d.ts +2 -0
  182. package/dist/team/__tests__/auto-merge.perf.test.d.ts.map +1 -0
  183. package/dist/team/__tests__/auto-merge.perf.test.js +85 -0
  184. package/dist/team/__tests__/auto-merge.perf.test.js.map +1 -0
  185. package/dist/team/__tests__/conflict-mailbox.test.d.ts +2 -0
  186. package/dist/team/__tests__/conflict-mailbox.test.d.ts.map +1 -0
  187. package/dist/team/__tests__/conflict-mailbox.test.js +238 -0
  188. package/dist/team/__tests__/conflict-mailbox.test.js.map +1 -0
  189. package/dist/team/__tests__/helpers/git-fixture.d.ts +72 -0
  190. package/dist/team/__tests__/helpers/git-fixture.d.ts.map +1 -0
  191. package/dist/team/__tests__/helpers/git-fixture.js +252 -0
  192. package/dist/team/__tests__/helpers/git-fixture.js.map +1 -0
  193. package/dist/team/__tests__/leader-inbox.test.d.ts +2 -0
  194. package/dist/team/__tests__/leader-inbox.test.d.ts.map +1 -0
  195. package/dist/team/__tests__/leader-inbox.test.js +152 -0
  196. package/dist/team/__tests__/leader-inbox.test.js.map +1 -0
  197. package/dist/team/__tests__/merge-orchestrator.test.d.ts +2 -0
  198. package/dist/team/__tests__/merge-orchestrator.test.d.ts.map +1 -0
  199. package/dist/team/__tests__/merge-orchestrator.test.js +779 -0
  200. package/dist/team/__tests__/merge-orchestrator.test.js.map +1 -0
  201. package/dist/team/__tests__/rebase-smoke.test.d.ts +2 -0
  202. package/dist/team/__tests__/rebase-smoke.test.d.ts.map +1 -0
  203. package/dist/team/__tests__/rebase-smoke.test.js +272 -0
  204. package/dist/team/__tests__/rebase-smoke.test.js.map +1 -0
  205. package/dist/team/__tests__/runtime-cli.test.js +9 -1
  206. package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
  207. package/dist/team/__tests__/runtime-v2.dispatch.test.js +150 -1
  208. package/dist/team/__tests__/runtime-v2.dispatch.test.js.map +1 -1
  209. package/dist/team/__tests__/teardown-invariant.test.d.ts +2 -0
  210. package/dist/team/__tests__/teardown-invariant.test.d.ts.map +1 -0
  211. package/dist/team/__tests__/teardown-invariant.test.js +176 -0
  212. package/dist/team/__tests__/teardown-invariant.test.js.map +1 -0
  213. package/dist/team/__tests__/worker-commit-cadence.test.d.ts +2 -0
  214. package/dist/team/__tests__/worker-commit-cadence.test.d.ts.map +1 -0
  215. package/dist/team/__tests__/worker-commit-cadence.test.js +315 -0
  216. package/dist/team/__tests__/worker-commit-cadence.test.js.map +1 -0
  217. package/dist/team/__tests__/worktree-runtime-e2e.test.d.ts +2 -0
  218. package/dist/team/__tests__/worktree-runtime-e2e.test.d.ts.map +1 -0
  219. package/dist/team/__tests__/worktree-runtime-e2e.test.js +182 -0
  220. package/dist/team/__tests__/worktree-runtime-e2e.test.js.map +1 -0
  221. package/dist/team/conflict-mailbox.d.ts +49 -0
  222. package/dist/team/conflict-mailbox.d.ts.map +1 -0
  223. package/dist/team/conflict-mailbox.js +98 -0
  224. package/dist/team/conflict-mailbox.js.map +1 -0
  225. package/dist/team/leader-inbox.d.ts +28 -0
  226. package/dist/team/leader-inbox.d.ts.map +1 -0
  227. package/dist/team/leader-inbox.js +68 -0
  228. package/dist/team/leader-inbox.js.map +1 -0
  229. package/dist/team/merge-coordinator.d.ts +6 -0
  230. package/dist/team/merge-coordinator.d.ts.map +1 -1
  231. package/dist/team/merge-coordinator.js +6 -2
  232. package/dist/team/merge-coordinator.js.map +1 -1
  233. package/dist/team/merge-orchestrator.d.ts +41 -0
  234. package/dist/team/merge-orchestrator.d.ts.map +1 -0
  235. package/dist/team/merge-orchestrator.js +736 -0
  236. package/dist/team/merge-orchestrator.js.map +1 -0
  237. package/dist/team/runtime-cli.d.ts +1 -0
  238. package/dist/team/runtime-cli.d.ts.map +1 -1
  239. package/dist/team/runtime-cli.js +15 -2
  240. package/dist/team/runtime-cli.js.map +1 -1
  241. package/dist/team/runtime-flags.d.ts +5 -0
  242. package/dist/team/runtime-flags.d.ts.map +1 -0
  243. package/dist/team/runtime-flags.js +12 -0
  244. package/dist/team/runtime-flags.js.map +1 -0
  245. package/dist/team/runtime-v2.d.ts +7 -1
  246. package/dist/team/runtime-v2.d.ts.map +1 -1
  247. package/dist/team/runtime-v2.js +185 -8
  248. package/dist/team/runtime-v2.js.map +1 -1
  249. package/dist/team/worker-bootstrap.d.ts +4 -0
  250. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  251. package/dist/team/worker-bootstrap.js +10 -1
  252. package/dist/team/worker-bootstrap.js.map +1 -1
  253. package/dist/team/worker-commit-cadence.d.ts +70 -0
  254. package/dist/team/worker-commit-cadence.d.ts.map +1 -0
  255. package/dist/team/worker-commit-cadence.js +271 -0
  256. package/dist/team/worker-commit-cadence.js.map +1 -0
  257. package/dist/tools/__tests__/memory-tools.test.js +4 -4
  258. package/dist/tools/__tests__/memory-tools.test.js.map +1 -1
  259. package/dist/tools/__tests__/state-tools.test.js +13 -1
  260. package/dist/tools/__tests__/state-tools.test.js.map +1 -1
  261. package/docs/GETTING-STARTED.md +415 -0
  262. package/docs/MIGRATION.md +66 -66
  263. package/docs/REFERENCE.md +21 -4
  264. package/docs/company-context-interface.md +5 -16
  265. package/docs/copilot-instructions.md +1 -1
  266. package/package.json +1 -1
  267. package/scripts/lib/hud-cache-wrapper.sh +122 -0
  268. package/scripts/plugin-setup.mjs +10 -1
  269. package/scripts/post-tool-verifier.mjs +118 -5
  270. package/scripts/pre-tool-enforcer.mjs +54 -6
  271. package/scripts/session-start.mjs +171 -3
  272. package/skills/AGENTS.md +22 -91
  273. package/skills/ai-slop-cleaner/SKILL.md +118 -120
  274. package/skills/ask/SKILL.md +6 -8
  275. package/skills/autopilot/SKILL.md +1 -28
  276. package/skills/autoresearch/SKILL.md +5 -5
  277. package/skills/cancel/SKILL.md +13 -13
  278. package/skills/cccg/SKILL.md +1 -0
  279. package/skills/configure-notifications/SKILL.md +80 -215
  280. package/skills/debug/SKILL.md +3 -2
  281. package/skills/deep-dive/SKILL.md +20 -9
  282. package/skills/deep-interview/SKILL.md +32 -4
  283. package/skills/deepinit/SKILL.md +1 -0
  284. package/skills/external-context/SKILL.md +2 -1
  285. package/skills/hud/SKILL.md +22 -52
  286. package/skills/learner/SKILL.md +90 -57
  287. package/skills/mcp-setup/SKILL.md +45 -60
  288. package/skills/omc-doctor/SKILL.md +1 -1
  289. package/skills/omc-reference/SKILL.md +6 -6
  290. package/skills/omc-setup/SKILL.md +30 -74
  291. package/skills/omc-setup/phases/01-install-claude-md.md +97 -0
  292. package/skills/omc-setup/phases/02-configure.md +25 -40
  293. package/skills/omc-setup/phases/03-integrations.md +100 -69
  294. package/skills/omc-setup/phases/04-welcome.md +102 -44
  295. package/skills/omc-teams/SKILL.md +63 -26
  296. package/skills/plan/SKILL.md +11 -9
  297. package/skills/ralph/SKILL.md +42 -41
  298. package/skills/ralplan/SKILL.md +3 -10
  299. package/skills/release/SKILL.md +168 -57
  300. package/skills/remember/SKILL.md +2 -1
  301. package/skills/sciomc/SKILL.md +12 -11
  302. package/skills/self-improve/SKILL.md +4 -4
  303. package/skills/setup/SKILL.md +1 -0
  304. package/skills/skill/SKILL.md +21 -20
  305. package/skills/skillify/SKILL.md +34 -3
  306. package/skills/team/SKILL.md +62 -44
  307. package/skills/ultraqa/SKILL.md +1 -2
  308. package/skills/ultrawork/SKILL.md +28 -21
  309. package/skills/verify/SKILL.md +2 -1
  310. package/skills/writer-memory/SKILL.md +2 -1
  311. package/templates/hooks/pre-tool-use.mjs +144 -45
@@ -0,0 +1,415 @@
1
+ # Getting Started
2
+
3
+ > Quick start guide: from installation to your first OMC session.
4
+
5
+ If you're new to Oh My ClaudeCode (OMC), follow the steps below in order.
6
+
7
+ 1. [Installation](#installation) - Install the OMC plugin and run initial setup
8
+ 2. [First Session](#first-session) - Run your first task with autopilot
9
+ 3. [Configuration](#configuration) - Customize settings and agent models per project
10
+
11
+ ### What this guide covers
12
+
13
+ - How to install the OMC plugin
14
+ - Running your first autopilot session and understanding the flow
15
+ - Configuring per-user and per-project settings
16
+
17
+ ### Prerequisites
18
+
19
+ - [Claude Code](https://docs.anthropic.com/claude-code) must be installed
20
+ - Claude Max/Pro subscription or an Anthropic API key is required
21
+
22
+ ---
23
+
24
+ ## Installation
25
+
26
+ OMC ships two surfaces and they are designed to coexist:
27
+
28
+ | Surface | What you get | Recommended install |
29
+ |---|---|---|
30
+ | **Copilot CLI plugin** (`oh-my-copilot@omcp`) | In-session skills, agents, hooks, statusline, MCP servers — the `/autopilot`, `/ralph`, `/ultrawork`, `/team` slash commands | Marketplace plugin install (Step 1–2 below) |
31
+ | **Terminal CLI** (`omc` binary, package `oh-my-claude-sisyphus`) | Shell commands: `omc setup`, `omc update`, `omc team`, `omc ask`, `omc autoresearch`, etc. | `npm i -g oh-my-claude-sisyphus@latest` |
32
+
33
+ Most users want **both**: the plugin for the in-session experience, and the npm CLI for shell-side automation and updates. Running them in parallel is fully supported — `omc update` and `omc setup` are idempotent and detect the plugin install to avoid duplicating in-session skills (#2252).
34
+
35
+ > Older versions of this doc said OMC was "plugin-only". That was incorrect: the `omc` CLI is the canonical entry point for `omc setup`/`omc update` and is published on npm as `oh-my-claude-sisyphus`. See the [Quick Start in README.md](../README.md#quick-start) for the same two-path layout.
36
+
37
+ ### Step 1: Add the marketplace source
38
+
39
+ Run the following command inside Claude Code:
40
+
41
+ ```bash
42
+ /plugin marketplace add https://github.com/RobinNorberg/oh-my-copilot
43
+ ```
44
+
45
+ ### Step 2: Install the plugin
46
+
47
+ After adding the marketplace, install the plugin:
48
+
49
+ ```bash
50
+ /plugin install oh-my-copilot@omcp
51
+ ```
52
+
53
+ ### Step 2b (optional but recommended): install the terminal CLI
54
+
55
+ If you want `omc setup`, `omc update`, `omc team`, `omc ask`, etc. on your shell:
56
+
57
+ ```bash
58
+ npm i -g oh-my-claude-sisyphus@latest
59
+ ```
60
+
61
+ Both can be installed at the same time. The CLI auto-detects the plugin install and will not double-register skills under `~/.claude/skills/` (if you previously hit the duplicate-skill bug, run `omc update` once on 4.11.2+ — it self-heals leftover standalone skills that the plugin now provides via `prunePluginDuplicateSkills`).
62
+
63
+ ### Step 3: Run initial setup
64
+
65
+ After installation, enter one of the following in Claude Code:
66
+
67
+ ```bash
68
+ # Option 1: natural language
69
+ setup omc
70
+
71
+ # Option 2: skill command
72
+ /oh-my-copilot:omc-setup
73
+ ```
74
+
75
+ ### Prerequisites summary
76
+
77
+ | Item | Requirement |
78
+ |------|-------------|
79
+ | Claude Code | Must be installed |
80
+ | Authentication | Claude Max/Pro subscription or `ANTHROPIC_API_KEY` environment variable |
81
+
82
+ ### Choosing a setup scope
83
+
84
+ #### Project-scoped setup (recommended)
85
+
86
+ Applies OMC only to the current project:
87
+
88
+ ```bash
89
+ /oh-my-copilot:omc-setup --local
90
+ ```
91
+
92
+ - Settings are saved to `./.claude/CLAUDE.md`
93
+ - No effect on other projects
94
+ - Existing global `CLAUDE.md` is preserved
95
+
96
+ #### Global setup
97
+
98
+ Applies OMC to all Claude Code sessions:
99
+
100
+ ```bash
101
+ /oh-my-copilot:omc-setup
102
+ ```
103
+
104
+ - Settings are saved to `~/.claude/CLAUDE.md`
105
+ - Applied across all projects
106
+
107
+ > ⚠️ **Warning:** Global setup now asks explicitly before changing your base `~/.claude/CLAUDE.md`. The default choice is still overwrite. If you choose preserve mode instead, plain `claude` stays on your base config and `omc` force-loads the OMC companion config.
108
+
109
+ ### Verifying the installation
110
+
111
+ To confirm everything is working, run the diagnostics tool:
112
+
113
+ ```bash
114
+ /oh-my-copilot:omc-doctor
115
+ ```
116
+
117
+ This checks the following:
118
+
119
+ - Dependency installation status
120
+ - Configuration file errors
121
+ - Hook installation status
122
+ - Agent availability
123
+ - Skill registration status
124
+
125
+ ### Running from a local checkout
126
+
127
+ If you're developing OMC or want to test unreleased features from a specific branch, you can launch Claude Code with your local checkout as the plugin:
128
+
129
+ ```bash
130
+ omc --plugin-dir /path/to/oh-my-copilot setup --plugin-dir-mode
131
+ ```
132
+
133
+ This loads agents, skills, and commands directly from your checkout without copying them to `~/.claude/`. For detailed instructions and alternative flows, see [LOCAL_PLUGIN_INSTALL.md](./LOCAL_PLUGIN_INSTALL.md). For a complete decision matrix of plugin-dir flags and modes, see the [Plugin directory flags section in REFERENCE.md](./REFERENCE.md#plugin-directory-flags).
134
+
135
+ ### Platform support
136
+
137
+ | Platform | Installation | Hook type |
138
+ |----------|--------------|-----------|
139
+ | macOS | Claude Code Plugin | Bash (.sh) |
140
+ | Linux | Claude Code Plugin | Bash (.sh) |
141
+ | Windows | WSL2 recommended | Node.js (.mjs) |
142
+
143
+ > ℹ️ **Note:** Native Windows support is experimental. OMC requires tmux, which is not available on native Windows. Use WSL2 instead.
144
+
145
+ ### Updates
146
+
147
+ OMC automatically checks for updates every 24 hours. To update manually, re-run the plugin install command.
148
+
149
+ > ⚠️ **Warning:** After a plugin update, run `/oh-my-copilot:omc-setup` again to apply the latest configuration.
150
+
151
+ ### Uninstalling
152
+
153
+ ```bash
154
+ /plugin uninstall oh-my-copilot@omcp
155
+ ```
156
+
157
+ ---
158
+
159
+ ## First Session
160
+
161
+ Once OMC is installed, run your first task immediately. Open Claude Code and type:
162
+
163
+ ```bash
164
+ autopilot build me a hello world app
165
+ ```
166
+
167
+ That single line is enough for OMC to run the full development pipeline automatically.
168
+
169
+ ### What happens
170
+
171
+ When OMC detects the `autopilot` magic keyword, it starts a 5-stage pipeline:
172
+
173
+ ### Stage 1: Expansion
174
+
175
+ The `analyst` and `architect` agents analyze the idea, clarify requirements, and produce a technical specification.
176
+
177
+ ### Stage 2: Planning
178
+
179
+ The `planner` agent creates an execution plan. The `critic` agent reviews the plan and identifies gaps.
180
+
181
+ ### Stage 3: Execution
182
+
183
+ The `executor` agent writes the code. Multiple agents work in parallel when needed.
184
+
185
+ ### Stage 4: QA
186
+
187
+ Verifies that the build succeeds and tests pass. Automatically fixes failures and re-verifies.
188
+
189
+ ### Stage 5: Validation
190
+
191
+ Specialist agents perform a final review of functionality, security, and code quality. Work is complete once all pass.
192
+
193
+ ### HUD status display
194
+
195
+ While work is in progress, you can monitor the current state in the Claude Code status bar (HUD):
196
+
197
+ ```
198
+ [OMC] autopilot:execution | agents:3 | todos:2/5 | ctx:45%
199
+ ```
200
+
201
+ | Field | Meaning |
202
+ |-------|---------|
203
+ | `autopilot:execution` | Current stage within the autopilot pipeline |
204
+ | `agents:3` | Number of currently active agents |
205
+ | `todos:2/5` | Completed tasks / total tasks |
206
+ | `ctx:45%` | Context window usage percentage |
207
+
208
+ To configure the HUD display, run:
209
+
210
+ ```bash
211
+ /oh-my-copilot:hud setup
212
+ ```
213
+
214
+ ### Starting smaller
215
+
216
+ If autopilot feels too large, start with a single-task command:
217
+
218
+ ```bash
219
+ # Code analysis
220
+ analyze why this test is failing
221
+
222
+ # File search
223
+ deepsearch for files that handle authentication
224
+
225
+ # Simple implementation
226
+ ultrawork add a health check endpoint
227
+ ```
228
+
229
+ These keywords invoke a single appropriate agent directly, without running the full pipeline.
230
+
231
+ ### Next steps
232
+
233
+ - [Configuration](#configuration) - Adjust agent models and features for your project
234
+ - [Concepts](/docs/concepts) - Understand the relationship between agents, skills, and hooks
235
+
236
+ ---
237
+
238
+ ## Configuration
239
+
240
+ OMC supports two levels of configuration files.
241
+
242
+ | Scope | File path | Purpose |
243
+ |-------|-----------|---------|
244
+ | User (global) | `~/.config/claude-omc/config.jsonc` | Applied to all projects |
245
+ | Project | `.claude/omc.jsonc` | Applied to current project only |
246
+
247
+ > ⚠️ **Warning:** The configuration file format is JSONC (JSON with comments support). It is not a TypeScript config file (`omc.config.ts`).
248
+
249
+ ### Configuration priority
250
+
251
+ When settings exist from multiple sources, they are merged in the following order (lower entries take precedence):
252
+
253
+ ```
254
+ Defaults → User config (~/.config/claude-omc/config.jsonc)
255
+ → Project config (.claude/omc.jsonc)
256
+ → Environment variables
257
+ ```
258
+
259
+ ### Basic configuration structure
260
+
261
+ ```jsonc
262
+ {
263
+ // Per-agent model assignments
264
+ "agents": {
265
+ "explore": { "model": "haiku" },
266
+ "executor": { "model": "sonnet" },
267
+ "architect": { "model": "opus" }
268
+ },
269
+
270
+ // Feature toggles
271
+ "features": {
272
+ "parallelExecution": true,
273
+ "lspTools": true,
274
+ "astTools": true
275
+ },
276
+
277
+ // Magic keyword customization
278
+ "magicKeywords": {
279
+ "ultrawork": ["ultrawork", "ulw", "uw"],
280
+ "search": ["search", "find", "locate"],
281
+ "analyze": ["analyze", "investigate", "examine"],
282
+ "ultrathink": ["ultrathink", "think", "reason"]
283
+ },
284
+
285
+ // Optional prompt-level company context contract
286
+ "companyContext": {
287
+ "tool": "mcp__vendor__get_company_context",
288
+ "onError": "warn"
289
+ }
290
+ }
291
+ ```
292
+
293
+ ### Company context via MCP
294
+
295
+ If your organization exposes internal guidance through a custom MCP server, configure the selected tool in OMC's standard config files:
296
+
297
+ ```jsonc
298
+ {
299
+ "companyContext": {
300
+ "tool": "mcp__vendor__get_company_context",
301
+ "onError": "warn"
302
+ }
303
+ }
304
+ ```
305
+
306
+ - Register the MCP server itself through the normal Claude/OMC MCP setup flow.
307
+ - `tool` is the full MCP tool name.
308
+ - `onError` controls prompt-level fallback: `warn` (default), `silent`, or `fail`.
309
+
310
+ This is an advisory workflow contract, not runtime enforcement. See [company-context-interface.md](./company-context-interface.md) for the full contract.
311
+
312
+ ### Overriding agent models
313
+
314
+ You can change the AI model used by each agent:
315
+
316
+ ```jsonc
317
+ {
318
+ "agents": {
319
+ // Upgrade explore agent to a stronger model
320
+ "explore": { "model": "sonnet" },
321
+
322
+ // Upgrade executor to opus for complex projects
323
+ "executor": { "model": "opus" },
324
+
325
+ // Cost saving: use haiku for documentation writing
326
+ "writer": { "model": "haiku" }
327
+ }
328
+ }
329
+ ```
330
+
331
+ #### Default model mapping
332
+
333
+ | Agent | Default model | Role |
334
+ |-------|--------------|------|
335
+ | `explore` | haiku | Codebase discovery |
336
+ | `writer` | haiku | Documentation writing |
337
+ | `executor` | sonnet | Code implementation |
338
+ | `debugger` | sonnet | Debugging |
339
+ | `designer` | sonnet | UI/UX design |
340
+ | `verifier` | sonnet | Verification |
341
+ | `tracer` | sonnet | Evidence-driven causal tracing |
342
+ | `security-reviewer` | sonnet | Security vulnerabilities and trust boundaries |
343
+ | `test-engineer` | sonnet | Test strategy and coverage |
344
+ | `qa-tester` | sonnet | Interactive CLI/service runtime validation |
345
+ | `scientist` | sonnet | Data and statistical analysis |
346
+ | `git-master` | sonnet | Git operations and history management |
347
+ | `document-specialist` | sonnet | External documentation and API reference lookup |
348
+ | `architect` | opus | System design |
349
+ | `planner` | opus | Strategic planning |
350
+ | `critic` | opus | Plan review |
351
+ | `analyst` | opus | Requirements analysis |
352
+ | `code-reviewer` | opus | Comprehensive code review |
353
+ | `code-simplifier` | opus | Code clarity and simplification |
354
+
355
+ ### Customizing magic keywords
356
+
357
+ You can change keywords in four categories via the `magicKeywords` section of `config.jsonc`:
358
+
359
+ ```jsonc
360
+ {
361
+ "magicKeywords": {
362
+ // Triggers parallel execution mode
363
+ "ultrawork": ["ultrawork", "ulw", "parallel"],
364
+
365
+ // Triggers codebase search mode
366
+ "search": ["search", "find", "locate", "grep"],
367
+
368
+ // Triggers analysis mode
369
+ "analyze": ["analyze", "debug", "investigate"],
370
+
371
+ // Triggers deep reasoning mode
372
+ "ultrathink": ["ultrathink", "think", "reason"]
373
+ }
374
+ }
375
+ ```
376
+
377
+ > ℹ️ **Note:** The `magicKeywords` section in `config.jsonc` only allows customizing four categories: `ultrawork`, `search`, `analyze`, and `ultrathink`. Keywords such as `autopilot`, `ralph`, and `ccg` are hardcoded in the keyword-detector hook and cannot be changed via config files.
378
+
379
+ ### Model routing configuration
380
+
381
+ OMC automatically selects a model tier based on task complexity:
382
+
383
+ ```jsonc
384
+ {
385
+ "routing": {
386
+ "enabled": true,
387
+ "defaultTier": "MEDIUM",
388
+ // Force all agents to inherit the parent model
389
+ // (auto-activated when using CC Switch, Bedrock, or Vertex AI)
390
+ "forceInherit": false
391
+ }
392
+ }
393
+ ```
394
+
395
+ | Tier | Model | Use case |
396
+ |------|-------|----------|
397
+ | LOW | haiku | Quick lookups, simple tasks |
398
+ | MEDIUM | sonnet | Standard implementation, general tasks |
399
+ | HIGH | opus | Architecture, deep analysis |
400
+
401
+ ### CLAUDE.md configuration
402
+
403
+ OMC's default behavior is also configured via `CLAUDE.md` files. Running `/oh-my-copilot:omc-setup` generates this file automatically.
404
+
405
+ | Scope | File | Description |
406
+ |-------|------|-------------|
407
+ | Global | `~/.claude/CLAUDE.md` | Shared settings across all projects |
408
+ | Project | `.claude/CLAUDE.md` | Per-project context and overrides |
409
+
410
+ ### When to re-run setup
411
+
412
+ - After initial installation
413
+ - After an OMC update (to apply the latest configuration)
414
+ - When switching to a different machine
415
+ - When starting a new project (use the `--local` option)