oh-my-copilot 4.13.2 → 4.13.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/bridge/cli.cjs +2522 -949
- package/bridge/mcp-server.cjs +97 -9
- package/bridge/runtime-cli.cjs +1256 -133
- package/bridge/team.js +1241 -65
- package/dist/__tests__/auto-slash-aliases.test.js +91 -0
- package/dist/__tests__/auto-slash-aliases.test.js.map +1 -1
- package/dist/__tests__/hud/labels.test.d.ts +2 -0
- package/dist/__tests__/hud/labels.test.d.ts.map +1 -0
- package/dist/__tests__/hud/labels.test.js +158 -0
- package/dist/__tests__/hud/labels.test.js.map +1 -0
- package/dist/__tests__/hud/render-rate-limits-priority.test.js +26 -0
- package/dist/__tests__/hud/render-rate-limits-priority.test.js.map +1 -1
- package/dist/__tests__/hud-marketplace-resolution.test.js +34 -0
- package/dist/__tests__/hud-marketplace-resolution.test.js.map +1 -1
- package/dist/__tests__/installer-hud-skip.test.js +6 -0
- package/dist/__tests__/installer-hud-skip.test.js.map +1 -1
- package/dist/__tests__/installer-omc-reference.test.js +1 -1
- package/dist/__tests__/installer-omc-reference.test.js.map +1 -1
- package/dist/__tests__/mnemosyne/detector.test.js +2 -0
- package/dist/__tests__/mnemosyne/detector.test.js.map +1 -1
- package/dist/__tests__/notepad.test.js +2 -2
- package/dist/__tests__/notepad.test.js.map +1 -1
- package/dist/__tests__/pre-tool-enforcer.test.js +84 -1
- package/dist/__tests__/pre-tool-enforcer.test.js.map +1 -1
- package/dist/__tests__/ralph-prd-mandatory.test.js +11 -1
- package/dist/__tests__/ralph-prd-mandatory.test.js.map +1 -1
- package/dist/__tests__/ralph-prd.test.js +40 -2
- package/dist/__tests__/ralph-prd.test.js.map +1 -1
- package/dist/__tests__/skills.test.js +363 -4
- package/dist/__tests__/skills.test.js.map +1 -1
- package/dist/__tests__/state-root-resolution.test.js +56 -6
- package/dist/__tests__/state-root-resolution.test.js.map +1 -1
- package/dist/autoresearch/__tests__/runtime.test.js +225 -28
- package/dist/autoresearch/__tests__/runtime.test.js.map +1 -1
- package/dist/autoresearch/runtime.d.ts.map +1 -1
- package/dist/autoresearch/runtime.js +9 -5
- package/dist/autoresearch/runtime.js.map +1 -1
- package/dist/cli/autoresearch.d.ts +1 -1
- package/dist/cli/autoresearch.d.ts.map +1 -1
- package/dist/cli/autoresearch.js +4 -4
- package/dist/cli/commands/team.d.ts +1 -0
- package/dist/cli/commands/team.d.ts.map +1 -1
- package/dist/cli/commands/team.js +14 -2
- package/dist/cli/commands/team.js.map +1 -1
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/team.d.ts +6 -0
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +23 -1
- package/dist/cli/team.js.map +1 -1
- package/dist/config/__tests__/loader.test.js.map +1 -1
- package/dist/features/boulder-state/constants.d.ts +1 -1
- package/dist/features/boulder-state/constants.d.ts.map +1 -1
- package/dist/features/builtin-skills/skills.d.ts.map +1 -1
- package/dist/features/builtin-skills/skills.js +11 -3
- package/dist/features/builtin-skills/skills.js.map +1 -1
- package/dist/features/builtin-skills/types.d.ts +7 -0
- package/dist/features/builtin-skills/types.d.ts.map +1 -1
- package/dist/features/magic-keywords.d.ts.map +1 -1
- package/dist/features/magic-keywords.js +30 -1
- package/dist/features/magic-keywords.js.map +1 -1
- package/dist/features/rate-limit-wait/tmux-detector.d.ts +4 -4
- package/dist/features/rate-limit-wait/tmux-detector.js +9 -9
- package/dist/features/rate-limit-wait/tmux-detector.js.map +1 -1
- package/dist/hooks/__tests__/bridge-routing.test.js +156 -0
- package/dist/hooks/__tests__/bridge-routing.test.js.map +1 -1
- package/dist/hooks/auto-slash-command/constants.d.ts.map +1 -1
- package/dist/hooks/auto-slash-command/constants.js +1 -0
- package/dist/hooks/auto-slash-command/constants.js.map +1 -1
- package/dist/hooks/auto-slash-command/executor.d.ts.map +1 -1
- package/dist/hooks/auto-slash-command/executor.js +29 -0
- package/dist/hooks/auto-slash-command/executor.js.map +1 -1
- package/dist/hooks/bridge.d.ts.map +1 -1
- package/dist/hooks/bridge.js +184 -1
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/learner/detector.js +1 -1
- package/dist/hooks/mode-registry/__tests__/session-isolation.test.js +16 -0
- package/dist/hooks/mode-registry/__tests__/session-isolation.test.js.map +1 -1
- package/dist/hooks/notepad/index.d.ts +4 -1
- package/dist/hooks/notepad/index.d.ts.map +1 -1
- package/dist/hooks/notepad/index.js +7 -4
- package/dist/hooks/notepad/index.js.map +1 -1
- package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js +70 -3
- package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js.map +1 -1
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +10 -9
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/persistent-mode/stop-hook-blocking.test.js +64 -9
- package/dist/hooks/persistent-mode/stop-hook-blocking.test.js.map +1 -1
- package/dist/hooks/project-memory/__tests__/integration.test.js +117 -3
- package/dist/hooks/project-memory/__tests__/integration.test.js.map +1 -1
- package/dist/hooks/project-memory/__tests__/storage.test.js +11 -11
- package/dist/hooks/project-memory/__tests__/storage.test.js.map +1 -1
- package/dist/hooks/project-memory/index.d.ts.map +1 -1
- package/dist/hooks/project-memory/index.js +24 -12
- package/dist/hooks/project-memory/index.js.map +1 -1
- package/dist/hooks/ralph/index.d.ts +1 -1
- package/dist/hooks/ralph/index.d.ts.map +1 -1
- package/dist/hooks/ralph/index.js +1 -1
- package/dist/hooks/ralph/index.js.map +1 -1
- package/dist/hooks/ralph/loop.d.ts +6 -6
- package/dist/hooks/ralph/loop.d.ts.map +1 -1
- package/dist/hooks/ralph/loop.js +18 -18
- package/dist/hooks/ralph/loop.js.map +1 -1
- package/dist/hooks/ralph/prd.d.ts +23 -12
- package/dist/hooks/ralph/prd.d.ts.map +1 -1
- package/dist/hooks/ralph/prd.js +88 -42
- package/dist/hooks/ralph/prd.js.map +1 -1
- package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js +20 -0
- package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js.map +1 -1
- package/dist/hooks/session-end/index.d.ts +9 -0
- package/dist/hooks/session-end/index.d.ts.map +1 -1
- package/dist/hooks/session-end/index.js +67 -0
- package/dist/hooks/session-end/index.js.map +1 -1
- package/dist/hooks/skill-bridge.cjs +6 -5
- package/dist/hooks/skill-state/index.d.ts.map +1 -1
- package/dist/hooks/skill-state/index.js +1 -0
- package/dist/hooks/skill-state/index.js.map +1 -1
- package/dist/hud/__tests__/git-status.test.js +18 -0
- package/dist/hud/__tests__/git-status.test.js.map +1 -1
- package/dist/hud/elements/background.d.ts +3 -3
- package/dist/hud/elements/background.d.ts.map +1 -1
- package/dist/hud/elements/background.js +5 -4
- package/dist/hud/elements/background.js.map +1 -1
- package/dist/hud/elements/call-counts.d.ts +2 -2
- package/dist/hud/elements/call-counts.d.ts.map +1 -1
- package/dist/hud/elements/call-counts.js +7 -6
- package/dist/hud/elements/call-counts.js.map +1 -1
- package/dist/hud/elements/context.d.ts +3 -3
- package/dist/hud/elements/context.d.ts.map +1 -1
- package/dist/hud/elements/context.js +5 -4
- package/dist/hud/elements/context.js.map +1 -1
- package/dist/hud/elements/git.d.ts +2 -1
- package/dist/hud/elements/git.d.ts.map +1 -1
- package/dist/hud/elements/git.js +7 -6
- package/dist/hud/elements/git.js.map +1 -1
- package/dist/hud/elements/ralph.d.ts +2 -2
- package/dist/hud/elements/ralph.d.ts.map +1 -1
- package/dist/hud/elements/ralph.js +3 -2
- package/dist/hud/elements/ralph.js.map +1 -1
- package/dist/hud/elements/thinking.d.ts +2 -2
- package/dist/hud/elements/thinking.d.ts.map +1 -1
- package/dist/hud/elements/thinking.js +3 -2
- package/dist/hud/elements/thinking.js.map +1 -1
- package/dist/hud/elements/token-usage.d.ts +2 -2
- package/dist/hud/elements/token-usage.d.ts.map +1 -1
- package/dist/hud/elements/token-usage.js +3 -2
- package/dist/hud/elements/token-usage.js.map +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +11 -10
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +18 -1
- package/dist/hud/state.js.map +1 -1
- package/dist/hud/types.d.ts +26 -0
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js +58 -0
- package/dist/hud/types.js.map +1 -1
- package/dist/installer/__tests__/hud-cache-wrapper.test.d.ts +2 -0
- package/dist/installer/__tests__/hud-cache-wrapper.test.d.ts.map +1 -0
- package/dist/installer/__tests__/hud-cache-wrapper.test.js +235 -0
- package/dist/installer/__tests__/hud-cache-wrapper.test.js.map +1 -0
- package/dist/installer/__tests__/standalone-hook-reconcile.test.js +2 -0
- package/dist/installer/__tests__/standalone-hook-reconcile.test.js.map +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +19 -7
- package/dist/installer/index.js.map +1 -1
- package/dist/lib/__tests__/worktree-paths.test.js +162 -39
- package/dist/lib/__tests__/worktree-paths.test.js.map +1 -1
- package/dist/lib/worktree-paths.d.ts +87 -9
- package/dist/lib/worktree-paths.d.ts.map +1 -1
- package/dist/lib/worktree-paths.js +209 -27
- package/dist/lib/worktree-paths.js.map +1 -1
- package/dist/team/__tests__/auto-merge-restart.test.d.ts +2 -0
- package/dist/team/__tests__/auto-merge-restart.test.d.ts.map +1 -0
- package/dist/team/__tests__/auto-merge-restart.test.js +128 -0
- package/dist/team/__tests__/auto-merge-restart.test.js.map +1 -0
- package/dist/team/__tests__/auto-merge.perf.test.d.ts +2 -0
- package/dist/team/__tests__/auto-merge.perf.test.d.ts.map +1 -0
- package/dist/team/__tests__/auto-merge.perf.test.js +85 -0
- package/dist/team/__tests__/auto-merge.perf.test.js.map +1 -0
- package/dist/team/__tests__/conflict-mailbox.test.d.ts +2 -0
- package/dist/team/__tests__/conflict-mailbox.test.d.ts.map +1 -0
- package/dist/team/__tests__/conflict-mailbox.test.js +238 -0
- package/dist/team/__tests__/conflict-mailbox.test.js.map +1 -0
- package/dist/team/__tests__/helpers/git-fixture.d.ts +72 -0
- package/dist/team/__tests__/helpers/git-fixture.d.ts.map +1 -0
- package/dist/team/__tests__/helpers/git-fixture.js +252 -0
- package/dist/team/__tests__/helpers/git-fixture.js.map +1 -0
- package/dist/team/__tests__/leader-inbox.test.d.ts +2 -0
- package/dist/team/__tests__/leader-inbox.test.d.ts.map +1 -0
- package/dist/team/__tests__/leader-inbox.test.js +152 -0
- package/dist/team/__tests__/leader-inbox.test.js.map +1 -0
- package/dist/team/__tests__/merge-orchestrator.test.d.ts +2 -0
- package/dist/team/__tests__/merge-orchestrator.test.d.ts.map +1 -0
- package/dist/team/__tests__/merge-orchestrator.test.js +779 -0
- package/dist/team/__tests__/merge-orchestrator.test.js.map +1 -0
- package/dist/team/__tests__/rebase-smoke.test.d.ts +2 -0
- package/dist/team/__tests__/rebase-smoke.test.d.ts.map +1 -0
- package/dist/team/__tests__/rebase-smoke.test.js +272 -0
- package/dist/team/__tests__/rebase-smoke.test.js.map +1 -0
- package/dist/team/__tests__/runtime-cli.test.js +9 -1
- package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
- package/dist/team/__tests__/runtime-v2.dispatch.test.js +150 -1
- package/dist/team/__tests__/runtime-v2.dispatch.test.js.map +1 -1
- package/dist/team/__tests__/teardown-invariant.test.d.ts +2 -0
- package/dist/team/__tests__/teardown-invariant.test.d.ts.map +1 -0
- package/dist/team/__tests__/teardown-invariant.test.js +176 -0
- package/dist/team/__tests__/teardown-invariant.test.js.map +1 -0
- package/dist/team/__tests__/worker-commit-cadence.test.d.ts +2 -0
- package/dist/team/__tests__/worker-commit-cadence.test.d.ts.map +1 -0
- package/dist/team/__tests__/worker-commit-cadence.test.js +315 -0
- package/dist/team/__tests__/worker-commit-cadence.test.js.map +1 -0
- package/dist/team/__tests__/worktree-runtime-e2e.test.d.ts +2 -0
- package/dist/team/__tests__/worktree-runtime-e2e.test.d.ts.map +1 -0
- package/dist/team/__tests__/worktree-runtime-e2e.test.js +182 -0
- package/dist/team/__tests__/worktree-runtime-e2e.test.js.map +1 -0
- package/dist/team/conflict-mailbox.d.ts +49 -0
- package/dist/team/conflict-mailbox.d.ts.map +1 -0
- package/dist/team/conflict-mailbox.js +98 -0
- package/dist/team/conflict-mailbox.js.map +1 -0
- package/dist/team/leader-inbox.d.ts +28 -0
- package/dist/team/leader-inbox.d.ts.map +1 -0
- package/dist/team/leader-inbox.js +68 -0
- package/dist/team/leader-inbox.js.map +1 -0
- package/dist/team/merge-coordinator.d.ts +6 -0
- package/dist/team/merge-coordinator.d.ts.map +1 -1
- package/dist/team/merge-coordinator.js +6 -2
- package/dist/team/merge-coordinator.js.map +1 -1
- package/dist/team/merge-orchestrator.d.ts +41 -0
- package/dist/team/merge-orchestrator.d.ts.map +1 -0
- package/dist/team/merge-orchestrator.js +736 -0
- package/dist/team/merge-orchestrator.js.map +1 -0
- package/dist/team/runtime-cli.d.ts +1 -0
- package/dist/team/runtime-cli.d.ts.map +1 -1
- package/dist/team/runtime-cli.js +15 -2
- package/dist/team/runtime-cli.js.map +1 -1
- package/dist/team/runtime-flags.d.ts +5 -0
- package/dist/team/runtime-flags.d.ts.map +1 -0
- package/dist/team/runtime-flags.js +12 -0
- package/dist/team/runtime-flags.js.map +1 -0
- package/dist/team/runtime-v2.d.ts +7 -1
- package/dist/team/runtime-v2.d.ts.map +1 -1
- package/dist/team/runtime-v2.js +185 -8
- package/dist/team/runtime-v2.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts +4 -0
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +10 -1
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/dist/team/worker-commit-cadence.d.ts +70 -0
- package/dist/team/worker-commit-cadence.d.ts.map +1 -0
- package/dist/team/worker-commit-cadence.js +271 -0
- package/dist/team/worker-commit-cadence.js.map +1 -0
- package/dist/tools/__tests__/memory-tools.test.js +4 -4
- package/dist/tools/__tests__/memory-tools.test.js.map +1 -1
- package/dist/tools/__tests__/state-tools.test.js +13 -1
- package/dist/tools/__tests__/state-tools.test.js.map +1 -1
- package/docs/GETTING-STARTED.md +415 -0
- package/docs/MIGRATION.md +66 -66
- package/docs/REFERENCE.md +21 -4
- package/docs/company-context-interface.md +5 -16
- package/docs/copilot-instructions.md +1 -1
- package/package.json +1 -1
- package/scripts/lib/hud-cache-wrapper.sh +122 -0
- package/scripts/plugin-setup.mjs +10 -1
- package/scripts/post-tool-verifier.mjs +118 -5
- package/scripts/pre-tool-enforcer.mjs +54 -6
- package/scripts/session-start.mjs +171 -3
- package/skills/AGENTS.md +22 -91
- package/skills/ai-slop-cleaner/SKILL.md +118 -120
- package/skills/ask/SKILL.md +6 -8
- package/skills/autopilot/SKILL.md +1 -28
- package/skills/autoresearch/SKILL.md +5 -5
- package/skills/cancel/SKILL.md +13 -13
- package/skills/cccg/SKILL.md +1 -0
- package/skills/configure-notifications/SKILL.md +80 -215
- package/skills/debug/SKILL.md +3 -2
- package/skills/deep-dive/SKILL.md +20 -9
- package/skills/deep-interview/SKILL.md +32 -4
- package/skills/deepinit/SKILL.md +1 -0
- package/skills/external-context/SKILL.md +2 -1
- package/skills/hud/SKILL.md +22 -52
- package/skills/learner/SKILL.md +90 -57
- package/skills/mcp-setup/SKILL.md +45 -60
- package/skills/omc-doctor/SKILL.md +1 -1
- package/skills/omc-reference/SKILL.md +6 -6
- package/skills/omc-setup/SKILL.md +30 -74
- package/skills/omc-setup/phases/01-install-claude-md.md +97 -0
- package/skills/omc-setup/phases/02-configure.md +25 -40
- package/skills/omc-setup/phases/03-integrations.md +100 -69
- package/skills/omc-setup/phases/04-welcome.md +102 -44
- package/skills/omc-teams/SKILL.md +63 -26
- package/skills/plan/SKILL.md +11 -9
- package/skills/ralph/SKILL.md +42 -41
- package/skills/ralplan/SKILL.md +3 -10
- package/skills/release/SKILL.md +168 -57
- package/skills/remember/SKILL.md +2 -1
- package/skills/sciomc/SKILL.md +12 -11
- package/skills/self-improve/SKILL.md +4 -4
- package/skills/setup/SKILL.md +1 -0
- package/skills/skill/SKILL.md +21 -20
- package/skills/skillify/SKILL.md +34 -3
- package/skills/team/SKILL.md +62 -44
- package/skills/ultraqa/SKILL.md +1 -2
- package/skills/ultrawork/SKILL.md +28 -21
- package/skills/verify/SKILL.md +2 -1
- package/skills/writer-memory/SKILL.md +2 -1
- package/templates/hooks/pre-tool-use.mjs +144 -45
|
@@ -2,28 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
**Skip condition**: If resuming and `lastCompletedStep >= 4`, skip this entire phase.
|
|
4
4
|
|
|
5
|
-
## Quick Mode Behavior
|
|
6
|
-
|
|
7
|
-
If `SETUP_MODE=quick`, apply all defaults non-interactively:
|
|
8
|
-
- **Step 2.1 (HUD)**: Run HUD setup automatically (no prompt needed — it doesn't ask questions)
|
|
9
|
-
- **Step 2.2 (Cache)**: Run cache cleanup automatically
|
|
10
|
-
- **Step 2.3 (Updates)**: Run update check automatically
|
|
11
|
-
- **Step 2.4 (Execution mode)**: Set `ultrawork` automatically (it's the only option)
|
|
12
|
-
- **Step 2.5 (CLI install)**: Auto-install if not already present. Before installing, inform the user: "Installing the OMC CLI (`omcp`) — this enables standalone commands like `omcp team`, `omcp ask`, and `omcp status`." Then run `npm i -g oh-my-copilot` without prompting.
|
|
13
|
-
- **Step 2.6 (Task tool)**: Set `builtin` automatically (only prompt if beads/beads-rust is detected)
|
|
14
|
-
|
|
15
|
-
Then save progress and continue to Phase 3. The rest of this file documents the **interactive mode** behavior.
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
5
|
## Step 2.1: Setup HUD Statusline
|
|
20
6
|
|
|
21
7
|
**Note**: If resuming and `lastCompletedStep >= 3`, skip to Step 2.2.
|
|
22
8
|
|
|
23
|
-
The HUD shows real-time status in
|
|
9
|
+
The HUD shows real-time status in Claude Code's status bar. Delegate all HUD/statusLine setup to the `hud` skill:
|
|
24
10
|
|
|
25
11
|
Use the Skill tool to invoke: `hud` with args: `setup`
|
|
26
12
|
|
|
13
|
+
Do not generate, normalize, or patch `statusLine` paths inline in this phase. This is especially important on Windows, where backslash path handling must stay inside the `hud` skill.
|
|
14
|
+
|
|
27
15
|
This will:
|
|
28
16
|
1. Install the HUD wrapper script to `~/.copilot/hud/omcp-hud.mjs`
|
|
29
17
|
2. Configure `statusLine` in `~/.copilot/settings.json`
|
|
@@ -32,7 +20,7 @@ This will:
|
|
|
32
20
|
After HUD setup completes, save progress:
|
|
33
21
|
```bash
|
|
34
22
|
CONFIG_TYPE=$(jq -r '.configType // "unknown"' ".omcp/state/setup-state.json" 2>/dev/null || echo "unknown")
|
|
35
|
-
bash "${
|
|
23
|
+
bash "${CLAUDE_PLUGIN_ROOT}/scripts/setup-progress.sh" save 3 "$CONFIG_TYPE"
|
|
36
24
|
```
|
|
37
25
|
|
|
38
26
|
## Step 2.2: Clear Stale Plugin Cache
|
|
@@ -56,13 +44,13 @@ const b=p.join(d,'plugins','cache','omc','oh-my-copilot');
|
|
|
56
44
|
try{const vs=f.readdirSync(b).filter(x=>/^\d/.test(x)).sort((a,c)=>a.localeCompare(c,void 0,{numeric:true}));if(vs.length)v=vs[vs.length-1]}catch{}
|
|
57
45
|
// Try .omc-version.json second
|
|
58
46
|
if(v==='')try{const j=JSON.parse(f.readFileSync('.omc-version.json','utf-8'));v=j.version||''}catch{}
|
|
59
|
-
// Try
|
|
60
|
-
if(v==='')for(const c of['.
|
|
47
|
+
// Try CLAUDE.md header third
|
|
48
|
+
if(v==='')for(const c of['.claude/CLAUDE.md',p.join(d,'CLAUDE.md')]){try{const m=f.readFileSync(c,'utf-8').match(/^# oh-my-copilot.*?(v?\d+\.\d+\.\d+)/m);if(m){v=m[1].replace(/^v/,'');break}}catch{}}
|
|
61
49
|
console.log('Installed:',v||'(not found)');
|
|
62
50
|
"
|
|
63
51
|
|
|
64
52
|
# Check npm for latest version
|
|
65
|
-
LATEST_VERSION=$(npm view oh-my-
|
|
53
|
+
LATEST_VERSION=$(npm view oh-my-claude-sisyphus version 2>/dev/null)
|
|
66
54
|
|
|
67
55
|
if [ -n "$INSTALLED_VERSION" ] && [ -n "$LATEST_VERSION" ]; then
|
|
68
56
|
if [ "$INSTALLED_VERSION" != "$LATEST_VERSION" ]; then
|
|
@@ -71,7 +59,7 @@ if [ -n "$INSTALLED_VERSION" ] && [ -n "$LATEST_VERSION" ]; then
|
|
|
71
59
|
echo " Installed: v$INSTALLED_VERSION"
|
|
72
60
|
echo " Latest: v$LATEST_VERSION"
|
|
73
61
|
echo ""
|
|
74
|
-
echo "To update, run:
|
|
62
|
+
echo "To update, run: claude /install-plugin oh-my-copilot"
|
|
75
63
|
else
|
|
76
64
|
echo "You're on the latest version: v$INSTALLED_VERSION"
|
|
77
65
|
fi
|
|
@@ -89,7 +77,7 @@ Use the AskUserQuestion tool to prompt the user:
|
|
|
89
77
|
**Options:**
|
|
90
78
|
1. **ultrawork (maximum capability)** - Uses all agent tiers including Opus for complex tasks. Best for challenging work where quality matters most. (Recommended)
|
|
91
79
|
|
|
92
|
-
Store the preference in `~/.copilot/.
|
|
80
|
+
Store the preference in `~/.copilot/.omcp-config.json`:
|
|
93
81
|
|
|
94
82
|
```bash
|
|
95
83
|
CONFIG_FILE="${COPILOT_CONFIG_DIR:-$HOME/.copilot}/.omc-config.json"
|
|
@@ -110,16 +98,13 @@ echo "Default execution mode set to: USER_CHOICE"
|
|
|
110
98
|
|
|
111
99
|
## Step 2.5: Install OMC CLI Tool
|
|
112
100
|
|
|
113
|
-
The OMC CLI (`
|
|
114
|
-
The `omcp` binary coexists with upstream's `omc` binary (oh-my-claudecode) — no conflict.
|
|
101
|
+
The OMC CLI (`omc` command) provides standalone helper commands such as `omc hud`, `omc teleport`, and `omc team ...`.
|
|
115
102
|
|
|
116
103
|
First, check if the CLI is already installed:
|
|
117
104
|
|
|
118
105
|
```bash
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if command -v omcp &>/dev/null; then
|
|
122
|
-
OMC_CLI_VERSION=$(omcp --version 2>/dev/null | head -1 || echo "installed")
|
|
106
|
+
if command -v omc &>/dev/null; then
|
|
107
|
+
OMC_CLI_VERSION=$(omc --version 2>/dev/null | head -1 || echo "installed")
|
|
123
108
|
echo "OMC CLI already installed: $OMC_CLI_VERSION"
|
|
124
109
|
OMC_CLI_INSTALLED="true"
|
|
125
110
|
else
|
|
@@ -131,31 +116,31 @@ If `OMC_CLI_INSTALLED` is `"true"`, skip the rest of this step.
|
|
|
131
116
|
|
|
132
117
|
If `OMC_CLI_INSTALLED` is `"false"`, use AskUserQuestion:
|
|
133
118
|
|
|
134
|
-
**Question:** "Would you like to install the OMC CLI globally for standalone
|
|
119
|
+
**Question:** "Would you like to install the OMC CLI globally for standalone helper commands? (`omc`, `omc hud`, `omc teleport`)"
|
|
135
120
|
|
|
136
121
|
**Options:**
|
|
137
|
-
1. **Yes (Recommended)** - Install `oh-my-
|
|
138
|
-
2. **No - Skip** - Skip installation (can install manually later with `npm install -g oh-my-
|
|
122
|
+
1. **Yes (Recommended)** - Install `oh-my-claude-sisyphus` via `npm install -g`
|
|
123
|
+
2. **No - Skip** - Skip installation (can install manually later with `npm install -g oh-my-claude-sisyphus`)
|
|
139
124
|
|
|
140
125
|
If user chooses **Yes**:
|
|
141
126
|
|
|
142
127
|
```bash
|
|
143
128
|
if ! command -v npm &>/dev/null; then
|
|
144
129
|
echo "WARNING: npm not found. Cannot install OMC CLI automatically."
|
|
145
|
-
echo "Install Node.js/npm first, then run: npm install -g oh-my-
|
|
130
|
+
echo "Install Node.js/npm first, then run: npm install -g oh-my-claude-sisyphus"
|
|
146
131
|
else
|
|
147
|
-
if npm install -g oh-my-
|
|
132
|
+
if npm install -g oh-my-claude-sisyphus 2>&1; then
|
|
148
133
|
echo "OMC CLI installed successfully."
|
|
149
|
-
if command -v
|
|
150
|
-
OMC_CLI_VERSION=$(
|
|
151
|
-
echo "Verified:
|
|
134
|
+
if command -v omc &>/dev/null; then
|
|
135
|
+
OMC_CLI_VERSION=$(omc --version 2>/dev/null | head -1 || echo "installed")
|
|
136
|
+
echo "Verified: omc $OMC_CLI_VERSION"
|
|
152
137
|
else
|
|
153
|
-
echo "Installed but '
|
|
138
|
+
echo "Installed but 'omc' not on PATH. You may need to restart your shell."
|
|
154
139
|
fi
|
|
155
140
|
else
|
|
156
141
|
echo "WARNING: Failed to install OMC CLI (permission issue or network error)."
|
|
157
|
-
echo "You can install manually later: npm install -g oh-my-
|
|
158
|
-
echo "Or with sudo: sudo npm install -g oh-my-
|
|
142
|
+
echo "You can install manually later: npm install -g oh-my-claude-sisyphus"
|
|
143
|
+
echo "Or with sudo: sudo npm install -g oh-my-claude-sisyphus"
|
|
159
144
|
fi
|
|
160
145
|
fi
|
|
161
146
|
```
|
|
@@ -195,7 +180,7 @@ If beads or beads-rust is detected, use AskUserQuestion:
|
|
|
195
180
|
**Question:** "Which task management tool should I use for tracking work?"
|
|
196
181
|
|
|
197
182
|
**Options:**
|
|
198
|
-
1. **Built-in Tasks (default)** - Use
|
|
183
|
+
1. **Built-in Tasks (default)** - Use Claude Code's native TaskCreate/TodoWrite. Tasks are session-only.
|
|
199
184
|
2. **Beads (bd)** - Git-backed persistent tasks. Survives across sessions. [Only if detected]
|
|
200
185
|
3. **Beads-Rust (br)** - Lightweight Rust port of beads. [Only if detected]
|
|
201
186
|
|
|
@@ -224,5 +209,5 @@ echo "Task tool set to: USER_CHOICE"
|
|
|
224
209
|
|
|
225
210
|
```bash
|
|
226
211
|
CONFIG_TYPE=$(jq -r '.configType // "unknown"' ".omcp/state/setup-state.json" 2>/dev/null || echo "unknown")
|
|
227
|
-
bash "${
|
|
212
|
+
bash "${CLAUDE_PLUGIN_ROOT}/scripts/setup-progress.sh" save 4 "$CONFIG_TYPE"
|
|
228
213
|
```
|
|
@@ -2,27 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
**Skip condition**: If resuming and `lastCompletedStep >= 6`, skip this entire phase.
|
|
4
4
|
|
|
5
|
-
## Quick Mode Behavior
|
|
6
|
-
|
|
7
|
-
If `SETUP_MODE=quick`:
|
|
8
|
-
- **Step 3.1 (Verify plugin)**: Run automatically (no prompt)
|
|
9
|
-
- **Step 3.2 (MCP servers)**: **Always offer** — go straight to MCP configuration without asking "would you like to configure MCP servers?" (jump directly to invoking `/oh-my-copilot:mcp-setup`)
|
|
10
|
-
- **Step 3.3 (Team defaults)**: **Skip** — use defaults (3 agents, executor type)
|
|
11
|
-
- **Azure DevOps**: Still auto-detect and recommend if ADO repo detected
|
|
12
|
-
|
|
13
|
-
Then save progress and continue to Phase 4. The rest of this file documents the **interactive mode** behavior.
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
5
|
## Step 3.1: Verify Plugin Installation
|
|
18
6
|
|
|
19
7
|
```bash
|
|
20
|
-
grep -q "oh-my-copilot"
|
|
8
|
+
grep -q "oh-my-copilot" "${COPILOT_CONFIG_DIR:-$HOME/.copilot}/settings.json" && echo "Plugin verified" || echo "Plugin NOT found - run: claude /install-plugin oh-my-copilot"
|
|
21
9
|
```
|
|
22
10
|
|
|
23
11
|
## Step 3.2: Offer MCP Server Configuration
|
|
24
12
|
|
|
25
|
-
MCP servers extend
|
|
13
|
+
MCP servers extend Claude Code with additional tools (web search, GitHub, etc.).
|
|
26
14
|
|
|
27
15
|
Use AskUserQuestion: "Would you like to configure MCP servers for enhanced capabilities? (Context7, Exa search, GitHub, etc.)"
|
|
28
16
|
|
|
@@ -35,20 +23,86 @@ If no, skip to next step.
|
|
|
35
23
|
|
|
36
24
|
## Step 3.3: Configure Agent Teams (Optional)
|
|
37
25
|
|
|
38
|
-
Agent teams
|
|
26
|
+
Agent teams are an experimental Claude Code feature that lets you spawn N coordinated agents working on a shared task list with inter-agent messaging. **Teams are disabled by default** and require enabling via `settings.json`.
|
|
27
|
+
|
|
28
|
+
Reference: https://code.claude.com/docs/en/agent-teams
|
|
29
|
+
|
|
30
|
+
Use AskUserQuestion:
|
|
31
|
+
|
|
32
|
+
**Question:** "Would you like to enable agent teams? Teams let you spawn coordinated agents (e.g., `/team 3:executor 'fix all errors'`). This is an experimental Claude Code feature."
|
|
33
|
+
|
|
34
|
+
**Options:**
|
|
35
|
+
1. **Yes, enable teams (Recommended)** - Enable the experimental feature and configure defaults
|
|
36
|
+
2. **No, skip** - Leave teams disabled (can enable later)
|
|
37
|
+
|
|
38
|
+
### If User Chooses YES:
|
|
39
|
+
|
|
40
|
+
#### 3.3.1: Enable Agent Teams in settings.json
|
|
41
|
+
|
|
42
|
+
**CRITICAL**: Agent teams require `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` to be set in `~/.copilot/settings.json`. This must be done carefully to preserve existing user settings.
|
|
43
|
+
|
|
44
|
+
First, read the current settings.json:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
SETTINGS_FILE="${COPILOT_CONFIG_DIR:-$HOME/.copilot}/settings.json"
|
|
48
|
+
|
|
49
|
+
if [ -f "$SETTINGS_FILE" ]; then
|
|
50
|
+
echo "Current settings.json found"
|
|
51
|
+
cat "$SETTINGS_FILE"
|
|
52
|
+
else
|
|
53
|
+
echo "No settings.json found - will create one"
|
|
54
|
+
fi
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Then use the Read tool to read `${COPILOT_CONFIG_DIR:-~/.copilot}/settings.json` (if it exists). Use the Edit tool to merge the teams configuration while preserving ALL existing settings.
|
|
58
|
+
|
|
59
|
+
Use jq to safely merge without overwriting existing settings:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
SETTINGS_FILE="${COPILOT_CONFIG_DIR:-$HOME/.copilot}/settings.json"
|
|
63
|
+
|
|
64
|
+
if [ -f "$SETTINGS_FILE" ]; then
|
|
65
|
+
TEMP_FILE=$(mktemp)
|
|
66
|
+
jq '.env = (.env // {} | . + {"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"})' "$SETTINGS_FILE" > "$TEMP_FILE" && mv "$TEMP_FILE" "$SETTINGS_FILE"
|
|
67
|
+
echo "Added CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS to existing settings.json"
|
|
68
|
+
else
|
|
69
|
+
mkdir -p "$(dirname "$SETTINGS_FILE")"
|
|
70
|
+
cat > "$SETTINGS_FILE" << 'SETTINGS_EOF'
|
|
71
|
+
{
|
|
72
|
+
"env": {
|
|
73
|
+
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
SETTINGS_EOF
|
|
77
|
+
echo "Created settings.json with teams enabled"
|
|
78
|
+
fi
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**IMPORTANT**: The Edit tool is preferred for modifying settings.json when possible, since it preserves formatting and comments. The jq approach above is the fallback for when the file needs structural merging.
|
|
82
|
+
|
|
83
|
+
#### 3.3.2: Configure Teammate Display Mode
|
|
39
84
|
|
|
40
85
|
Use AskUserQuestion:
|
|
41
86
|
|
|
42
|
-
**Question:** "
|
|
87
|
+
**Question:** "How should teammates be displayed?"
|
|
43
88
|
|
|
44
89
|
**Options:**
|
|
45
|
-
1. **
|
|
46
|
-
2. **
|
|
47
|
-
3. **
|
|
90
|
+
1. **Auto (Recommended)** - Uses split panes if in tmux, otherwise in-process. Best for most users.
|
|
91
|
+
2. **In-process** - All teammates in your main terminal. Use Shift+Up/Down to select. Works everywhere.
|
|
92
|
+
3. **Split panes (tmux)** - Each teammate in its own pane. Requires tmux or iTerm2.
|
|
93
|
+
|
|
94
|
+
If user chooses anything other than "Auto", add `teammateMode` to settings.json:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
SETTINGS_FILE="${COPILOT_CONFIG_DIR:-$HOME/.copilot}/settings.json"
|
|
48
98
|
|
|
49
|
-
|
|
99
|
+
# TEAMMATE_MODE is "in-process" or "tmux" based on user choice
|
|
100
|
+
# Skip this if user chose "Auto" (that's the default)
|
|
101
|
+
jq --arg mode "TEAMMATE_MODE" '. + {teammateMode: $mode}' "$SETTINGS_FILE" > "${SETTINGS_FILE}.tmp" && mv "${SETTINGS_FILE}.tmp" "$SETTINGS_FILE"
|
|
102
|
+
echo "Teammate display mode set to: TEAMMATE_MODE"
|
|
103
|
+
```
|
|
50
104
|
|
|
51
|
-
#### 3.3.
|
|
105
|
+
#### 3.3.3: Configure Team Defaults in omc-config
|
|
52
106
|
|
|
53
107
|
Use AskUserQuestion with multiple questions:
|
|
54
108
|
|
|
@@ -66,7 +120,7 @@ Use AskUserQuestion with multiple questions:
|
|
|
66
120
|
2. **codex** - Use Codex CLI workers by default when installed
|
|
67
121
|
3. **gemini** - Use Gemini CLI workers by default when installed
|
|
68
122
|
|
|
69
|
-
Store the team configuration in `~/.copilot/.
|
|
123
|
+
Store the team configuration in `~/.copilot/.omcp-config.json`:
|
|
70
124
|
|
|
71
125
|
```bash
|
|
72
126
|
CONFIG_FILE="${COPILOT_CONFIG_DIR:-$HOME/.copilot}/.omc-config.json"
|
|
@@ -90,72 +144,49 @@ echo " Default provider: AGENT_TYPE"
|
|
|
90
144
|
echo " Model: teammates inherit your session model"
|
|
91
145
|
```
|
|
92
146
|
|
|
93
|
-
|
|
147
|
+
**Note:** Teammates do not have a separate model default. Each teammate is a full Claude Code session that inherits your configured model. Subagents spawned by teammates can use any model tier.
|
|
94
148
|
|
|
95
|
-
|
|
149
|
+
#### Verify settings.json Integrity
|
|
150
|
+
|
|
151
|
+
After all modifications, verify settings.json is valid JSON and contains the expected keys:
|
|
96
152
|
|
|
97
153
|
```bash
|
|
98
|
-
|
|
154
|
+
SETTINGS_FILE="${COPILOT_CONFIG_DIR:-$HOME/.copilot}/settings.json"
|
|
99
155
|
|
|
100
|
-
if
|
|
101
|
-
echo "
|
|
102
|
-
jq '.team' "$CONFIG_FILE"
|
|
156
|
+
if jq empty "$SETTINGS_FILE" 2>/dev/null; then
|
|
157
|
+
echo "settings.json: valid JSON"
|
|
103
158
|
else
|
|
104
|
-
echo "
|
|
159
|
+
echo "ERROR: settings.json is invalid JSON! Restoring from backup..."
|
|
160
|
+
exit 1
|
|
105
161
|
fi
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### If User Chooses Keep Defaults or Skip:
|
|
109
162
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
### Azure DevOps MCP Server
|
|
117
|
-
For enhanced ADO integration with MCP tools (work items, repos, pipelines, wiki, test plans):
|
|
163
|
+
if jq -e '.env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS' "$SETTINGS_FILE" > /dev/null 2>&1; then
|
|
164
|
+
echo "Agent teams: ENABLED"
|
|
165
|
+
else
|
|
166
|
+
echo "WARNING: Agent teams env var not found in settings.json"
|
|
167
|
+
fi
|
|
118
168
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
169
|
+
echo ""
|
|
170
|
+
echo "Final settings.json:"
|
|
171
|
+
jq '.' "$SETTINGS_FILE"
|
|
122
172
|
```
|
|
123
173
|
|
|
124
|
-
|
|
174
|
+
### If User Chooses NO:
|
|
175
|
+
|
|
176
|
+
Skip this step. Agent teams will remain disabled. User can enable later by adding to `~/.copilot/settings.json`:
|
|
125
177
|
```json
|
|
126
178
|
{
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"command": "npx",
|
|
130
|
-
"args": ["-y", "@microsoft/azure-devops-mcp"],
|
|
131
|
-
"env": {
|
|
132
|
-
"AZURE_DEVOPS_ORG": "https://dev.azure.com/{your-org}",
|
|
133
|
-
"AZURE_DEVOPS_PROJECT": "{your-project}"
|
|
134
|
-
}
|
|
135
|
-
}
|
|
179
|
+
"env": {
|
|
180
|
+
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
|
|
136
181
|
}
|
|
137
182
|
}
|
|
138
183
|
```
|
|
139
184
|
|
|
140
|
-
|
|
141
|
-
If you work with Azure cloud services beyond DevOps (compute, storage, AI, networking, security, deployment), install the azure-skills plugin:
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
# Install azure-skills plugin for Copilot CLI
|
|
145
|
-
copilot plugin install microsoft/azure-skills
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
This provides 24 specialized skills for Azure cloud operations. oh-my-copilot handles ADO orchestration; azure-skills handles the Azure cloud layer. They are complementary.
|
|
149
|
-
|
|
150
|
-
### Run ADO Setup
|
|
151
|
-
After installing the MCP server, configure your project:
|
|
152
|
-
```
|
|
153
|
-
/oh-my-copilot:omc-ado-setup
|
|
154
|
-
```
|
|
185
|
+
Or by running `/oh-my-copilot:omc-setup --force` and choosing to enable teams.
|
|
155
186
|
|
|
156
187
|
## Save Progress
|
|
157
188
|
|
|
158
189
|
```bash
|
|
159
190
|
CONFIG_TYPE=$(jq -r '.configType // "unknown"' ".omcp/state/setup-state.json" 2>/dev/null || echo "unknown")
|
|
160
|
-
bash "${
|
|
191
|
+
bash "${CLAUDE_PLUGIN_ROOT}/scripts/setup-progress.sh" save 6 "$CONFIG_TYPE"
|
|
161
192
|
```
|
|
@@ -1,50 +1,108 @@
|
|
|
1
1
|
# Phase 4: Completion
|
|
2
2
|
|
|
3
|
+
## Detect Upgrade from 2.x
|
|
4
|
+
|
|
5
|
+
Check if user has existing 2.x configuration:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ls "${COPILOT_CONFIG_DIR:-$HOME/.copilot}"/commands/ralph-loop.md 2>/dev/null || ls "${COPILOT_CONFIG_DIR:-$HOME/.copilot}"/commands/ultrawork.md 2>/dev/null
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
If found, this is an upgrade from 2.x. Set `IS_UPGRADE=true`.
|
|
12
|
+
|
|
3
13
|
## Show Welcome Message
|
|
4
14
|
|
|
5
|
-
|
|
15
|
+
### For New Users (IS_UPGRADE is not true):
|
|
6
16
|
|
|
7
17
|
```
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
18
|
+
OMC Setup Complete!
|
|
19
|
+
|
|
20
|
+
You don't need to learn any commands. I now have intelligent behaviors that activate automatically.
|
|
21
|
+
|
|
22
|
+
WHAT HAPPENS AUTOMATICALLY:
|
|
23
|
+
- Complex tasks -> I parallelize and delegate to specialists
|
|
24
|
+
- "plan this" -> I start a planning interview
|
|
25
|
+
- "don't stop until done" -> I persist until verified complete
|
|
26
|
+
- "stop" or "cancel" -> I intelligently stop current operation
|
|
27
|
+
|
|
28
|
+
MAGIC KEYWORDS (optional power-user shortcuts):
|
|
29
|
+
Just include these words naturally in your request:
|
|
30
|
+
|
|
31
|
+
| Keyword | Effect | Example |
|
|
32
|
+
|---------|--------|---------|
|
|
33
|
+
| ralph | Persistence mode | "ralph: fix the auth bug" |
|
|
34
|
+
| ralplan | Iterative planning | "ralplan this feature" |
|
|
35
|
+
| ulw | Max parallelism | "ulw refactor the API" |
|
|
36
|
+
| plan | Planning interview | "plan the new endpoints" |
|
|
37
|
+
| team | Coordinated agents | "/team 3:executor fix errors" |
|
|
38
|
+
|
|
39
|
+
**ralph includes ultrawork:** When you activate ralph mode, it automatically includes ultrawork's parallel execution. No need to combine keywords.
|
|
40
|
+
|
|
41
|
+
TEAMS:
|
|
42
|
+
Spawn coordinated agents with shared task lists and real-time messaging:
|
|
43
|
+
- /oh-my-copilot:team 3:executor "fix all TypeScript errors"
|
|
44
|
+
- /oh-my-copilot:team 5:debugger "fix build errors in src/"
|
|
45
|
+
Teams use Claude Code native tools (TeamCreate/SendMessage/TaskCreate).
|
|
46
|
+
|
|
47
|
+
MCP SERVERS:
|
|
48
|
+
Run /oh-my-copilot:mcp-setup to add tools like web search, GitHub, etc.
|
|
49
|
+
|
|
50
|
+
HUD STATUSLINE:
|
|
51
|
+
The status bar now shows OMC state. Restart Claude Code to see it.
|
|
52
|
+
|
|
53
|
+
OMC CLI HELPERS (if installed):
|
|
54
|
+
- omc hud - Render the current HUD statusline
|
|
55
|
+
- omc teleport - Create an isolated git worktree
|
|
56
|
+
- omc team status - Inspect a running team job
|
|
57
|
+
- Session summaries are written to `.omcp/sessions/*.json`
|
|
58
|
+
|
|
59
|
+
That's it! Just use Claude Code normally.
|
|
36
60
|
```
|
|
37
61
|
|
|
38
|
-
|
|
62
|
+
### For Users Upgrading from 2.x (IS_UPGRADE is true):
|
|
39
63
|
|
|
40
64
|
```
|
|
65
|
+
OMC Setup Complete! (Upgraded from 2.x)
|
|
66
|
+
|
|
67
|
+
GOOD NEWS: Your existing commands still work!
|
|
68
|
+
- /ralph, /ultrawork, /omc-plan, etc. all still function
|
|
69
|
+
|
|
70
|
+
WHAT'S NEW in 3.0:
|
|
71
|
+
You no longer NEED those commands. Everything is automatic now:
|
|
72
|
+
- Just say "don't stop until done" instead of /ralph
|
|
73
|
+
- Just say "fast" or "parallel" instead of /ultrawork
|
|
74
|
+
- Just say "plan this" instead of /omc-plan
|
|
75
|
+
- Just say "stop" instead of /cancel
|
|
76
|
+
|
|
77
|
+
MAGIC KEYWORDS (power-user shortcuts):
|
|
78
|
+
| Keyword | Same as old... | Example |
|
|
79
|
+
|---------|----------------|---------|
|
|
80
|
+
| ralph | /ralph | "ralph: fix the bug" |
|
|
81
|
+
| ralplan | /ralplan | "ralplan this feature" |
|
|
82
|
+
| ulw | /ultrawork | "ulw refactor API" |
|
|
83
|
+
| omc-plan | /omc-plan | "plan the endpoints" |
|
|
84
|
+
| team | (new!) | "/team 3:executor fix errors" |
|
|
85
|
+
|
|
86
|
+
TEAMS (NEW!):
|
|
87
|
+
Spawn coordinated agents with shared task lists and real-time messaging:
|
|
88
|
+
- /oh-my-copilot:team 3:executor "fix all TypeScript errors"
|
|
89
|
+
- Uses Claude Code native tools (TeamCreate/SendMessage/TaskCreate)
|
|
90
|
+
|
|
41
91
|
HUD STATUSLINE:
|
|
42
|
-
The status bar now shows OMC state. Restart
|
|
92
|
+
The status bar now shows OMC state. Restart Claude Code to see it.
|
|
93
|
+
|
|
94
|
+
OMC CLI HELPERS (if installed):
|
|
95
|
+
- omc hud - Render the current HUD statusline
|
|
96
|
+
- omc teleport - Create an isolated git worktree
|
|
97
|
+
- omc team status - Inspect a running team job
|
|
98
|
+
- Session summaries are written to `.omcp/sessions/*.json`
|
|
99
|
+
|
|
100
|
+
Your workflow won't break - it just got easier!
|
|
43
101
|
```
|
|
44
102
|
|
|
45
103
|
## Optional Rule Templates
|
|
46
104
|
|
|
47
|
-
OMC includes rule templates you can copy to your project's `.
|
|
105
|
+
OMC includes rule templates you can copy to your project's `.claude/rules/` directory for automatic context injection:
|
|
48
106
|
|
|
49
107
|
| Template | Purpose |
|
|
50
108
|
|----------|---------|
|
|
@@ -57,8 +115,8 @@ OMC includes rule templates you can copy to your project's `.copilot/rules/` dir
|
|
|
57
115
|
|
|
58
116
|
Copy with:
|
|
59
117
|
```bash
|
|
60
|
-
mkdir -p .
|
|
61
|
-
cp "${
|
|
118
|
+
mkdir -p .claude/rules
|
|
119
|
+
cp "${CLAUDE_PLUGIN_ROOT}/templates/rules/"*.md .claude/rules/
|
|
62
120
|
```
|
|
63
121
|
|
|
64
122
|
See `templates/rules/README.md` for details.
|
|
@@ -76,7 +134,7 @@ gh auth status &>/dev/null
|
|
|
76
134
|
**Before prompting, check if the repository is already starred:**
|
|
77
135
|
|
|
78
136
|
```bash
|
|
79
|
-
gh api user/starred/
|
|
137
|
+
gh api user/starred/Yeachan-Heo/oh-my-copilot &>/dev/null
|
|
80
138
|
```
|
|
81
139
|
|
|
82
140
|
**If already starred (exit code 0):**
|
|
@@ -97,7 +155,7 @@ Use AskUserQuestion:
|
|
|
97
155
|
If user chooses "Yes, star it!":
|
|
98
156
|
|
|
99
157
|
```bash
|
|
100
|
-
gh api -X PUT /user/starred/
|
|
158
|
+
gh api -X PUT /user/starred/Yeachan-Heo/oh-my-copilot 2>/dev/null && echo "Thanks for starring!" || true
|
|
101
159
|
```
|
|
102
160
|
|
|
103
161
|
**Note:** Fail silently if the API call doesn't work - never block setup completion.
|
|
@@ -107,7 +165,7 @@ gh api -X PUT /user/starred/RobinNorberg/oh-my-copilot 2>/dev/null && echo "Than
|
|
|
107
165
|
```bash
|
|
108
166
|
echo ""
|
|
109
167
|
echo "If you enjoy oh-my-copilot, consider starring the repo:"
|
|
110
|
-
echo " https://github.com/
|
|
168
|
+
echo " https://github.com/Yeachan-Heo/oh-my-copilot"
|
|
111
169
|
echo ""
|
|
112
170
|
```
|
|
113
171
|
|
|
@@ -116,19 +174,19 @@ echo ""
|
|
|
116
174
|
Get the current OMC version and mark setup complete:
|
|
117
175
|
|
|
118
176
|
```bash
|
|
119
|
-
# Get current OMC version from
|
|
177
|
+
# Get current OMC version from CLAUDE.md
|
|
120
178
|
OMC_VERSION=""
|
|
121
|
-
if [ -f ".
|
|
122
|
-
OMC_VERSION=$(grep -m1 'OMC:VERSION:' .
|
|
123
|
-
elif [ -f "${COPILOT_CONFIG_DIR:-$HOME/.copilot}/
|
|
124
|
-
OMC_VERSION=$(grep -m1 'OMC:VERSION:' "${COPILOT_CONFIG_DIR:-$HOME/.copilot}/
|
|
179
|
+
if [ -f ".claude/CLAUDE.md" ]; then
|
|
180
|
+
OMC_VERSION=$(grep -m1 'OMC:VERSION:' .claude/CLAUDE.md 2>/dev/null | sed -E 's/.*OMC:VERSION:([^ ]+).*/\1/' || true)
|
|
181
|
+
elif [ -f "${COPILOT_CONFIG_DIR:-$HOME/.copilot}/CLAUDE.md" ]; then
|
|
182
|
+
OMC_VERSION=$(grep -m1 'OMC:VERSION:' "${COPILOT_CONFIG_DIR:-$HOME/.copilot}/CLAUDE.md" 2>/dev/null | sed -E 's/.*OMC:VERSION:([^ ]+).*/\1/' || true)
|
|
125
183
|
fi
|
|
126
184
|
if [ -z "$OMC_VERSION" ]; then
|
|
127
|
-
OMC_VERSION=$(
|
|
185
|
+
OMC_VERSION=$(omc --version 2>/dev/null | head -1 || true)
|
|
128
186
|
fi
|
|
129
187
|
if [ -z "$OMC_VERSION" ]; then
|
|
130
188
|
OMC_VERSION="unknown"
|
|
131
189
|
fi
|
|
132
190
|
|
|
133
|
-
bash "${
|
|
191
|
+
bash "${CLAUDE_PLUGIN_ROOT}/scripts/setup-progress.sh" complete "$OMC_VERSION"
|
|
134
192
|
```
|