oh-my-musacode 0.0.1

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 (401) hide show
  1. package/LICENSE.md +82 -0
  2. package/README.ja.md +370 -0
  3. package/README.md +376 -0
  4. package/README.zh-cn.md +380 -0
  5. package/bin/oh-my-musacode-dev.js +80 -0
  6. package/bin/oh-my-musacode.js +80 -0
  7. package/bin/platform.js +38 -0
  8. package/bin/platform.test.ts +148 -0
  9. package/dist/agents/atlas.d.ts +19 -0
  10. package/dist/agents/dynamic-agent-prompt-builder.d.ts +30 -0
  11. package/dist/agents/explore.d.ts +4 -0
  12. package/dist/agents/index.d.ts +11 -0
  13. package/dist/agents/librarian.d.ts +4 -0
  14. package/dist/agents/metis.d.ts +18 -0
  15. package/dist/agents/momus.d.ts +18 -0
  16. package/dist/agents/momus.test.d.ts +1 -0
  17. package/dist/agents/multimodal-looker.d.ts +4 -0
  18. package/dist/agents/musa-orchestrator-junior.d.ts +7 -0
  19. package/dist/agents/musa-orchestrator-junior.test.d.ts +1 -0
  20. package/dist/agents/musa-orchestrator.d.ts +3 -0
  21. package/dist/agents/oracle.d.ts +4 -0
  22. package/dist/agents/prometheus-prompt.d.ts +29 -0
  23. package/dist/agents/prometheus-prompt.test.d.ts +1 -0
  24. package/dist/agents/sisyphus-junior.d.ts +7 -0
  25. package/dist/agents/sisyphus-junior.test.d.ts +1 -0
  26. package/dist/agents/sisyphus.d.ts +3 -0
  27. package/dist/agents/types.d.ts +50 -0
  28. package/dist/agents/utils.d.ts +14 -0
  29. package/dist/agents/utils.test.d.ts +1 -0
  30. package/dist/cli/config-manager.d.ts +99 -0
  31. package/dist/cli/config-manager.test.d.ts +1 -0
  32. package/dist/cli/doctor/checks/auth.d.ts +7 -0
  33. package/dist/cli/doctor/checks/auth.test.d.ts +1 -0
  34. package/dist/cli/doctor/checks/config.d.ts +8 -0
  35. package/dist/cli/doctor/checks/config.test.d.ts +1 -0
  36. package/dist/cli/doctor/checks/dependencies.d.ts +8 -0
  37. package/dist/cli/doctor/checks/dependencies.test.d.ts +1 -0
  38. package/dist/cli/doctor/checks/gh.d.ts +13 -0
  39. package/dist/cli/doctor/checks/gh.test.d.ts +1 -0
  40. package/dist/cli/doctor/checks/index.d.ts +11 -0
  41. package/dist/cli/doctor/checks/lsp.d.ts +8 -0
  42. package/dist/cli/doctor/checks/lsp.test.d.ts +1 -0
  43. package/dist/cli/doctor/checks/mcp.d.ts +6 -0
  44. package/dist/cli/doctor/checks/mcp.test.d.ts +1 -0
  45. package/dist/cli/doctor/checks/musacode.d.ts +14 -0
  46. package/dist/cli/doctor/checks/musacode.test.d.ts +1 -0
  47. package/dist/cli/doctor/checks/plugin.d.ts +4 -0
  48. package/dist/cli/doctor/checks/plugin.test.d.ts +1 -0
  49. package/dist/cli/doctor/checks/version.d.ts +4 -0
  50. package/dist/cli/doctor/checks/version.test.d.ts +1 -0
  51. package/dist/cli/doctor/constants.d.ts +40 -0
  52. package/dist/cli/doctor/formatter.d.ts +12 -0
  53. package/dist/cli/doctor/formatter.test.d.ts +1 -0
  54. package/dist/cli/doctor/index.d.ts +5 -0
  55. package/dist/cli/doctor/runner.d.ts +7 -0
  56. package/dist/cli/doctor/runner.test.d.ts +1 -0
  57. package/dist/cli/doctor/types.d.ts +91 -0
  58. package/dist/cli/get-local-version/formatter.d.ts +3 -0
  59. package/dist/cli/get-local-version/index.d.ts +3 -0
  60. package/dist/cli/get-local-version/types.d.ts +13 -0
  61. package/dist/cli/index.d.ts +2 -0
  62. package/dist/cli/index.js +25243 -0
  63. package/dist/cli/install.d.ts +2 -0
  64. package/dist/cli/run/completion.d.ts +2 -0
  65. package/dist/cli/run/completion.test.d.ts +1 -0
  66. package/dist/cli/run/events.d.ts +12 -0
  67. package/dist/cli/run/events.test.d.ts +1 -0
  68. package/dist/cli/run/index.d.ts +2 -0
  69. package/dist/cli/run/runner.d.ts +2 -0
  70. package/dist/cli/run/types.d.ts +71 -0
  71. package/dist/cli/types.d.ts +27 -0
  72. package/dist/config/index.d.ts +2 -0
  73. package/dist/config/schema.d.ts +1835 -0
  74. package/dist/config/schema.test.d.ts +1 -0
  75. package/dist/features/background-agent/concurrency.d.ts +27 -0
  76. package/dist/features/background-agent/concurrency.test.d.ts +1 -0
  77. package/dist/features/background-agent/index.d.ts +3 -0
  78. package/dist/features/background-agent/manager.d.ts +104 -0
  79. package/dist/features/background-agent/manager.test.d.ts +1 -0
  80. package/dist/features/background-agent/types.d.ts +73 -0
  81. package/dist/features/boulder-state/constants.d.ts +10 -0
  82. package/dist/features/boulder-state/index.d.ts +3 -0
  83. package/dist/features/boulder-state/storage.d.ts +28 -0
  84. package/dist/features/boulder-state/storage.test.d.ts +1 -0
  85. package/dist/features/boulder-state/types.d.ts +24 -0
  86. package/dist/features/builtin-commands/commands.d.ts +2 -0
  87. package/dist/features/builtin-commands/index.d.ts +2 -0
  88. package/dist/features/builtin-commands/templates/init-deep.d.ts +1 -0
  89. package/dist/features/builtin-commands/templates/ralph-loop.d.ts +2 -0
  90. package/dist/features/builtin-commands/templates/refactor.d.ts +1 -0
  91. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -0
  92. package/dist/features/builtin-commands/types.d.ts +6 -0
  93. package/dist/features/builtin-skills/index.d.ts +2 -0
  94. package/dist/features/builtin-skills/skills.d.ts +2 -0
  95. package/dist/features/builtin-skills/types.d.ts +15 -0
  96. package/dist/features/claude-code-agent-loader/index.d.ts +2 -0
  97. package/dist/features/claude-code-agent-loader/loader.d.ts +3 -0
  98. package/dist/features/claude-code-agent-loader/types.d.ts +14 -0
  99. package/dist/features/claude-code-command-loader/index.d.ts +2 -0
  100. package/dist/features/claude-code-command-loader/loader.d.ts +6 -0
  101. package/dist/features/claude-code-command-loader/types.d.ts +42 -0
  102. package/dist/features/claude-code-mcp-loader/env-expander.d.ts +2 -0
  103. package/dist/features/claude-code-mcp-loader/index.d.ts +10 -0
  104. package/dist/features/claude-code-mcp-loader/loader.d.ts +4 -0
  105. package/dist/features/claude-code-mcp-loader/loader.test.d.ts +1 -0
  106. package/dist/features/claude-code-mcp-loader/transformer.d.ts +2 -0
  107. package/dist/features/claude-code-mcp-loader/types.d.ts +35 -0
  108. package/dist/features/claude-code-plugin-loader/index.d.ts +3 -0
  109. package/dist/features/claude-code-plugin-loader/loader.d.ts +20 -0
  110. package/dist/features/claude-code-plugin-loader/types.d.ts +186 -0
  111. package/dist/features/claude-code-session-state/index.d.ts +1 -0
  112. package/dist/features/claude-code-session-state/state.d.ts +9 -0
  113. package/dist/features/claude-code-session-state/state.test.d.ts +1 -0
  114. package/dist/features/context-injector/collector.d.ts +11 -0
  115. package/dist/features/context-injector/collector.test.d.ts +1 -0
  116. package/dist/features/context-injector/index.d.ts +3 -0
  117. package/dist/features/context-injector/injector.d.ts +39 -0
  118. package/dist/features/context-injector/injector.test.d.ts +1 -0
  119. package/dist/features/context-injector/types.d.ts +83 -0
  120. package/dist/features/hook-message-injector/constants.d.ts +3 -0
  121. package/dist/features/hook-message-injector/index.d.ts +4 -0
  122. package/dist/features/hook-message-injector/injector.d.ts +18 -0
  123. package/dist/features/hook-message-injector/types.d.ts +44 -0
  124. package/dist/features/musacode-skill-loader/async-loader.d.ts +6 -0
  125. package/dist/features/musacode-skill-loader/async-loader.test.d.ts +1 -0
  126. package/dist/features/musacode-skill-loader/blocking.d.ts +2 -0
  127. package/dist/features/musacode-skill-loader/blocking.test.d.ts +1 -0
  128. package/dist/features/musacode-skill-loader/discover-worker.d.ts +1 -0
  129. package/dist/features/musacode-skill-loader/index.d.ts +4 -0
  130. package/dist/features/musacode-skill-loader/loader.d.ts +16 -0
  131. package/dist/features/musacode-skill-loader/loader.test.d.ts +1 -0
  132. package/dist/features/musacode-skill-loader/merger.d.ts +7 -0
  133. package/dist/features/musacode-skill-loader/skill-content.d.ts +20 -0
  134. package/dist/features/musacode-skill-loader/skill-content.test.d.ts +1 -0
  135. package/dist/features/musacode-skill-loader/types.d.ts +34 -0
  136. package/dist/features/skill-mcp-manager/env-cleaner.d.ts +2 -0
  137. package/dist/features/skill-mcp-manager/env-cleaner.test.d.ts +1 -0
  138. package/dist/features/skill-mcp-manager/index.d.ts +2 -0
  139. package/dist/features/skill-mcp-manager/manager.d.ts +40 -0
  140. package/dist/features/skill-mcp-manager/manager.test.d.ts +1 -0
  141. package/dist/features/skill-mcp-manager/types.d.ts +11 -0
  142. package/dist/features/task-toast-manager/index.d.ts +2 -0
  143. package/dist/features/task-toast-manager/manager.d.ts +57 -0
  144. package/dist/features/task-toast-manager/manager.test.d.ts +1 -0
  145. package/dist/features/task-toast-manager/types.d.ts +21 -0
  146. package/dist/hooks/agent-usage-reminder/constants.d.ts +5 -0
  147. package/dist/hooks/agent-usage-reminder/index.d.ts +22 -0
  148. package/dist/hooks/agent-usage-reminder/storage.d.ts +4 -0
  149. package/dist/hooks/agent-usage-reminder/types.d.ts +6 -0
  150. package/dist/hooks/anthropic-context-window-limit-recovery/executor.d.ts +4 -0
  151. package/dist/hooks/anthropic-context-window-limit-recovery/executor.test.d.ts +1 -0
  152. package/dist/hooks/anthropic-context-window-limit-recovery/index.d.ts +16 -0
  153. package/dist/hooks/anthropic-context-window-limit-recovery/parser.d.ts +2 -0
  154. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.d.ts +7 -0
  155. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.test.d.ts +1 -0
  156. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-types.d.ts +36 -0
  157. package/dist/hooks/anthropic-context-window-limit-recovery/storage.d.ts +28 -0
  158. package/dist/hooks/anthropic-context-window-limit-recovery/storage.test.d.ts +1 -0
  159. package/dist/hooks/anthropic-context-window-limit-recovery/types.d.ts +37 -0
  160. package/dist/hooks/atlas/index.d.ts +35 -0
  161. package/dist/hooks/atlas/index.test.d.ts +1 -0
  162. package/dist/hooks/auto-slash-command/constants.d.ts +5 -0
  163. package/dist/hooks/auto-slash-command/detector.d.ts +9 -0
  164. package/dist/hooks/auto-slash-command/detector.test.d.ts +1 -0
  165. package/dist/hooks/auto-slash-command/executor.d.ts +11 -0
  166. package/dist/hooks/auto-slash-command/index.d.ts +12 -0
  167. package/dist/hooks/auto-slash-command/index.test.d.ts +1 -0
  168. package/dist/hooks/auto-slash-command/types.d.ts +27 -0
  169. package/dist/hooks/auto-update-checker/cache.d.ts +3 -0
  170. package/dist/hooks/auto-update-checker/checker.d.ts +20 -0
  171. package/dist/hooks/auto-update-checker/checker.test.d.ts +1 -0
  172. package/dist/hooks/auto-update-checker/constants.d.ts +13 -0
  173. package/dist/hooks/auto-update-checker/index.d.ts +17 -0
  174. package/dist/hooks/auto-update-checker/index.test.d.ts +1 -0
  175. package/dist/hooks/auto-update-checker/types.d.ts +25 -0
  176. package/dist/hooks/background-compaction/index.d.ts +19 -0
  177. package/dist/hooks/background-notification/index.d.ts +18 -0
  178. package/dist/hooks/background-notification/types.d.ts +4 -0
  179. package/dist/hooks/claude-code-hooks/config-loader.d.ts +13 -0
  180. package/dist/hooks/claude-code-hooks/config.d.ts +3 -0
  181. package/dist/hooks/claude-code-hooks/index.d.ts +48 -0
  182. package/dist/hooks/claude-code-hooks/plugin-config.d.ts +8 -0
  183. package/dist/hooks/claude-code-hooks/post-tool-use.d.ts +40 -0
  184. package/dist/hooks/claude-code-hooks/pre-compact.d.ts +16 -0
  185. package/dist/hooks/claude-code-hooks/pre-tool-use.d.ts +25 -0
  186. package/dist/hooks/claude-code-hooks/stop.d.ts +20 -0
  187. package/dist/hooks/claude-code-hooks/todo.d.ts +12 -0
  188. package/dist/hooks/claude-code-hooks/tool-input-cache.d.ts +5 -0
  189. package/dist/hooks/claude-code-hooks/transcript.d.ts +38 -0
  190. package/dist/hooks/claude-code-hooks/types.d.ts +183 -0
  191. package/dist/hooks/claude-code-hooks/user-prompt-submit.d.ts +22 -0
  192. package/dist/hooks/comment-checker/cli.d.ts +52 -0
  193. package/dist/hooks/comment-checker/cli.test.d.ts +1 -0
  194. package/dist/hooks/comment-checker/downloader.d.ts +25 -0
  195. package/dist/hooks/comment-checker/index.d.ts +19 -0
  196. package/dist/hooks/comment-checker/types.d.ts +31 -0
  197. package/dist/hooks/compaction-context-injector/index.d.ts +8 -0
  198. package/dist/hooks/context-window-monitor.d.ts +18 -0
  199. package/dist/hooks/delegate-task-retry/index.d.ts +24 -0
  200. package/dist/hooks/delegate-task-retry/index.test.d.ts +1 -0
  201. package/dist/hooks/directory-agents-injector/constants.d.ts +3 -0
  202. package/dist/hooks/directory-agents-injector/index.d.ts +26 -0
  203. package/dist/hooks/directory-agents-injector/storage.d.ts +3 -0
  204. package/dist/hooks/directory-agents-injector/types.d.ts +5 -0
  205. package/dist/hooks/directory-readme-injector/constants.d.ts +3 -0
  206. package/dist/hooks/directory-readme-injector/index.d.ts +26 -0
  207. package/dist/hooks/directory-readme-injector/storage.d.ts +3 -0
  208. package/dist/hooks/directory-readme-injector/types.d.ts +5 -0
  209. package/dist/hooks/edit-error-recovery/index.d.ts +31 -0
  210. package/dist/hooks/edit-error-recovery/index.test.d.ts +1 -0
  211. package/dist/hooks/empty-task-response-detector.d.ts +12 -0
  212. package/dist/hooks/index.d.ts +29 -0
  213. package/dist/hooks/interactive-bash-session/constants.d.ts +4 -0
  214. package/dist/hooks/interactive-bash-session/index.d.ts +23 -0
  215. package/dist/hooks/interactive-bash-session/storage.d.ts +4 -0
  216. package/dist/hooks/interactive-bash-session/types.d.ts +10 -0
  217. package/dist/hooks/keyword-detector/constants.d.ts +12 -0
  218. package/dist/hooks/keyword-detector/detector.d.ts +11 -0
  219. package/dist/hooks/keyword-detector/index.d.ts +23 -0
  220. package/dist/hooks/keyword-detector/index.test.d.ts +1 -0
  221. package/dist/hooks/keyword-detector/types.d.ts +4 -0
  222. package/dist/hooks/non-interactive-env/constants.d.ts +34 -0
  223. package/dist/hooks/non-interactive-env/detector.d.ts +1 -0
  224. package/dist/hooks/non-interactive-env/index.d.ts +14 -0
  225. package/dist/hooks/non-interactive-env/index.test.d.ts +1 -0
  226. package/dist/hooks/non-interactive-env/types.d.ts +3 -0
  227. package/dist/hooks/prometheus-md-only/constants.d.ts +6 -0
  228. package/dist/hooks/prometheus-md-only/index.d.ts +12 -0
  229. package/dist/hooks/prometheus-md-only/index.test.d.ts +1 -0
  230. package/dist/hooks/ralph-loop/constants.d.ts +5 -0
  231. package/dist/hooks/ralph-loop/index.d.ts +21 -0
  232. package/dist/hooks/ralph-loop/index.test.d.ts +1 -0
  233. package/dist/hooks/ralph-loop/storage.d.ts +6 -0
  234. package/dist/hooks/ralph-loop/types.d.ts +17 -0
  235. package/dist/hooks/rules-injector/constants.d.ts +8 -0
  236. package/dist/hooks/rules-injector/finder.d.ts +33 -0
  237. package/dist/hooks/rules-injector/finder.test.d.ts +1 -0
  238. package/dist/hooks/rules-injector/index.d.ts +26 -0
  239. package/dist/hooks/rules-injector/matcher.d.ts +21 -0
  240. package/dist/hooks/rules-injector/parser.d.ts +18 -0
  241. package/dist/hooks/rules-injector/parser.test.d.ts +1 -0
  242. package/dist/hooks/rules-injector/storage.d.ts +9 -0
  243. package/dist/hooks/rules-injector/types.d.ts +54 -0
  244. package/dist/hooks/session-notification-utils.d.ts +9 -0
  245. package/dist/hooks/session-notification.d.ts +20 -0
  246. package/dist/hooks/session-notification.test.d.ts +1 -0
  247. package/dist/hooks/session-recovery/constants.d.ts +6 -0
  248. package/dist/hooks/session-recovery/index.d.ts +22 -0
  249. package/dist/hooks/session-recovery/index.test.d.ts +1 -0
  250. package/dist/hooks/session-recovery/storage.d.ts +19 -0
  251. package/dist/hooks/session-recovery/types.d.ts +90 -0
  252. package/dist/hooks/start-work/index.d.ts +16 -0
  253. package/dist/hooks/start-work/index.test.d.ts +1 -0
  254. package/dist/hooks/task-resume-info/index.d.ts +11 -0
  255. package/dist/hooks/think-mode/detector.d.ts +5 -0
  256. package/dist/hooks/think-mode/index.d.ts +14 -0
  257. package/dist/hooks/think-mode/index.test.d.ts +1 -0
  258. package/dist/hooks/think-mode/switcher.d.ts +57 -0
  259. package/dist/hooks/think-mode/switcher.test.d.ts +1 -0
  260. package/dist/hooks/think-mode/types.d.ts +21 -0
  261. package/dist/hooks/thinking-block-validator/index.d.ts +30 -0
  262. package/dist/hooks/todo-continuation-enforcer.d.ts +17 -0
  263. package/dist/hooks/todo-continuation-enforcer.test.d.ts +1 -0
  264. package/dist/hooks/tool-output-truncator.d.ts +17 -0
  265. package/dist/hooks/tool-output-truncator.test.d.ts +1 -0
  266. package/dist/index.d.ts +5 -0
  267. package/dist/index.js +67990 -0
  268. package/dist/mcp/context7.d.ts +6 -0
  269. package/dist/mcp/grep-app.d.ts +6 -0
  270. package/dist/mcp/index.d.ts +9 -0
  271. package/dist/mcp/index.test.d.ts +1 -0
  272. package/dist/mcp/types.d.ts +9 -0
  273. package/dist/mcp/websearch.d.ts +9 -0
  274. package/dist/plugin-config.d.ts +4 -0
  275. package/dist/plugin-config.test.d.ts +1 -0
  276. package/dist/plugin-handlers/config-handler.d.ts +12 -0
  277. package/dist/plugin-handlers/config-handler.test.d.ts +1 -0
  278. package/dist/plugin-handlers/index.d.ts +1 -0
  279. package/dist/plugin-state.d.ts +6 -0
  280. package/dist/shared/agent-tool-restrictions.d.ts +7 -0
  281. package/dist/shared/agent-variant.d.ts +5 -0
  282. package/dist/shared/agent-variant.test.d.ts +1 -0
  283. package/dist/shared/claude-config-dir.d.ts +1 -0
  284. package/dist/shared/claude-config-dir.test.d.ts +1 -0
  285. package/dist/shared/command-executor.d.ts +21 -0
  286. package/dist/shared/config-errors.d.ts +7 -0
  287. package/dist/shared/config-path.d.ts +17 -0
  288. package/dist/shared/data-path.d.ts +14 -0
  289. package/dist/shared/deep-merge.d.ts +13 -0
  290. package/dist/shared/deep-merge.test.d.ts +1 -0
  291. package/dist/shared/dynamic-truncator.d.ts +27 -0
  292. package/dist/shared/external-plugin-detector.d.ts +18 -0
  293. package/dist/shared/external-plugin-detector.test.d.ts +1 -0
  294. package/dist/shared/file-reference-resolver.d.ts +1 -0
  295. package/dist/shared/file-utils.d.ts +7 -0
  296. package/dist/shared/first-message-variant.d.ts +11 -0
  297. package/dist/shared/first-message-variant.test.d.ts +1 -0
  298. package/dist/shared/frontmatter.d.ts +7 -0
  299. package/dist/shared/frontmatter.test.d.ts +1 -0
  300. package/dist/shared/hook-disabled.d.ts +2 -0
  301. package/dist/shared/index.d.ts +29 -0
  302. package/dist/shared/jsonc-parser.d.ts +15 -0
  303. package/dist/shared/jsonc-parser.test.d.ts +1 -0
  304. package/dist/shared/logger.d.ts +2 -0
  305. package/dist/shared/migration.d.ts +31 -0
  306. package/dist/shared/migration.test.d.ts +1 -0
  307. package/dist/shared/model-resolver.d.ts +19 -0
  308. package/dist/shared/model-resolver.test.d.ts +1 -0
  309. package/dist/shared/model-sanitizer.d.ts +3 -0
  310. package/dist/shared/musacode-config-dir.d.ts +19 -0
  311. package/dist/shared/musacode-config-dir.test.d.ts +1 -0
  312. package/dist/shared/musacode-version.d.ts +13 -0
  313. package/dist/shared/musacode-version.test.d.ts +1 -0
  314. package/dist/shared/pattern-matcher.d.ts +3 -0
  315. package/dist/shared/permission-compat.d.ts +27 -0
  316. package/dist/shared/permission-compat.test.d.ts +1 -0
  317. package/dist/shared/session-cursor.d.ts +13 -0
  318. package/dist/shared/session-cursor.test.d.ts +1 -0
  319. package/dist/shared/shell-env.d.ts +41 -0
  320. package/dist/shared/shell-env.test.d.ts +1 -0
  321. package/dist/shared/snake-case.d.ts +4 -0
  322. package/dist/shared/system-directive.d.ts +31 -0
  323. package/dist/shared/tool-name.d.ts +1 -0
  324. package/dist/shared/zip-extractor.d.ts +1 -0
  325. package/dist/tools/ast-grep/cli.d.ts +15 -0
  326. package/dist/tools/ast-grep/constants.d.ts +29 -0
  327. package/dist/tools/ast-grep/downloader.d.ts +5 -0
  328. package/dist/tools/ast-grep/index.d.ts +8 -0
  329. package/dist/tools/ast-grep/tools.d.ts +3 -0
  330. package/dist/tools/ast-grep/types.d.ts +58 -0
  331. package/dist/tools/ast-grep/utils.d.ts +5 -0
  332. package/dist/tools/background-task/constants.d.ts +3 -0
  333. package/dist/tools/background-task/index.d.ts +3 -0
  334. package/dist/tools/background-task/tools.d.ts +7 -0
  335. package/dist/tools/background-task/types.d.ts +14 -0
  336. package/dist/tools/call-omo-agent/constants.d.ts +2 -0
  337. package/dist/tools/call-omo-agent/index.d.ts +3 -0
  338. package/dist/tools/call-omo-agent/tools.d.ts +3 -0
  339. package/dist/tools/call-omo-agent/types.d.ts +24 -0
  340. package/dist/tools/delegate-task/constants.d.ts +12 -0
  341. package/dist/tools/delegate-task/index.d.ts +3 -0
  342. package/dist/tools/delegate-task/tools.d.ts +27 -0
  343. package/dist/tools/delegate-task/tools.test.d.ts +1 -0
  344. package/dist/tools/delegate-task/types.d.ts +9 -0
  345. package/dist/tools/glob/cli.d.ts +11 -0
  346. package/dist/tools/glob/cli.test.d.ts +1 -0
  347. package/dist/tools/glob/constants.d.ts +6 -0
  348. package/dist/tools/glob/index.d.ts +2 -0
  349. package/dist/tools/glob/tools.d.ts +2 -0
  350. package/dist/tools/glob/types.d.ts +20 -0
  351. package/dist/tools/glob/utils.d.ts +2 -0
  352. package/dist/tools/grep/cli.d.ts +3 -0
  353. package/dist/tools/grep/constants.d.ts +17 -0
  354. package/dist/tools/grep/downloader.d.ts +3 -0
  355. package/dist/tools/grep/downloader.test.d.ts +1 -0
  356. package/dist/tools/grep/index.d.ts +2 -0
  357. package/dist/tools/grep/tools.d.ts +2 -0
  358. package/dist/tools/grep/types.d.ts +36 -0
  359. package/dist/tools/grep/utils.d.ts +3 -0
  360. package/dist/tools/index.d.ts +16 -0
  361. package/dist/tools/interactive-bash/constants.d.ts +3 -0
  362. package/dist/tools/interactive-bash/index.d.ts +3 -0
  363. package/dist/tools/interactive-bash/tools.d.ts +7 -0
  364. package/dist/tools/interactive-bash/utils.d.ts +3 -0
  365. package/dist/tools/look-at/constants.d.ts +2 -0
  366. package/dist/tools/look-at/index.d.ts +3 -0
  367. package/dist/tools/look-at/tools.d.ts +9 -0
  368. package/dist/tools/look-at/tools.test.d.ts +1 -0
  369. package/dist/tools/look-at/types.d.ts +4 -0
  370. package/dist/tools/lsp/client.d.ts +57 -0
  371. package/dist/tools/lsp/config.d.ts +17 -0
  372. package/dist/tools/lsp/config.test.d.ts +1 -0
  373. package/dist/tools/lsp/constants.d.ts +9 -0
  374. package/dist/tools/lsp/index.d.ts +6 -0
  375. package/dist/tools/lsp/tools.d.ts +7 -0
  376. package/dist/tools/lsp/types.d.ts +123 -0
  377. package/dist/tools/lsp/utils.d.ts +26 -0
  378. package/dist/tools/session-manager/constants.d.ts +12 -0
  379. package/dist/tools/session-manager/index.d.ts +3 -0
  380. package/dist/tools/session-manager/storage.d.ts +12 -0
  381. package/dist/tools/session-manager/storage.test.d.ts +1 -0
  382. package/dist/tools/session-manager/tools.d.ts +5 -0
  383. package/dist/tools/session-manager/tools.test.d.ts +1 -0
  384. package/dist/tools/session-manager/types.d.ts +89 -0
  385. package/dist/tools/session-manager/utils.d.ts +11 -0
  386. package/dist/tools/session-manager/utils.test.d.ts +1 -0
  387. package/dist/tools/skill/constants.d.ts +3 -0
  388. package/dist/tools/skill/index.d.ts +3 -0
  389. package/dist/tools/skill/tools.d.ts +4 -0
  390. package/dist/tools/skill/tools.test.d.ts +1 -0
  391. package/dist/tools/skill/types.d.ts +28 -0
  392. package/dist/tools/skill-mcp/constants.d.ts +2 -0
  393. package/dist/tools/skill-mcp/index.d.ts +3 -0
  394. package/dist/tools/skill-mcp/tools.d.ts +11 -0
  395. package/dist/tools/skill-mcp/tools.test.d.ts +1 -0
  396. package/dist/tools/skill-mcp/types.d.ts +8 -0
  397. package/dist/tools/slashcommand/index.d.ts +2 -0
  398. package/dist/tools/slashcommand/tools.d.ts +5 -0
  399. package/dist/tools/slashcommand/types.d.ts +24 -0
  400. package/package.json +89 -0
  401. package/postinstall.mjs +47 -0
