oh-my-claude-sisyphus 2.6.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -785
- package/agents/analyst.md +85 -0
- package/agents/architect-low.md +88 -0
- package/agents/architect-medium.md +108 -0
- package/agents/architect.md +77 -0
- package/agents/critic.md +97 -0
- package/agents/designer-high.md +113 -0
- package/agents/designer-low.md +89 -0
- package/agents/designer.md +80 -0
- package/agents/executor-high.md +116 -0
- package/agents/executor-low.md +94 -0
- package/agents/executor.md +62 -0
- package/agents/explore-medium.md +113 -0
- package/agents/explore.md +86 -0
- package/agents/planner.md +164 -0
- package/agents/qa-tester.md +109 -0
- package/agents/researcher-low.md +84 -0
- package/agents/researcher.md +70 -0
- package/agents/vision.md +39 -0
- package/agents/writer.md +152 -0
- package/commands/.gitkeep +0 -0
- package/dist/__tests__/hooks.test.js +22 -22
- package/dist/__tests__/hooks.test.js.map +1 -1
- package/dist/__tests__/hud-agents.test.d.ts +7 -0
- package/dist/__tests__/hud-agents.test.d.ts.map +1 -0
- package/dist/__tests__/hud-agents.test.js +363 -0
- package/dist/__tests__/hud-agents.test.js.map +1 -0
- package/dist/__tests__/installer.test.js +184 -116
- package/dist/__tests__/installer.test.js.map +1 -1
- package/dist/__tests__/learned-skills/config.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/config.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/config.test.js +37 -0
- package/dist/__tests__/learned-skills/config.test.js.map +1 -0
- package/dist/__tests__/learned-skills/detector.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/detector.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/detector.test.js +99 -0
- package/dist/__tests__/learned-skills/detector.test.js.map +1 -0
- package/dist/__tests__/learned-skills/finder.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/finder.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/finder.test.js +59 -0
- package/dist/__tests__/learned-skills/finder.test.js.map +1 -0
- package/dist/__tests__/learned-skills/loader.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/loader.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/loader.test.js +69 -0
- package/dist/__tests__/learned-skills/loader.test.js.map +1 -0
- package/dist/__tests__/learned-skills/parser.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/parser.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/parser.test.js +81 -0
- package/dist/__tests__/learned-skills/parser.test.js.map +1 -0
- package/dist/__tests__/learned-skills/validator.test.d.ts +2 -0
- package/dist/__tests__/learned-skills/validator.test.d.ts.map +1 -0
- package/dist/__tests__/learned-skills/validator.test.js +85 -0
- package/dist/__tests__/learned-skills/validator.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/config.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/config.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/config.test.js +37 -0
- package/dist/__tests__/mnemosyne/config.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/detector.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/detector.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/detector.test.js +99 -0
- package/dist/__tests__/mnemosyne/detector.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/finder.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/finder.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/finder.test.js +61 -0
- package/dist/__tests__/mnemosyne/finder.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/loader.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/loader.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/loader.test.js +73 -0
- package/dist/__tests__/mnemosyne/loader.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/parser.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/parser.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/parser.test.js +81 -0
- package/dist/__tests__/mnemosyne/parser.test.js.map +1 -0
- package/dist/__tests__/mnemosyne/validator.test.d.ts +2 -0
- package/dist/__tests__/mnemosyne/validator.test.d.ts.map +1 -0
- package/dist/__tests__/mnemosyne/validator.test.js +85 -0
- package/dist/__tests__/mnemosyne/validator.test.js.map +1 -0
- package/dist/__tests__/model-routing.test.js +34 -34
- package/dist/__tests__/model-routing.test.js.map +1 -1
- package/dist/__tests__/notepad.test.js +7 -7
- package/dist/__tests__/notepad.test.js.map +1 -1
- package/dist/__tests__/ralph-prd.test.js +12 -12
- package/dist/__tests__/ralph-prd.test.js.map +1 -1
- package/dist/__tests__/ralph-progress.test.js +12 -12
- package/dist/__tests__/ralph-progress.test.js.map +1 -1
- package/dist/__tests__/skills.test.js +50 -17
- package/dist/__tests__/skills.test.js.map +1 -1
- package/dist/__tests__/types.test.js +5 -5
- package/dist/__tests__/types.test.js.map +1 -1
- package/dist/agents/analyst.d.ts +11 -0
- package/dist/agents/analyst.d.ts.map +1 -0
- package/dist/agents/analyst.js +115 -0
- package/dist/agents/analyst.js.map +1 -0
- package/dist/agents/architect.d.ts +12 -0
- package/dist/agents/architect.d.ts.map +1 -0
- package/dist/agents/architect.js +189 -0
- package/dist/agents/architect.js.map +1 -0
- package/dist/agents/coordinator.d.ts +11 -0
- package/dist/agents/coordinator.d.ts.map +1 -0
- package/dist/agents/coordinator.js +115 -0
- package/dist/agents/coordinator.js.map +1 -0
- package/dist/agents/critic.d.ts +11 -0
- package/dist/agents/critic.d.ts.map +1 -0
- package/dist/agents/critic.js +127 -0
- package/dist/agents/critic.js.map +1 -0
- package/dist/agents/definitions.d.ts +33 -70
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +140 -1268
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/designer.d.ts +11 -0
- package/dist/agents/designer.d.ts.map +1 -0
- package/dist/agents/designer.js +115 -0
- package/dist/agents/designer.js.map +1 -0
- package/dist/agents/executor.d.ts +12 -0
- package/dist/agents/executor.d.ts.map +1 -0
- package/dist/agents/executor.js +93 -0
- package/dist/agents/executor.js.map +1 -0
- package/dist/agents/explore.js +4 -4
- package/dist/agents/explore.js.map +1 -1
- package/dist/agents/index.d.ts +12 -11
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +15 -16
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/planner.d.ts +11 -0
- package/dist/agents/planner.d.ts.map +1 -0
- package/dist/agents/planner.js +194 -0
- package/dist/agents/planner.js.map +1 -0
- package/dist/agents/qa-tester.js +16 -16
- package/dist/agents/qa-tester.js.map +1 -1
- package/dist/agents/researcher.d.ts +12 -0
- package/dist/agents/researcher.d.ts.map +1 -0
- package/dist/agents/researcher.js +103 -0
- package/dist/agents/researcher.js.map +1 -0
- package/dist/agents/vision.d.ts +11 -0
- package/dist/agents/vision.d.ts.map +1 -0
- package/dist/agents/vision.js +70 -0
- package/dist/agents/vision.js.map +1 -0
- package/dist/agents/writer.d.ts +11 -0
- package/dist/agents/writer.d.ts.map +1 -0
- package/dist/agents/writer.js +209 -0
- package/dist/agents/writer.js.map +1 -0
- package/dist/cli/index.js +32 -32
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/index.d.ts +4 -4
- package/dist/commands/index.js +4 -4
- package/dist/config/loader.js +25 -25
- package/dist/config/loader.js.map +1 -1
- package/dist/features/auto-update.d.ts +5 -5
- package/dist/features/auto-update.d.ts.map +1 -1
- package/dist/features/auto-update.js +17 -17
- package/dist/features/auto-update.js.map +1 -1
- package/dist/features/background-agent/manager.js +1 -1
- package/dist/features/background-agent/manager.js.map +1 -1
- package/dist/features/boulder-state/constants.d.ts +5 -5
- package/dist/features/boulder-state/constants.d.ts.map +1 -1
- package/dist/features/boulder-state/constants.js +3 -3
- package/dist/features/boulder-state/constants.js.map +1 -1
- package/dist/features/boulder-state/index.d.ts +2 -2
- package/dist/features/boulder-state/index.d.ts.map +1 -1
- package/dist/features/boulder-state/index.js +2 -2
- package/dist/features/boulder-state/index.js.map +1 -1
- package/dist/features/boulder-state/storage.d.ts +3 -3
- package/dist/features/boulder-state/storage.d.ts.map +1 -1
- package/dist/features/boulder-state/storage.js +6 -6
- package/dist/features/boulder-state/storage.js.map +1 -1
- package/dist/features/builtin-skills/skills.d.ts +15 -1
- package/dist/features/builtin-skills/skills.d.ts.map +1 -1
- package/dist/features/builtin-skills/skills.js +100 -1110
- package/dist/features/builtin-skills/skills.js.map +1 -1
- package/dist/features/context-injector/types.d.ts +1 -1
- package/dist/features/context-injector/types.d.ts.map +1 -1
- package/dist/features/index.d.ts +1 -1
- package/dist/features/index.d.ts.map +1 -1
- package/dist/features/index.js +2 -2
- package/dist/features/index.js.map +1 -1
- package/dist/features/magic-keywords.js +14 -14
- package/dist/features/magic-keywords.js.map +1 -1
- package/dist/features/model-routing/prompts/opus.d.ts +1 -1
- package/dist/features/model-routing/prompts/opus.d.ts.map +1 -1
- package/dist/features/model-routing/prompts/opus.js +1 -1
- package/dist/features/model-routing/router.d.ts +1 -1
- package/dist/features/model-routing/router.js +14 -14
- package/dist/features/model-routing/router.js.map +1 -1
- package/dist/features/model-routing/rules.js +31 -31
- package/dist/features/model-routing/rules.js.map +1 -1
- package/dist/features/model-routing/types.js +1 -1
- package/dist/features/model-routing/types.js.map +1 -1
- package/dist/hooks/agent-usage-reminder/constants.d.ts +2 -2
- package/dist/hooks/agent-usage-reminder/constants.d.ts.map +1 -1
- package/dist/hooks/agent-usage-reminder/constants.js +5 -5
- package/dist/hooks/agent-usage-reminder/constants.js.map +1 -1
- package/dist/hooks/auto-slash-command/constants.d.ts +1 -1
- package/dist/hooks/auto-slash-command/constants.d.ts.map +1 -1
- package/dist/hooks/auto-slash-command/constants.js +9 -2
- package/dist/hooks/auto-slash-command/constants.js.map +1 -1
- package/dist/hooks/bridge.d.ts +2 -2
- package/dist/hooks/bridge.d.ts.map +1 -1
- package/dist/hooks/bridge.js +50 -18
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/directory-readme-injector/constants.d.ts +1 -1
- package/dist/hooks/directory-readme-injector/constants.d.ts.map +1 -1
- package/dist/hooks/directory-readme-injector/constants.js +2 -2
- package/dist/hooks/directory-readme-injector/constants.js.map +1 -1
- package/dist/hooks/index.d.ts +3 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +9 -4
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/learned-skills/config.d.ts +53 -0
- package/dist/hooks/learned-skills/config.d.ts.map +1 -0
- package/dist/hooks/learned-skills/config.js +103 -0
- package/dist/hooks/learned-skills/config.js.map +1 -0
- package/dist/hooks/learned-skills/constants.d.ts +24 -0
- package/dist/hooks/learned-skills/constants.d.ts.map +1 -0
- package/dist/hooks/learned-skills/constants.js +26 -0
- package/dist/hooks/learned-skills/constants.js.map +1 -0
- package/dist/hooks/learned-skills/detection-hook.d.ts +39 -0
- package/dist/hooks/learned-skills/detection-hook.d.ts.map +1 -0
- package/dist/hooks/learned-skills/detection-hook.js +83 -0
- package/dist/hooks/learned-skills/detection-hook.js.map +1 -0
- package/dist/hooks/learned-skills/detector.d.ts +30 -0
- package/dist/hooks/learned-skills/detector.d.ts.map +1 -0
- package/dist/hooks/learned-skills/detector.js +150 -0
- package/dist/hooks/learned-skills/detector.js.map +1 -0
- package/dist/hooks/learned-skills/finder.d.ts +21 -0
- package/dist/hooks/learned-skills/finder.d.ts.map +1 -0
- package/dist/hooks/learned-skills/finder.js +117 -0
- package/dist/hooks/learned-skills/finder.js.map +1 -0
- package/dist/hooks/learned-skills/index.d.ts +62 -0
- package/dist/hooks/learned-skills/index.d.ts.map +1 -0
- package/dist/hooks/learned-skills/index.js +137 -0
- package/dist/hooks/learned-skills/index.js.map +1 -0
- package/dist/hooks/learned-skills/loader.d.ts +20 -0
- package/dist/hooks/learned-skills/loader.d.ts.map +1 -0
- package/dist/hooks/learned-skills/loader.js +107 -0
- package/dist/hooks/learned-skills/loader.js.map +1 -0
- package/dist/hooks/learned-skills/parser.d.ts +21 -0
- package/dist/hooks/learned-skills/parser.d.ts.map +1 -0
- package/dist/hooks/learned-skills/parser.js +190 -0
- package/dist/hooks/learned-skills/parser.js.map +1 -0
- package/dist/hooks/learned-skills/promotion.d.ts +29 -0
- package/dist/hooks/learned-skills/promotion.d.ts.map +1 -0
- package/dist/hooks/learned-skills/promotion.js +87 -0
- package/dist/hooks/learned-skills/promotion.js.map +1 -0
- package/dist/hooks/learned-skills/types.d.ts +109 -0
- package/dist/hooks/learned-skills/types.d.ts.map +1 -0
- package/dist/hooks/learned-skills/types.js +8 -0
- package/dist/hooks/learned-skills/types.js.map +1 -0
- package/dist/hooks/learned-skills/validator.d.ts +15 -0
- package/dist/hooks/learned-skills/validator.d.ts.map +1 -0
- package/dist/hooks/learned-skills/validator.js +87 -0
- package/dist/hooks/learned-skills/validator.js.map +1 -0
- package/dist/hooks/learned-skills/writer.d.ts +27 -0
- package/dist/hooks/learned-skills/writer.d.ts.map +1 -0
- package/dist/hooks/learned-skills/writer.js +126 -0
- package/dist/hooks/learned-skills/writer.js.map +1 -0
- package/dist/hooks/learner/config.d.ts +53 -0
- package/dist/hooks/learner/config.d.ts.map +1 -0
- package/dist/hooks/learner/config.js +103 -0
- package/dist/hooks/learner/config.js.map +1 -0
- package/dist/hooks/learner/constants.d.ts +24 -0
- package/dist/hooks/learner/constants.d.ts.map +1 -0
- package/dist/hooks/learner/constants.js +26 -0
- package/dist/hooks/learner/constants.js.map +1 -0
- package/dist/hooks/learner/detection-hook.d.ts +39 -0
- package/dist/hooks/learner/detection-hook.d.ts.map +1 -0
- package/dist/hooks/learner/detection-hook.js +83 -0
- package/dist/hooks/learner/detection-hook.js.map +1 -0
- package/dist/hooks/learner/detector.d.ts +30 -0
- package/dist/hooks/learner/detector.d.ts.map +1 -0
- package/dist/hooks/learner/detector.js +150 -0
- package/dist/hooks/learner/detector.js.map +1 -0
- package/dist/hooks/learner/finder.d.ts +21 -0
- package/dist/hooks/learner/finder.d.ts.map +1 -0
- package/dist/hooks/learner/finder.js +117 -0
- package/dist/hooks/learner/finder.js.map +1 -0
- package/dist/hooks/learner/index.d.ts +62 -0
- package/dist/hooks/learner/index.d.ts.map +1 -0
- package/dist/hooks/learner/index.js +137 -0
- package/dist/hooks/learner/index.js.map +1 -0
- package/dist/hooks/learner/loader.d.ts +20 -0
- package/dist/hooks/learner/loader.d.ts.map +1 -0
- package/dist/hooks/learner/loader.js +113 -0
- package/dist/hooks/learner/loader.js.map +1 -0
- package/dist/hooks/learner/parser.d.ts +21 -0
- package/dist/hooks/learner/parser.d.ts.map +1 -0
- package/dist/hooks/learner/parser.js +190 -0
- package/dist/hooks/learner/parser.js.map +1 -0
- package/dist/hooks/learner/promotion.d.ts +29 -0
- package/dist/hooks/learner/promotion.d.ts.map +1 -0
- package/dist/hooks/learner/promotion.js +87 -0
- package/dist/hooks/learner/promotion.js.map +1 -0
- package/dist/hooks/learner/types.d.ts +109 -0
- package/dist/hooks/learner/types.d.ts.map +1 -0
- package/dist/hooks/learner/types.js +8 -0
- package/dist/hooks/learner/types.js.map +1 -0
- package/dist/hooks/learner/validator.d.ts +15 -0
- package/dist/hooks/learner/validator.d.ts.map +1 -0
- package/dist/hooks/learner/validator.js +87 -0
- package/dist/hooks/learner/validator.js.map +1 -0
- package/dist/hooks/learner/writer.d.ts +27 -0
- package/dist/hooks/learner/writer.d.ts.map +1 -0
- package/dist/hooks/learner/writer.js +126 -0
- package/dist/hooks/learner/writer.js.map +1 -0
- package/dist/hooks/mnemosyne/config.d.ts +53 -0
- package/dist/hooks/mnemosyne/config.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/config.js +103 -0
- package/dist/hooks/mnemosyne/config.js.map +1 -0
- package/dist/hooks/mnemosyne/constants.d.ts +24 -0
- package/dist/hooks/mnemosyne/constants.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/constants.js +26 -0
- package/dist/hooks/mnemosyne/constants.js.map +1 -0
- package/dist/hooks/mnemosyne/detection-hook.d.ts +39 -0
- package/dist/hooks/mnemosyne/detection-hook.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/detection-hook.js +83 -0
- package/dist/hooks/mnemosyne/detection-hook.js.map +1 -0
- package/dist/hooks/mnemosyne/detector.d.ts +30 -0
- package/dist/hooks/mnemosyne/detector.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/detector.js +150 -0
- package/dist/hooks/mnemosyne/detector.js.map +1 -0
- package/dist/hooks/mnemosyne/finder.d.ts +21 -0
- package/dist/hooks/mnemosyne/finder.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/finder.js +117 -0
- package/dist/hooks/mnemosyne/finder.js.map +1 -0
- package/dist/hooks/mnemosyne/index.d.ts +62 -0
- package/dist/hooks/mnemosyne/index.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/index.js +137 -0
- package/dist/hooks/mnemosyne/index.js.map +1 -0
- package/dist/hooks/mnemosyne/loader.d.ts +20 -0
- package/dist/hooks/mnemosyne/loader.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/loader.js +113 -0
- package/dist/hooks/mnemosyne/loader.js.map +1 -0
- package/dist/hooks/mnemosyne/parser.d.ts +21 -0
- package/dist/hooks/mnemosyne/parser.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/parser.js +190 -0
- package/dist/hooks/mnemosyne/parser.js.map +1 -0
- package/dist/hooks/mnemosyne/promotion.d.ts +29 -0
- package/dist/hooks/mnemosyne/promotion.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/promotion.js +87 -0
- package/dist/hooks/mnemosyne/promotion.js.map +1 -0
- package/dist/hooks/mnemosyne/types.d.ts +109 -0
- package/dist/hooks/mnemosyne/types.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/types.js +8 -0
- package/dist/hooks/mnemosyne/types.js.map +1 -0
- package/dist/hooks/mnemosyne/validator.d.ts +15 -0
- package/dist/hooks/mnemosyne/validator.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/validator.js +87 -0
- package/dist/hooks/mnemosyne/validator.js.map +1 -0
- package/dist/hooks/mnemosyne/writer.d.ts +27 -0
- package/dist/hooks/mnemosyne/writer.d.ts.map +1 -0
- package/dist/hooks/mnemosyne/writer.js +126 -0
- package/dist/hooks/mnemosyne/writer.js.map +1 -0
- package/dist/hooks/notepad/index.d.ts +2 -2
- package/dist/hooks/notepad/index.js +7 -7
- package/dist/hooks/notepad/index.js.map +1 -1
- package/dist/hooks/omc-orchestrator/constants.d.ts +23 -0
- package/dist/hooks/omc-orchestrator/constants.d.ts.map +1 -0
- package/dist/hooks/omc-orchestrator/constants.js +142 -0
- package/dist/hooks/omc-orchestrator/constants.js.map +1 -0
- package/dist/hooks/omc-orchestrator/index.d.ts +113 -0
- package/dist/hooks/omc-orchestrator/index.d.ts.map +1 -0
- package/dist/hooks/omc-orchestrator/index.js +309 -0
- package/dist/hooks/omc-orchestrator/index.js.map +1 -0
- package/dist/hooks/persistent-mode/index.d.ts +4 -4
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +37 -37
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/ralph-loop/index.d.ts +33 -5
- package/dist/hooks/ralph-loop/index.d.ts.map +1 -1
- package/dist/hooks/ralph-loop/index.js +91 -17
- package/dist/hooks/ralph-loop/index.js.map +1 -1
- package/dist/hooks/ralph-prd/index.d.ts +4 -4
- package/dist/hooks/ralph-prd/index.d.ts.map +1 -1
- package/dist/hooks/ralph-prd/index.js +13 -13
- package/dist/hooks/ralph-prd/index.js.map +1 -1
- package/dist/hooks/ralph-progress/index.d.ts +5 -5
- package/dist/hooks/ralph-progress/index.d.ts.map +1 -1
- package/dist/hooks/ralph-progress/index.js +14 -14
- package/dist/hooks/ralph-progress/index.js.map +1 -1
- package/dist/hooks/ralph-verifier/index.d.ts +23 -23
- package/dist/hooks/ralph-verifier/index.d.ts.map +1 -1
- package/dist/hooks/ralph-verifier/index.js +41 -41
- package/dist/hooks/ralph-verifier/index.js.map +1 -1
- package/dist/hooks/rules-injector/constants.d.ts +1 -1
- package/dist/hooks/rules-injector/constants.d.ts.map +1 -1
- package/dist/hooks/rules-injector/constants.js +2 -2
- package/dist/hooks/rules-injector/constants.js.map +1 -1
- package/dist/hooks/todo-continuation/index.js +1 -1
- package/dist/hooks/todo-continuation/index.js.map +1 -1
- package/dist/hooks/ultraqa-loop/index.d.ts +1 -1
- package/dist/hooks/ultraqa-loop/index.js +8 -8
- package/dist/hooks/ultraqa-loop/index.js.map +1 -1
- package/dist/hooks/ultrawork-state/index.js +7 -7
- package/dist/hooks/ultrawork-state/index.js.map +1 -1
- package/dist/hud/background-tasks.d.ts +26 -0
- package/dist/hud/background-tasks.d.ts.map +1 -0
- package/dist/hud/background-tasks.js +116 -0
- package/dist/hud/background-tasks.js.map +1 -0
- package/dist/hud/colors.d.ts +54 -0
- package/dist/hud/colors.d.ts.map +1 -0
- package/dist/hud/colors.js +156 -0
- package/dist/hud/colors.js.map +1 -0
- package/dist/hud/elements/agents.d.ts +73 -0
- package/dist/hud/elements/agents.d.ts.map +1 -0
- package/dist/hud/elements/agents.js +405 -0
- package/dist/hud/elements/agents.js.map +1 -0
- package/dist/hud/elements/background.d.ts +20 -0
- package/dist/hud/elements/background.d.ts.map +1 -0
- package/dist/hud/elements/background.js +70 -0
- package/dist/hud/elements/background.js.map +1 -0
- package/dist/hud/elements/context.d.ts +19 -0
- package/dist/hud/elements/context.d.ts.map +1 -0
- package/dist/hud/elements/context.js +58 -0
- package/dist/hud/elements/context.js.map +1 -0
- package/dist/hud/elements/index.d.ts +17 -0
- package/dist/hud/elements/index.d.ts.map +1 -0
- package/dist/hud/elements/index.js +17 -0
- package/dist/hud/elements/index.js.map +1 -0
- package/dist/hud/elements/limits.d.ts +19 -0
- package/dist/hud/elements/limits.d.ts.map +1 -0
- package/dist/hud/elements/limits.js +54 -0
- package/dist/hud/elements/limits.js.map +1 -0
- package/dist/hud/elements/permission.d.ts +13 -0
- package/dist/hud/elements/permission.d.ts.map +1 -0
- package/dist/hud/elements/permission.js +20 -0
- package/dist/hud/elements/permission.js.map +1 -0
- package/dist/hud/elements/prd.d.ts +20 -0
- package/dist/hud/elements/prd.d.ts.map +1 -0
- package/dist/hud/elements/prd.js +52 -0
- package/dist/hud/elements/prd.js.map +1 -0
- package/dist/hud/elements/ralph.d.ts +14 -0
- package/dist/hud/elements/ralph.d.ts.map +1 -0
- package/dist/hud/elements/ralph.js +36 -0
- package/dist/hud/elements/ralph.js.map +1 -0
- package/dist/hud/elements/session.d.ts +13 -0
- package/dist/hud/elements/session.d.ts.map +1 -0
- package/dist/hud/elements/session.js +24 -0
- package/dist/hud/elements/session.js.map +1 -0
- package/dist/hud/elements/skills.d.ts +24 -0
- package/dist/hud/elements/skills.d.ts.map +1 -0
- package/dist/hud/elements/skills.js +81 -0
- package/dist/hud/elements/skills.js.map +1 -0
- package/dist/hud/elements/thinking.d.ts +13 -0
- package/dist/hud/elements/thinking.d.ts.map +1 -0
- package/dist/hud/elements/thinking.js +19 -0
- package/dist/hud/elements/thinking.js.map +1 -0
- package/dist/hud/elements/todos.d.ts +20 -0
- package/dist/hud/elements/todos.d.ts.map +1 -0
- package/dist/hud/elements/todos.js +70 -0
- package/dist/hud/elements/todos.js.map +1 -0
- package/dist/hud/index.d.ts +9 -0
- package/dist/hud/index.d.ts.map +1 -0
- package/dist/hud/index.js +89 -0
- package/dist/hud/index.js.map +1 -0
- package/dist/hud/omc-state.d.ts +31 -0
- package/dist/hud/omc-state.d.ts.map +1 -0
- package/dist/hud/omc-state.js +163 -0
- package/dist/hud/omc-state.js.map +1 -0
- package/dist/hud/render.d.ts +11 -0
- package/dist/hud/render.d.ts.map +1 -0
- package/dist/hud/render.js +121 -0
- package/dist/hud/render.js.map +1 -0
- package/dist/hud/sisyphus-state.d.ts +31 -0
- package/dist/hud/sisyphus-state.d.ts.map +1 -0
- package/dist/hud/sisyphus-state.js +163 -0
- package/dist/hud/sisyphus-state.js.map +1 -0
- package/dist/hud/state.d.ts +43 -0
- package/dist/hud/state.d.ts.map +1 -0
- package/dist/hud/state.js +201 -0
- package/dist/hud/state.js.map +1 -0
- package/dist/hud/stdin.d.ts +22 -0
- package/dist/hud/stdin.d.ts.map +1 -0
- package/dist/hud/stdin.js +65 -0
- package/dist/hud/stdin.js.map +1 -0
- package/dist/hud/transcript.d.ts +32 -0
- package/dist/hud/transcript.d.ts.map +1 -0
- package/dist/hud/transcript.js +364 -0
- package/dist/hud/transcript.js.map +1 -0
- package/dist/hud/types.d.ts +178 -0
- package/dist/hud/types.d.ts.map +1 -0
- package/dist/hud/types.js +119 -0
- package/dist/hud/types.js.map +1 -0
- package/dist/hud/usage-api.d.ts +24 -0
- package/dist/hud/usage-api.d.ts.map +1 -0
- package/dist/hud/usage-api.js +234 -0
- package/dist/hud/usage-api.js.map +1 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -12
- package/dist/index.js.map +1 -1
- package/dist/installer/hooks.d.ts +36 -64
- package/dist/installer/hooks.d.ts.map +1 -1
- package/dist/installer/hooks.js +91 -1298
- package/dist/installer/hooks.js.map +1 -1
- package/dist/installer/index.d.ts +23 -22
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +307 -2575
- package/dist/installer/index.js.map +1 -1
- package/dist/shared/types.d.ts +6 -6
- package/dist/shared/types.d.ts.map +1 -1
- package/docs/ARCHITECTURE.md +386 -0
- package/docs/CLAUDE.md +281 -0
- package/docs/FULL-README.md +822 -0
- package/docs/LOCAL_PLUGIN_INSTALL.md +94 -0
- package/docs/MIGRATION-v3.md +186 -0
- package/docs/MIGRATION.md +460 -0
- package/docs/TIERED_AGENTS_V2.md +322 -0
- package/hooks/hooks.json +70 -0
- package/hooks/keyword-detector.sh +102 -0
- package/hooks/persistent-mode.sh +172 -0
- package/hooks/session-start.sh +62 -0
- package/hooks/stop-continuation.sh +40 -0
- package/package.json +14 -8
- package/scripts/install.sh +90 -72
- package/scripts/keyword-detector.mjs +1 -1
- package/scripts/persistent-mode.mjs +9 -9
- package/scripts/persistent-mode.sh +21 -10
- package/scripts/plugin-setup.mjs +109 -0
- package/scripts/pre-tool-enforcer.mjs +1 -1
- package/scripts/pre-tool-enforcer.sh +1 -1
- package/scripts/session-start.mjs +38 -3
- package/scripts/skill-injector.mjs +231 -0
- package/scripts/uninstall.sh +8 -8
- package/skills/analyze/SKILL.md +47 -0
- package/skills/cancel-ralph/SKILL.md +43 -0
- package/skills/cancel-ultraqa/SKILL.md +29 -0
- package/skills/cancel-ultrawork/SKILL.md +42 -0
- package/skills/deepinit/SKILL.md +321 -0
- package/skills/deepsearch/SKILL.md +39 -0
- package/skills/doctor/SKILL.md +192 -0
- package/skills/frontend-ui-ux/SKILL.md +53 -0
- package/skills/git-master/SKILL.md +58 -0
- package/skills/help/SKILL.md +66 -0
- package/skills/hud/SKILL.md +142 -0
- package/skills/learner/SKILL.md +136 -0
- package/skills/note/SKILL.md +63 -0
- package/skills/omc-default/SKILL.md +78 -0
- package/skills/omc-default-global/SKILL.md +75 -0
- package/skills/omc-setup/SKILL.md +144 -0
- package/skills/orchestrate/SKILL.md +409 -0
- package/skills/plan/SKILL.md +37 -0
- package/skills/planner/SKILL.md +43 -0
- package/skills/ralph/SKILL.md +101 -0
- package/skills/ralph-init/SKILL.md +61 -0
- package/skills/ralplan/SKILL.md +219 -0
- package/skills/release/SKILL.md +84 -0
- package/skills/review/SKILL.md +37 -0
- package/skills/ultraqa/SKILL.md +123 -0
- package/skills/ultrawork/SKILL.md +89 -0
|
@@ -0,0 +1,822 @@
|
|
|
1
|
+
# Full Reference Documentation
|
|
2
|
+
|
|
3
|
+
> This is the complete reference documentation. For quick start, see the main [README.md](../README.md).
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<div align="center">
|
|
8
|
+
|
|
9
|
+

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