oh-my-claude-sisyphus 2.6.0 → 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 -708
- 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 +39 -20
- 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
package/README.md
CHANGED
|
@@ -1,781 +1,132 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-

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