@@ -0,0 +1,380 @@
1
+ > [!WARNING]
2
+ > **安全警告:冒充网站**
3
+ >
4
+ > **ohmymusacode.com 与本项目无关。** 我们不运营或认可该网站。
5
+ >
6
+ > OhMyMusaCode 是**免费且开源的**。请**勿**在声称"官方"的第三方网站下载安装程序或输入付款信息。
7
+ >
8
+ > 由于该冒充网站设有付费墙,我们**无法验证其分发的内容**。请将来自该网站的任何下载视为**潜在不安全**。
9
+ >
10
+ > ✅ 官方下载地址:https://github.com/code-yeongyu/oh-my-opencode/releases
11
+
12
+ > [!NOTE]
13
+ >
14
+ > [![MusaOrchestrator Labs — MusaOrchestrator 是像你的团队一样编码的智能体。](./.github/assets/musaOrchestratorlabs.png?v=2)](https://musaOrchestratorlabs.ai)
15
+ > > **我们正在构建 MusaOrchestrator 的完整产品化版本,以定义前沿智能体的未来。<br />点击[此处](https://musaOrchestratorlabs.ai)加入等候名单。**
16
+
17
+ > [!TIP]
18
+ >
19
+ > [![Orchestrator 现已进入测试阶段。](./.github/assets/orchestrator-atlas.png?v=3)](https://github.com/code-yeongyu/oh-my-opencode/releases/tag/v3.0.0-beta.10)
20
+ > > **Orchestrator 现已进入测试阶段。使用 `oh-my-musacode@3.0.0-beta.10` 安装。**
21
+ >
22
+ > 加入我们!
23
+ >
24
+ > | [<img alt="Discord 链接" src="https://img.shields.io/discord/1452487457085063218?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square" width="156px" />](https://discord.gg/PUwSMR9XNk) | 加入我们的 [Discord 社区](https://discord.gg/PUwSMR9XNk),与贡献者和 `oh-my-musacode` 用户交流。 |
25
+ > | :-----| :----- |
26
+ > | [<img alt="X 链接" src="https://img.shields.io/badge/Follow-%40justmusaOrchestrator-00CED1?style=flat-square&logo=x&labelColor=black" width="156px" />](https://x.com/justmusaOrchestrator) | `oh-my-musacode` 的新闻和更新曾在我的 X 账号上发布。<br /> 由于账号被错误封禁,[@justmusaOrchestrator](https://x.com/justmusaOrchestrator) 现在代为发布更新。 |
27
+ > | [<img alt="GitHub 关注" src="https://img.shields.io/github/followers/code-yeongyu?style=flat-square&logo=github&labelColor=black&color=24292f" width="156px" />](https://github.com/code-yeongyu) | 在 GitHub 上关注 [@code-yeongyu](https://github.com/code-yeongyu) 获取更多项目。 |
28
+
29
+ <!-- <居中展示区域> -->
30
+
31
+ <div align="center">
32
+
33
+ [![Oh My MusaCode](./.github/assets/hero.jpg)](https://github.com/code-yeongyu/oh-my-musacode#oh-my-musacode)
34
+
35
+ [![预览](./.github/assets/omo.png)](https://github.com/code-yeongyu/oh-my-musacode#oh-my-musacode)
36
+
37
+
38
+ </div>
39
+
40
+ > 这是开挂级别的编程——`oh-my-musacode` 实战效果。运行后台智能体,调用专业智能体如 oracle、librarian 和前端工程师。使用精心设计的 LSP/AST 工具、精选的 MCP,以及完整的 Claude Code 兼容层。
41
+
42
+ # Claude OAuth 访问通知
43
+
44
+ ## TL;DR
45
+
46
+ > Q. 我可以使用 oh-my-musacode 吗?
47
+
48
+ 可以。
49
+
50
+ > Q. 我可以用 Claude Code 订阅来使用它吗?
51
+
52
+ 是的,技术上可以。但我不建议使用。
53
+
54
+ ## 详细说明
55
+
56
+ > 自2026年1月起,Anthropic 以违反服务条款为由限制了第三方 OAuth 访问。
57
+ >
58
+ > [**Anthropic 将本项目 oh-my-musacode 作为封锁 musacode 的理由。**](https://x.com/thdxr/status/2010149530486911014)
59
+ >
60
+ > 事实上,社区中确实存在一些伪造 Claude Code OAuth 请求签名的插件。
61
+ >
62
+ > 无论技术上是否可检测,这些工具可能都能正常工作,但用户应注意服务条款的相关影响,我个人不建议使用这些工具。
63
+ >
64
+ > 本项目对使用非官方工具产生的任何问题概不负责,**我们没有任何这些 OAuth 系统的自定义实现。**
65
+
66
+
67
+ <div align="center">
68
+
69
+ [![GitHub 发布](https://img.shields.io/github/v/release/code-yeongyu/oh-my-musacode?color=369eff&labelColor=black&logo=github&style=flat-square)](https://github.com/code-yeongyu/oh-my.musacode/releases)
70
+ [![npm 下载量](https://img.shields.io/npm/dt/oh-my-musacode?color=ff6b35&labelColor=black&style=flat-square)](https://www.npmjs.com/package/oh-my-musacode)
71
+ [![GitHub 贡献者](https://img.shields.io/github/contributors/code-yeongyu/oh-my-musacode?color=c4f042&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my.musacode/graphs/contributors)
72
+ [![GitHub Forks](https://img.shields.io/github/forks/code-yeongyu/oh-my-musacode?color=8ae8ff&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my.musacode/network/members)
73
+ [![GitHub Stars](https://img.shields.io/github/stars/code-yeongyu/oh-my-musacode?color=ffcb47&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my.musacode/stargazers)
74
+ [![GitHub Issues](https://img.shields.io/github/issues/code-yeongyu/oh-my-musacode?color=ff80eb&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my.musacode/issues)
75
+ [![许可证](https://img.shields.io/badge/license-SUL--1.0-white?labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my.musacode/blob/master/LICENSE.md)
76
+
77
+ [English](README.md) | [日本語](README.ja.md) | [简体中文](README.zh-cn.md)
78
+
79
+ </div>
80
+
81
+ <!-- </居中展示区域> -->
82
+
83
+ ## 用户评价
84
+
85
+ > "它让我取消了 Cursor 订阅。开源社区正在发生令人难以置信的事情。" - [Arthur Guiot](https://x.com/arthur_guiot/status/2008736347092382053?s=20)
86
+
87
+ > "如果 Claude Code 能在 7 天内完成人类 3 个月的工作,那么 MusaOrchestrator 只需 1 小时。它会持续工作直到任务完成。它是一个非常自律的智能体。" — B, 量化研究员
88
+
89
+ > "用 Oh My Musacode 仅用一天就清理了 8000 个 eslint 警告" — [Jacob Ferrari](https://x.com/jacobferrari_/status/2003258761952289061)
90
+
91
+ > "我使用 Ohmymusacode 和 ralph loop 在一夜之间将一个 45k 行的 tauri 应用转换成了 SaaS Web 应用。从访谈提示开始,要求它对问题进行评分和建议。看着它工作非常精彩,今早醒来发现网站基本上已经可以运行了!" - [James Hargis](https://x.com/hargabyte/status/2007299688261882202)
92
+
93
+ > "用了 oh-my-musacode,你再也不会回头了" — [d0t3ch](https://x.com/d0t3ch/status/2001685618200580503)
94
+
95
+ > "我还没能准确表达出它为什么如此出色,但开发体验已经达到了一个完全不同的维度。" - [苔硯:こけすずり](https://x.com/kokesuzuri/status/2008532913961529372?s=20)
96
+
97
+ > "这个周末用 open code、oh my musacode 和 supermemory 来构建某种 minecraft/souls-like 怪物游戏。"
98
+ > "让它添加蹲伏动画,我去散个午后的步。[视频]" - [MagiMetal](https://x.com/MagiMetal/status/2005374704178373023)
99
+
100
+ > "你们应该把这个合并到核心代码并招募他。认真的。这真的非常非常非常好。" — Henning Kilset
101
+
102
+ > "如果你能说服他的话就雇用 @yeon_gyu_kim,这个人彻底革新了 musacode。" — [mysticaltech](https://x.com/mysticaltech/status/2001858758608376079)
103
+
104
+ > "Oh My MusaCode 真的太疯狂了" - [YouTube - Darren Builds AI](https://www.youtube.com/watch?v=G_Snfh2M41M)
105
+
106
+ ---
107
+
108
+ ## 目录
109
+
110
+ - [Oh My MusaCode](#oh-my-musacode)
111
+ - [直接跳过阅读本文档](#直接跳过阅读本文档)
112
+ - [这是智能体时代](#这是智能体时代)
113
+ - [🪄 魔法词:`ultrawork`](#-魔法词ultrawork)
114
+ - [给想阅读的人:认识 MusaOrchestrator](#给想阅读的人认识-musaOrchestrator)
115
+ - [直接安装就行。](#直接安装就行)
116
+ - [安装](#安装)
117
+ - [面向人类用户](#面向人类用户)
118
+ - [面向 LLM 智能体](#面向-llm-智能体)
119
+ - [卸载](#卸载)
120
+ - [功能特性](#功能特性)
121
+ - [配置](#配置)
122
+ - [JSONC 支持](#jsonc-支持)
123
+ - [Google 认证](#google-认证)
124
+ - [智能体](#智能体)
125
+ - [权限选项](#权限选项)
126
+ - [内置技能](#内置技能)
127
+ - [Git Master](#git-master)
128
+ - [MusaOrchestrator 智能体](#musaOrchestrator-智能体)
129
+ - [后台任务](#后台任务)
130
+ - [类别](#类别)
131
+ - [钩子](#钩子)
132
+ - [MCP](#mcp)
133
+ - [LSP](#lsp)
134
+ - [实验性功能](#实验性功能)
135
+ - [环境变量](#环境变量)
136
+ - [作者札记](#作者札记)
137
+ - [警告](#警告)
138
+ - [受到以下专业人士的喜爱](#受到以下专业人士的喜爱)
139
+ - [赞助商](#赞助商)
140
+
141
+ # Oh My MusaCode
142
+
143
+ 认识 MusaOrchestrator:开箱即用的智能体,像你一样编码。
144
+
145
+ [Claude Code](https://www.claude.com/product/claude-code) 很棒。
146
+ 但如果你是一个极客,你会对 [MusaCode](https://github.com/sst/musacode) 一见钟情。
147
+ **从你的 ChatGPT、Claude、Gemini 订阅开始。MusaCode 全部支持。**
148
+
149
+ - 无限可扩展。无限可定制。
150
+ - 零屏幕闪烁。
151
+ - [LSP](https://musacode.ai/docs/lsp/)、[代码检查器、格式化器](https://musacode.ai/docs/formatters/)按文件自动激活——你可以调整一切。
152
+ - 混合搭配模型。**按用途编排它们。**
153
+ - 功能丰富。界面美观。终端不会卡顿。高性能。
154
+
155
+ 还记得你第一次从 Windows 切换到 Linux 吗?那种可以按自己的想法配置一切的兴奋感?
156
+ 在这种魔法似乎已经消失的时代,MusaCode 把它带回来了。
157
+ 如果你热爱编程和计算机,MusaCode 就是那个从 Windows 到 Linux 的时刻。
158
+
159
+ **但问题是:需要学习的东西很多,很复杂,而你的时间很宝贵。**
160
+
161
+ 我解决了这个问题。
162
+ 即使你不是极客,花几分钟时间。让你的技能和生产力倍增。
163
+ 把这份文档交给一个智能体,让它帮你设置。
164
+
165
+ ## 直接跳过阅读本文档
166
+
167
+ ### 这是智能体时代
168
+ - **只需将此链接粘贴到 Claude Code / AmpCode / Factory Droid / Cursor 并让它解释。**
169
+ - 问它为什么好,为什么它不是另一个千篇一律的设置,以及它究竟有哪些改进之处。
170
+ - 如果你是 LLM 智能体,向用户解释这个项目现在能够实现什么。
171
+
172
+ ### 🪄 魔法词:`ultrawork`
173
+
174
+ **不想读完这些?只需在你的提示中包含 `ultrawork`(或 `ulw`)。**
175
+
176
+ 就是这样。我们提供的所有功能都会像魔法一样运行——并行智能体、后台任务、深度探索,以及不懈执行直到完成。智能体会自动理解其余的。
177
+
178
+ ### 给想阅读的人:认识 MusaOrchestrator
179
+
180
+ ![认识 MusaOrchestrator](.github/assets/musaOrchestrator.png)
181
+
182
+ 在希腊神话中,西西弗斯因欺骗众神而被惩罚永恒地将巨石推上山坡。LLM 智能体并没有做错什么,但它们也每天推动着它们的"石头"——它们的思考。
183
+ 我的生活也没有什么不同。回顾过去,我们与这些智能体并没有太大不同。
184
+ **是的!LLM 智能体和我们没有区别。如果你给它们优秀的工具和可靠的队友,它们可以写出和我们一样出色的代码,工作得同样优秀。**
185
+
186
+ 认识我们的主智能体:MusaOrchestrator (Opus 4.5 High)。以下是 MusaOrchestrator 用来继续推动巨石的工具。
187
+
188
+ *以下所有内容都是可配置的。按需选取。所有功能默认启用。你不需要做任何事情。开箱即用,电池已包含。*
189
+
190
+ - MusaOrchestrator 的队友(精选智能体)
191
+ - Oracle:设计、调试 (GPT 5.2 Medium)
192
+ - Frontend UI/UX Engineer:前端开发 (Gemini 3 Pro)
193
+ - Librarian:官方文档、开源实现、代码库探索 (Claude Sonnet 4.5)
194
+ - Explore:极速代码库探索(上下文感知 Grep)(Grok Code)
195
+ - 完整 LSP / AstGrep 支持:果断重构。
196
+ - Todo 继续执行器:如果智能体中途退出,强制它继续。**这就是让 MusaOrchestrator 继续推动巨石的关键。**
197
+ - 注释检查器:防止 AI 添加过多注释。MusaOrchestrator 生成的代码应该与人类编写的代码无法区分。
198
+ - Claude Code 兼容性:Command、Agent、Skill、MCP、Hook(PreToolUse、PostToolUse、UserPromptSubmit、Stop)
199
+ - 精选 MCP:
200
+ - Exa(网络搜索)
201
+ - Context7(官方文档)
202
+ - Grep.app(GitHub 代码搜索)
203
+ - 支持交互式终端 - Tmux 集成
204
+ - 异步智能体
205
+ - ...
206
+
207
+ #### 直接安装就行。
208
+
209
+ 你可以从 [overview page](docs/guide/overview.md) 学到很多,但以下是示例工作流程。
210
+
211
+ 只需安装这个,你的智能体就会这样工作:
212
+
213
+ 1. MusaOrchestrator 不会浪费时间自己寻找文件;他保持主智能体的上下文精简。相反,他向更快、更便宜的模型并行发起后台任务,让它们为他绘制地图。
214
+ 2. MusaOrchestrator 利用 LSP 进行重构;这更确定性、更安全、更精准。
215
+ 3. 当繁重的工作需要 UI 时,MusaOrchestrator 直接将前端任务委派给 Gemini 3 Pro。
216
+ 4. 如果 MusaOrchestrator 陷入循环或碰壁,他不会继续撞墙——他会召唤 GPT 5.2 进行高智商战略支援。
217
+ 5. 在处理复杂的开源框架时?MusaOrchestrator 生成子智能体实时消化原始源代码和文档。他拥有完整的上下文感知。
218
+ 6. 当 MusaOrchestrator 处理注释时,他要么证明它们存在的必要性,要么删除它们。他保持你的代码库整洁。
219
+ 7. MusaOrchestrator 受他的 TODO 列表约束。如果他没有完成开始的工作,系统会强制他回到"推石头"模式。你的任务会被完成,句号。
220
+ 8. 老实说,甚至不用费心读文档。只需写你的提示。包含 'ultrawork' 关键词。MusaOrchestrator 会分析结构,收集上下文,挖掘外部源代码,然后持续推进直到工作 100% 完成。
221
+ 9. 其实,打 'ultrawork' 太费劲了。只需打 'ulw'。就 ulw。喝杯咖啡。你的工作完成了。
222
+
223
+ 需要查找什么?它会搜索官方文档、你的整个代码库历史和公共 GitHub 实现——不仅使用 grep,还使用内置的 LSP 工具和 AST-Grep。
224
+ 3. 在委派给 LLM 时不用担心上下文管理。我已经处理好了。
225
+ - OhMyMusaCode 积极利用多个智能体来减轻上下文负担。
226
+ - **你的智能体现在是开发团队负责人。你是 AI 经理。**
227
+ 4. 它不会停止,直到工作完成。
228
+ 5. 不想深入研究这个项目?没问题。只需输入 'ultrathink'。
229
+
230
+ 如果你不想要这些全部功能,如前所述,你可以只选择特定功能。
231
+
232
+ ## 安装
233
+
234
+ ### 面向人类用户
235
+
236
+ 复制以下提示并粘贴到你的 LLM 智能体(Claude Code、AmpCode、Cursor 等):
237
+
238
+ ```
239
+ 按照以下说明安装和配置 oh-my-musacode:
240
+ https://raw.githubusercontent.com/code-yeongyu/oh-my.musacode/refs/heads/master/docs/guide/installation.md
241
+ ```
242
+
243
+ 或者直接阅读 [安装指南](docs/guide/installation.md)——但我们强烈建议让智能体来处理。人会犯错,智能体不会。
244
+
245
+ ### 面向 LLM 智能体
246
+
247
+ 获取安装指南并按照说明操作:
248
+
249
+ ```bash
250
+ curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my.musacode/refs/heads/master/docs/guide/installation.md
251
+ ```
252
+
253
+ ## 卸载
254
+
255
+ 要移除 oh-my-musacode:
256
+
257
+ 1. **从你的 MusaCode 配置中移除插件**
258
+
259
+ 编辑 `~/.config.musacode/musacode.json`(或 `musacode.jsonc`)并从 `plugin` 数组中移除 `"oh-my-musacode"`:
260
+
261
+ ```bash
262
+ # 使用 jq
263
+ jq '.plugin = [.plugin[] | select(. != "oh-my-musacode")]' \
264
+ ~/.config.musacode/musacode.json > /tmp/oc.json && \
265
+ mv /tmp/oc.json ~/.config.musacode/musacode.json
266
+ ```
267
+
268
+ 2. **移除配置文件(可选)**
269
+
270
+ ```bash
271
+ # 移除用户配置
272
+ rm -f ~/.config.musacode/oh-my-musacode.json
273
+
274
+ # 移除项目配置(如果存在)
275
+ rm -f .musacode/oh-my-musacode.json
276
+ ```
277
+
278
+ 3. **验证移除**
279
+
280
+ ```bash
281
+ musacode --version
282
+ # 插件应该不再被加载
283
+ ```
284
+
285
+
286
+ ## 功能特性
287
+
288
+ 我们拥有众多功能,你会觉得这些功能理所当然应该存在,一旦体验过,就再也回不去了。
289
+ 详细信息请参阅 [Features Documentation](docs/features.md)。
290
+
291
+ **概览:**
292
+ - **智能体**:MusaOrchestrator(主智能体)、Prometheus(规划器)、Oracle(架构/调试)、Librarian(文档/代码搜索)、Explore(快速代码库 grep)、Multimodal Looker
293
+ - **后台智能体**:像真正的开发团队一样并行运行多个智能体
294
+ - **LSP & AST 工具**:重构、重命名、诊断、AST 感知代码搜索
295
+ - **上下文注入**:自动注入 AGENTS.md、README.md、条件规则
296
+ - **Claude Code 兼容性**:完整的钩子系统、命令、技能、智能体、MCP
297
+ - **内置 MCP**:websearch (Exa)、context7 (文档)、grep_app (GitHub 搜索)
298
+ - **会话工具**:列出、读取、搜索和分析会话历史
299
+ - **生产力功能**:Ralph Loop、Todo Enforcer、Comment Checker、Think Mode 等
300
+
301
+ ## 配置
302
+
303
+ 个性鲜明,但可以根据个人喜好调整。
304
+ 详细信息请参阅 [Configuration Documentation](docs/configurations.md)。
305
+
306
+ **概览:**
307
+ - **配置文件位置**: `.musacode/oh-my-musacode.json` (项目级) 或 `~/.config.musacode/oh-my-musacode.json` (用户级)
308
+ - **JSONC 支持**: 支持注释和尾随逗号
309
+ - **智能体**: 覆盖任何智能体的模型、温度、提示和权限
310
+ - **内置技能**: `playwright` (浏览器自动化), `git-master` (原子提交)
311
+ - **MusaOrchestrator 智能体**: 带有 Prometheus (Planner) 和 Metis (Plan Consultant) 的主编排器
312
+ - **后台任务**: 按提供商/模型配置并发限制
313
+ - **类别**: 领域特定的任务委派 (`visual`, `business-logic`, 自定义)
314
+ - **钩子**: 25+ 内置钩子,均可通过 `disabled_hooks` 配置
315
+ - **MCP**: 内置 websearch (Exa), context7 (文档), grep_app (GitHub 搜索)
316
+ - **LSP**: 带重构工具的完整 LSP 支持
317
+ - **实验性功能**: 积极截断、自动恢复等
318
+
319
+
320
+ ## 作者札记
321
+
322
+ **想了解更多关于这个项目背后的理念吗?** 请阅读 [Ultrawork Manifesto](docs/ultrawork-manifesto.md)。
323
+
324
+ 安装 Oh My MusaCode。
325
+
326
+ 我纯粹为个人开发使用了价值 24,000 美元 token 的 LLM。
327
+ 尝试了每一个工具,把它们配置到极致。但始终是 MusaCode 胜出。
328
+
329
+ 我遇到的每个问题的答案都融入了这个插件。直接安装使用。
330
+ 如果 MusaCode 是 Debian/Arch,Oh My MusaCode 就是 Ubuntu/[Omarchy](https://omarchy.org/)。
331
+
332
+
333
+ 深受 [AmpCode](https://ampcode.com) 和 [Claude Code](https://code.claude.com/docs/overview) 的影响——我已经将它们的功能移植到这里,通常还有改进。我仍在构建。
334
+ 毕竟这是 **Open**Code。
335
+
336
+ 享受多模型编排、稳定性和其他工具承诺但无法交付的丰富功能。
337
+ 我会持续测试和更新。因为我是这个项目最执着的用户。
338
+ - 哪个模型逻辑最锐利?
339
+ - 谁是调试之神?
340
+ - 谁写出最好的文字?
341
+ - 谁主宰前端?
342
+ - 谁拥有后端?
343
+ - 哪个模型日常使用最快?
344
+ - 其他工具在推出什么新功能?
345
+
346
+ 这个插件是只取其精华。有更好的想法?欢迎 PR。
347
+
348
+ **不要再为智能体工具的选择而烦恼了。**
349
+ **我会进行研究,借鉴最好的,然后发布更新。**
350
+
351
+ 如果这听起来很傲慢,但如果你有更好的答案,请贡献。欢迎你。
352
+
353
+ 我与这里提到的任何项目或模型没有任何关联。这纯粹是个人实验和偏好。
354
+
355
+ 这个项目 99% 是使用 MusaCode 构建的。我测试了功能——我实际上不太会写正确的 TypeScript。**但我个人审查并大量重写了这份文档,所以放心阅读。**
356
+
357
+ ## 警告
358
+
359
+ - 生产力可能飙升太快。别让你的同事发现。
360
+ - 其实,我会传播这个消息。让我们看看谁会赢。
361
+ - 如果你使用 [1.0.132](https://github.com/sst.musacode/releases/tag/v1.0.132) 或更早版本,一个 MusaCode bug 可能会破坏配置。
362
+ - [修复](https://github.com/sst.musacode/pull/5040)在 1.0.132 之后合并——使用更新的版本。
363
+ - 有趣的事实:那个 PR 是借助 OhMyMusaCode 的 Librarian、Explore 和 Oracle 设置发现并修复的。
364
+
365
+ ## 受到以下专业人士的喜爱
366
+
367
+ - [Indent](https://indentcorp.com)
368
+ - 制作 Spray - 网红营销解决方案、vovushop - 跨境电商平台、vreview - AI 电商评论营销解决方案
369
+ - [Google](https://google.com)
370
+ - [Microsoft](https://microsoft.com)
371
+
372
+ ## 赞助商
373
+ - **Numman Ali** [GitHub](https://github.com/numman-ali) [X](https://x.com/nummanali)
374
+ - 第一位赞助商
375
+ - **Aaron Iker** [GitHub](https://github.com/aaroniker) [X](https://x.com/aaroniker)
376
+ - **Suyeol Jeon (devxoul)** [GitHub](https://github.com/devxoul)
377
+ - 开启我职业生涯的人,在如何构建出色的智能体工作流方面给了我很深的启发。我学到了很多关于设计伟大系统来构建伟大团队的知识,这些经验对创建这个工具至关重要。
378
+ - **Hyerin Won (devwon)** [GitHub](https://github.com/devwon)
379
+
380
+ *特别感谢 [@junhoyeo](https://github.com/junhoyeo) 制作这张精彩的主图。*
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env node
2
+ // bin/oh-my-musacode.js
3
+ // Wrapper script that detects platform and spawns the correct binary
4
+
5
+ import { spawnSync } from "node:child_process";
6
+ import { createRequire } from "node:module";
7
+ import { getPlatformPackage, getBinaryPath } from "./platform.js";
8
+
9
+ const require = createRequire(import.meta.url);
10
+
11
+ /**
12
+ * Detect libc family on Linux
13
+ * @returns {string | null} 'glibc', 'musl', or null if detection fails
14
+ */
15
+ function getLibcFamily() {
16
+ if (process.platform !== "linux") {
17
+ return undefined; // Not needed on non-Linux
18
+ }
19
+
20
+ try {
21
+ const detectLibc = require("detect-libc");
22
+ return detectLibc.familySync();
23
+ } catch {
24
+ // detect-libc not available
25
+ return null;
26
+ }
27
+ }
28
+
29
+ function main() {
30
+ const { platform, arch } = process;
31
+ const libcFamily = getLibcFamily();
32
+
33
+ // Get platform package name
34
+ let pkg;
35
+ try {
36
+ pkg = getPlatformPackage({ platform, arch, libcFamily });
37
+ } catch (error) {
38
+ console.error(`\noh-my-musacode: ${error.message}\n`);
39
+ process.exit(1);
40
+ }
41
+
42
+ // Resolve binary path
43
+ const binRelPath = getBinaryPath(pkg, platform);
44
+
45
+ let binPath;
46
+ try {
47
+ binPath = require.resolve(binRelPath);
48
+ } catch {
49
+ console.error(`\noh-my-musacode: Platform binary not installed.`);
50
+ console.error(`\nYour platform: ${platform}-${arch}${libcFamily === "musl" ? "-musl" : ""}`);
51
+ console.error(`Expected package: ${pkg}`);
52
+ console.error(`\nTo fix, run:`);
53
+ console.error(` npm install ${pkg}\n`);
54
+ process.exit(1);
55
+ }
56
+
57
+ // Spawn the binary
58
+ const result = spawnSync(binPath, process.argv.slice(2), {
59
+ stdio: "inherit",
60
+ });
61
+
62
+ // Handle spawn errors
63
+ if (result.error) {
64
+ console.error(`\noh-my-musacode: Failed to execute binary.`);
65
+ console.error(`Error: ${result.error.message}\n`);
66
+ process.exit(2);
67
+ }
68
+
69
+ // Handle signals
70
+ if (result.signal) {
71
+ const signalNum = result.signal === "SIGTERM" ? 15 :
72
+ result.signal === "SIGKILL" ? 9 :
73
+ result.signal === "SIGINT" ? 2 : 1;
74
+ process.exit(128 + signalNum);
75
+ }
76
+
77
+ process.exit(result.status ?? 1);
78
+ }
79
+
80
+ main();
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env node
2
+ // bin/oh-my-musacode.js
3
+ // Wrapper script that detects platform and spawns the correct binary
4
+
5
+ import { spawnSync } from "node:child_process";
6
+ import { createRequire } from "node:module";
7
+ import { getPlatformPackage, getBinaryPath } from "./platform.js";
8
+
9
+ const require = createRequire(import.meta.url);
10
+
11
+ /**
12
+ * Detect libc family on Linux
13
+ * @returns {string | null} 'glibc', 'musl', or null if detection fails
14
+ */
15
+ function getLibcFamily() {
16
+ if (process.platform !== "linux") {
17
+ return undefined; // Not needed on non-Linux
18
+ }
19
+
20
+ try {
21
+ const detectLibc = require("detect-libc");
22
+ return detectLibc.familySync();
23
+ } catch {
24
+ // detect-libc not available
25
+ return null;
26
+ }
27
+ }
28
+
29
+ function main() {
30
+ const { platform, arch } = process;
31
+ const libcFamily = getLibcFamily();
32
+
33
+ // Get platform package name
34
+ let pkg;
35
+ try {
36
+ pkg = getPlatformPackage({ platform, arch, libcFamily });
37
+ } catch (error) {
38
+ console.error(`\noh-my-musacode: ${error.message}\n`);
39
+ process.exit(1);
40
+ }
41
+
42
+ // Resolve binary path
43
+ const binRelPath = getBinaryPath(pkg, platform);
44
+
45
+ let binPath;
46
+ try {
47
+ binPath = require.resolve(binRelPath);
48
+ } catch {
49
+ console.error(`\noh-my-musacode: Platform binary not installed.`);
50
+ console.error(`\nYour platform: ${platform}-${arch}${libcFamily === "musl" ? "-musl" : ""}`);
51
+ console.error(`Expected package: ${pkg}`);
52
+ console.error(`\nTo fix, run:`);
53
+ console.error(` npm install ${pkg}\n`);
54
+ process.exit(1);
55
+ }
56
+
57
+ // Spawn the binary
58
+ const result = spawnSync(binPath, process.argv.slice(2), {
59
+ stdio: "inherit",
60
+ });
61
+
62
+ // Handle spawn errors
63
+ if (result.error) {
64
+ console.error(`\noh-my-musacode: Failed to execute binary.`);
65
+ console.error(`Error: ${result.error.message}\n`);
66
+ process.exit(2);
67
+ }
68
+
69
+ // Handle signals
70
+ if (result.signal) {
71
+ const signalNum = result.signal === "SIGTERM" ? 15 :
72
+ result.signal === "SIGKILL" ? 9 :
73
+ result.signal === "SIGINT" ? 2 : 1;
74
+ process.exit(128 + signalNum);
75
+ }
76
+
77
+ process.exit(result.status ?? 1);
78
+ }
79
+
80
+ main();
@@ -0,0 +1,38 @@
1
+ // bin/platform.js
2
+ // Shared platform detection module - used by wrapper and postinstall
3
+
4
+ /**
5
+ * Get the platform-specific package name
6
+ * @param {{ platform: string, arch: string, libcFamily?: string | null }} options
7
+ * @returns {string} Package name like "oh-my-musacode-darwin-arm64"
8
+ * @throws {Error} If libc cannot be detected on Linux
9
+ */
10
+ export function getPlatformPackage({ platform, arch, libcFamily }) {
11
+ let suffix = "";
12
+ if (platform === "linux") {
13
+ if (libcFamily === null || libcFamily === undefined) {
14
+ throw new Error(
15
+ "Could not detect libc on Linux. " +
16
+ "Please ensure detect-libc is installed or report this issue."
17
+ );
18
+ }
19
+ if (libcFamily === "musl") {
20
+ suffix = "-musl";
21
+ }
22
+ }
23
+
24
+ // Map platform names: win32 -> windows (for package name)
25
+ const os = platform === "win32" ? "windows" : platform;
26
+ return `oh-my-musacode-${os}-${arch}${suffix}`;
27
+ }
28
+
29
+ /**
30
+ * Get the path to the binary within a platform package
31
+ * @param {string} pkg Package name
32
+ * @param {string} platform Process platform
33
+ * @returns {string} Relative path like "oh-my-musacode-darwin-arm64/bin/oh-my-musacode"
34
+ */
35
+ export function getBinaryPath(pkg, platform) {
36
+ const ext = platform === "win32" ? ".exe" : "";
37
+ return `${pkg}/bin/oh-my-musacode${ext}`;
38
+ }