@openrig/cli 0.1.8 → 0.1.10
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/daemon/dist/adapters/claude-code-adapter.d.ts +14 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +103 -8
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/cmux-transport.d.ts +7 -2
- package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux-transport.js +149 -24
- package/daemon/dist/adapters/cmux-transport.js.map +1 -1
- package/daemon/dist/adapters/cmux.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux.js +1 -0
- package/daemon/dist/adapters/cmux.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +11 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +65 -7
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/graph-projection.d.ts +2 -2
- package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +11 -0
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.js +10 -0
- package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
- package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-codec.js +2 -0
- package/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +28 -0
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/session-registry.d.ts +1 -1
- package/daemon/dist/domain/session-registry.d.ts.map +1 -1
- package/daemon/dist/domain/session-registry.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +21 -22
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +6 -2
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +14 -0
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +411 -0
- package/daemon/docs/reference/agent-startup-guide.md +358 -0
- package/daemon/docs/reference/edge-types.md +126 -0
- package/daemon/docs/reference/rig-bundle.md +367 -0
- package/daemon/docs/reference/rig-spec.md +479 -0
- package/daemon/specs/agents/product-management/pm/agent.yaml +37 -0
- package/daemon/specs/agents/product-management/pm/guidance/role.md +43 -0
- package/daemon/specs/agents/shared/agent.yaml +17 -0
- package/daemon/specs/agents/shared/skills/pm/backlog-capture/SKILL.md +43 -0
- package/daemon/specs/agents/shared/skills/pm/context-builder/SKILL.md +87 -0
- package/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md +84 -0
- package/daemon/specs/agents/shared/skills/pm/office-hours/SKILL.md +129 -0
- package/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md +98 -0
- package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +113 -0
- package/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md +76 -0
- package/daemon/specs/agents/shared/skills/rig-architect/SKILL.md +342 -0
- package/daemon/specs/rigs/focused/pm-team/CULTURE.md +17 -0
- package/daemon/specs/rigs/focused/pm-team/rig.yaml +51 -0
- package/dist/bin-wrapper.js +0 -0
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +3 -2
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/doctor.d.ts +6 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +53 -10
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/setup.d.ts +48 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +457 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/daemon-lifecycle.d.ts +7 -0
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +116 -19
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/ui/dist/assets/index-DlMH-REm.css +1 -0
- package/ui/dist/assets/{index-CXZYxZbF.js → index-lEO-zBxz.js} +26 -26
- package/ui/dist/index.html +2 -2
- package/dist/commands/claim.d.ts +0 -4
- package/dist/commands/claim.d.ts.map +0 -1
- package/dist/commands/claim.js +0 -40
- package/dist/commands/claim.js.map +0 -1
- package/ui/dist/assets/index-BsXbqPEl.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { type DoctorDeps } from "./doctor.js";
|
|
3
|
+
export interface SetupStep {
|
|
4
|
+
id: string;
|
|
5
|
+
status: "pass" | "applied" | "warn" | "fail" | "skipped";
|
|
6
|
+
message: string;
|
|
7
|
+
reason?: string;
|
|
8
|
+
fixHint?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface VerificationCheck {
|
|
11
|
+
name: string;
|
|
12
|
+
status: "pass" | "warn" | "fail" | "skipped";
|
|
13
|
+
message: string;
|
|
14
|
+
reason?: string;
|
|
15
|
+
fix?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface RuntimeConfigDisclosure {
|
|
18
|
+
scope: "global" | "project";
|
|
19
|
+
runtime: "claude-code" | "codex";
|
|
20
|
+
path: string;
|
|
21
|
+
purpose: string;
|
|
22
|
+
}
|
|
23
|
+
export interface SetupResult {
|
|
24
|
+
profile: "core" | "full";
|
|
25
|
+
platform: string;
|
|
26
|
+
ready: boolean;
|
|
27
|
+
steps: SetupStep[];
|
|
28
|
+
runtimeConfig: RuntimeConfigDisclosure[];
|
|
29
|
+
verification?: {
|
|
30
|
+
checks: VerificationCheck[];
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface SetupDeps {
|
|
34
|
+
exec: (cmd: string, opts?: {
|
|
35
|
+
timeoutMs?: number;
|
|
36
|
+
}) => string;
|
|
37
|
+
readFile: (path: string) => string | null;
|
|
38
|
+
writeFile: (path: string, content: string) => void;
|
|
39
|
+
exists: (path: string) => boolean;
|
|
40
|
+
platform?: NodeJS.Platform;
|
|
41
|
+
}
|
|
42
|
+
export declare function runSetup(deps: SetupDeps, opts: {
|
|
43
|
+
dryRun?: boolean;
|
|
44
|
+
full?: boolean;
|
|
45
|
+
doctorDeps?: DoctorDeps;
|
|
46
|
+
}): Promise<SetupResult>;
|
|
47
|
+
export declare function setupCommand(depsOverride?: SetupDeps): Command;
|
|
48
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAI/D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,aAAa,EAAE,uBAAuB,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE;QACb,MAAM,EAAE,iBAAiB,EAAE,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IAC7D,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC5B;AAyGD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CA0RzI;AAyBD,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,SAAS,GAAG,OAAO,CAsC9D"}
|
|
@@ -0,0 +1,457 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { execSync } from "node:child_process";
|
|
3
|
+
import { readFileSync, writeFileSync, existsSync, accessSync, constants, mkdirSync } from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { runDoctorChecks } from "./doctor.js";
|
|
6
|
+
import { ConfigStore } from "../config-store.js";
|
|
7
|
+
const DEFAULT_COMMAND_TIMEOUT_MS = 30_000;
|
|
8
|
+
const INSTALL_COMMAND_TIMEOUT_MS = 5 * 60_000;
|
|
9
|
+
const CMUX_READY_ATTEMPTS = 5;
|
|
10
|
+
const CMUX_READY_DELAY_MS = 1_000;
|
|
11
|
+
const CORE_STEP_IDS = [
|
|
12
|
+
"brew",
|
|
13
|
+
"tmux_install",
|
|
14
|
+
"cmux_install",
|
|
15
|
+
"claude_install",
|
|
16
|
+
"claude_auth",
|
|
17
|
+
"codex_install",
|
|
18
|
+
"codex_auth",
|
|
19
|
+
"tmux_config",
|
|
20
|
+
"verify",
|
|
21
|
+
];
|
|
22
|
+
const FULL_EXTRA_STEP_IDS = ["jq_install", "gh_install"];
|
|
23
|
+
const RUNTIME_CONFIG_DISCLOSURE = [
|
|
24
|
+
{
|
|
25
|
+
scope: "global",
|
|
26
|
+
runtime: "claude-code",
|
|
27
|
+
path: "~/.claude/settings.json",
|
|
28
|
+
purpose: "Allow OpenRig commands without Claude permission prompts.",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
scope: "global",
|
|
32
|
+
runtime: "claude-code",
|
|
33
|
+
path: "~/.claude.json",
|
|
34
|
+
purpose: "Pre-trust managed workspaces and mark Claude onboarding complete.",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
scope: "project",
|
|
38
|
+
runtime: "claude-code",
|
|
39
|
+
path: ".claude/settings.local.json",
|
|
40
|
+
purpose: "Apply managed-session Claude permissions and context-collector statusLine config within the project.",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
scope: "project",
|
|
44
|
+
runtime: "claude-code",
|
|
45
|
+
path: ".mcp.json",
|
|
46
|
+
purpose: "Configure project-local MCP servers for Claude-managed workspaces.",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
scope: "global",
|
|
50
|
+
runtime: "codex",
|
|
51
|
+
path: "~/.codex/config.toml",
|
|
52
|
+
purpose: "Pre-trust managed workspaces and configure Codex MCP servers.",
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
function defaultDeps() {
|
|
56
|
+
return {
|
|
57
|
+
exec: (cmd, opts) => execSync(cmd, {
|
|
58
|
+
encoding: "utf-8",
|
|
59
|
+
timeout: opts?.timeoutMs ?? DEFAULT_COMMAND_TIMEOUT_MS,
|
|
60
|
+
}),
|
|
61
|
+
readFile: (p) => { try {
|
|
62
|
+
return readFileSync(p, "utf-8");
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return null;
|
|
66
|
+
} },
|
|
67
|
+
writeFile: (p, c) => writeFileSync(p, c, "utf-8"),
|
|
68
|
+
exists: (p) => existsSync(p),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function installCommand(deps, cmd) {
|
|
72
|
+
return deps.exec(cmd, { timeoutMs: INSTALL_COMMAND_TIMEOUT_MS });
|
|
73
|
+
}
|
|
74
|
+
function sleep(ms) {
|
|
75
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
76
|
+
}
|
|
77
|
+
async function waitForCmuxCapabilities(deps, attempts = CMUX_READY_ATTEMPTS) {
|
|
78
|
+
for (let index = 0; index < attempts; index += 1) {
|
|
79
|
+
try {
|
|
80
|
+
deps.exec("cmux capabilities --json");
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
if (index < attempts - 1) {
|
|
85
|
+
await sleep(CMUX_READY_DELAY_MS);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
async function tryEnableCmuxControl(deps, platform) {
|
|
92
|
+
if (platform !== "darwin")
|
|
93
|
+
return false;
|
|
94
|
+
try {
|
|
95
|
+
deps.exec("defaults write com.cmuxterm.app socketControlMode -string automation");
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// Best effort: if defaults write fails, the follow-up capability probe will surface it honestly.
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
deps.exec("open -a /Applications/cmux.app");
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
// Best effort: cmux may already be running or the app open may be blocked; capability probe decides readiness.
|
|
105
|
+
}
|
|
106
|
+
return waitForCmuxCapabilities(deps);
|
|
107
|
+
}
|
|
108
|
+
export async function runSetup(deps, opts) {
|
|
109
|
+
const profile = opts.full ? "full" : "core";
|
|
110
|
+
const platform = deps.platform ?? process.platform;
|
|
111
|
+
const stepIds = opts.full ? [...CORE_STEP_IDS, ...FULL_EXTRA_STEP_IDS] : [...CORE_STEP_IDS];
|
|
112
|
+
const steps = [];
|
|
113
|
+
if (opts.dryRun) {
|
|
114
|
+
for (const id of stepIds) {
|
|
115
|
+
steps.push({ id, status: "skipped", message: `Dry run: ${id} would be attempted.` });
|
|
116
|
+
}
|
|
117
|
+
return { profile, platform, ready: false, steps, runtimeConfig: RUNTIME_CONFIG_DISCLOSURE };
|
|
118
|
+
}
|
|
119
|
+
// Core steps
|
|
120
|
+
// 1. Homebrew (macOS-first setup path)
|
|
121
|
+
let brewOk = false;
|
|
122
|
+
if (platform !== "darwin") {
|
|
123
|
+
steps.push({
|
|
124
|
+
id: "brew",
|
|
125
|
+
status: "skipped",
|
|
126
|
+
message: "Skipped: Homebrew setup path is only used on macOS.",
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
try {
|
|
131
|
+
deps.exec("brew --version");
|
|
132
|
+
brewOk = true;
|
|
133
|
+
steps.push({ id: "brew", status: "pass", message: "Homebrew available." });
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
steps.push({
|
|
137
|
+
id: "brew",
|
|
138
|
+
status: "fail",
|
|
139
|
+
message: "Homebrew not found.",
|
|
140
|
+
reason: "Homebrew is required to install tmux and cmux on macOS.",
|
|
141
|
+
fixHint: "Install Homebrew: https://brew.sh",
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// 2. tmux
|
|
146
|
+
try {
|
|
147
|
+
deps.exec("tmux -V");
|
|
148
|
+
steps.push({ id: "tmux_install", status: "pass", message: "tmux available." });
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
if (!brewOk) {
|
|
152
|
+
steps.push({ id: "tmux_install", status: "skipped", message: "Skipped: Homebrew not available.", reason: "tmux install requires Homebrew." });
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
try {
|
|
156
|
+
installCommand(deps, "brew install tmux");
|
|
157
|
+
steps.push({ id: "tmux_install", status: "applied", message: "Installed tmux with Homebrew." });
|
|
158
|
+
}
|
|
159
|
+
catch (err) {
|
|
160
|
+
steps.push({ id: "tmux_install", status: "fail", message: `Failed to install tmux: ${err.message}` });
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
// 3. cmux
|
|
165
|
+
if (await waitForCmuxCapabilities(deps, 1)) {
|
|
166
|
+
steps.push({ id: "cmux_install", status: "pass", message: "cmux available." });
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
try {
|
|
170
|
+
deps.exec("cmux --help");
|
|
171
|
+
if (await tryEnableCmuxControl(deps, platform)) {
|
|
172
|
+
steps.push({
|
|
173
|
+
id: "cmux_install",
|
|
174
|
+
status: "applied",
|
|
175
|
+
message: "Enabled cmux socket control.",
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
steps.push({
|
|
180
|
+
id: "cmux_install",
|
|
181
|
+
status: platform === "darwin" ? "fail" : "warn",
|
|
182
|
+
message: "cmux installed but control unavailable.",
|
|
183
|
+
reason: "Open CMUX workflows need cmux socket control to be enabled.",
|
|
184
|
+
fixHint: "Open cmux, approve any first-run prompts, and rerun `rig setup` or `rig doctor`.",
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
if (!brewOk) {
|
|
190
|
+
steps.push({ id: "cmux_install", status: "skipped", message: "Skipped: Homebrew not available." });
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
try {
|
|
194
|
+
installCommand(deps, "brew install --cask cmux");
|
|
195
|
+
if (await tryEnableCmuxControl(deps, platform) || await waitForCmuxCapabilities(deps, 1)) {
|
|
196
|
+
steps.push({ id: "cmux_install", status: "applied", message: "Installed cmux with Homebrew." });
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
steps.push({
|
|
200
|
+
id: "cmux_install",
|
|
201
|
+
status: platform === "darwin" ? "fail" : "warn",
|
|
202
|
+
message: "Installed cmux, but control is still unavailable.",
|
|
203
|
+
reason: "Open CMUX workflows need the cmux app to expose socket control after installation.",
|
|
204
|
+
fixHint: "Open cmux, approve any first-run prompts, and rerun `rig setup` or `rig doctor`.",
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
catch (err) {
|
|
209
|
+
steps.push({
|
|
210
|
+
id: "cmux_install",
|
|
211
|
+
status: "fail",
|
|
212
|
+
message: `Failed to install cmux: ${err.message}`,
|
|
213
|
+
reason: "Open CMUX workflows stay unavailable until the cmux app and CLI are installed.",
|
|
214
|
+
fixHint: "Retry `brew install --cask cmux` after connectivity stabilizes, or install cmux manually.",
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
// 4. tmux config
|
|
221
|
+
// 4. Claude Code runtime
|
|
222
|
+
let claudeInstalled = false;
|
|
223
|
+
try {
|
|
224
|
+
deps.exec("claude --version");
|
|
225
|
+
claudeInstalled = true;
|
|
226
|
+
steps.push({ id: "claude_install", status: "pass", message: "Claude Code available." });
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
try {
|
|
230
|
+
installCommand(deps, "npm install -g @anthropic-ai/claude-code");
|
|
231
|
+
deps.exec("claude --version");
|
|
232
|
+
claudeInstalled = true;
|
|
233
|
+
steps.push({ id: "claude_install", status: "applied", message: "Installed Claude Code with npm." });
|
|
234
|
+
}
|
|
235
|
+
catch (err) {
|
|
236
|
+
steps.push({
|
|
237
|
+
id: "claude_install",
|
|
238
|
+
status: "fail",
|
|
239
|
+
message: `Failed to install Claude Code: ${err.message}`,
|
|
240
|
+
reason: "The demo rig launches Claude Code nodes, so the Claude CLI must be installed on this machine.",
|
|
241
|
+
fixHint: "Install Claude Code with `npm install -g @anthropic-ai/claude-code`.",
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (claudeInstalled) {
|
|
246
|
+
try {
|
|
247
|
+
deps.exec("claude auth status");
|
|
248
|
+
steps.push({ id: "claude_auth", status: "pass", message: "Claude Code authentication available." });
|
|
249
|
+
}
|
|
250
|
+
catch (err) {
|
|
251
|
+
steps.push({
|
|
252
|
+
id: "claude_auth",
|
|
253
|
+
status: "fail",
|
|
254
|
+
message: `Claude Code is installed but not ready to launch: ${err.message}`,
|
|
255
|
+
reason: "The demo rig cannot launch Claude Code nodes until the Claude CLI is logged in and usable.",
|
|
256
|
+
fixHint: "Run `claude auth login` or open `claude` once to complete authentication, then rerun `rig setup` or `rig doctor`.",
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
steps.push({
|
|
262
|
+
id: "claude_auth",
|
|
263
|
+
status: "skipped",
|
|
264
|
+
message: "Skipped: Claude Code is not installed.",
|
|
265
|
+
reason: "Authentication cannot be checked until the Claude Code CLI is installed.",
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
// 5. Codex runtime
|
|
269
|
+
let codexInstalled = false;
|
|
270
|
+
try {
|
|
271
|
+
deps.exec("codex --version");
|
|
272
|
+
codexInstalled = true;
|
|
273
|
+
steps.push({ id: "codex_install", status: "pass", message: "Codex available." });
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
try {
|
|
277
|
+
installCommand(deps, "npm install -g @openai/codex");
|
|
278
|
+
deps.exec("codex --version");
|
|
279
|
+
codexInstalled = true;
|
|
280
|
+
steps.push({ id: "codex_install", status: "applied", message: "Installed Codex with npm." });
|
|
281
|
+
}
|
|
282
|
+
catch (err) {
|
|
283
|
+
steps.push({
|
|
284
|
+
id: "codex_install",
|
|
285
|
+
status: "fail",
|
|
286
|
+
message: `Failed to install Codex: ${err.message}`,
|
|
287
|
+
reason: "The demo rig launches Codex nodes, so the Codex CLI must be installed on this machine.",
|
|
288
|
+
fixHint: "Install Codex with `npm install -g @openai/codex`.",
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
if (codexInstalled) {
|
|
293
|
+
try {
|
|
294
|
+
deps.exec("codex login status");
|
|
295
|
+
steps.push({ id: "codex_auth", status: "pass", message: "Codex authentication available." });
|
|
296
|
+
}
|
|
297
|
+
catch (err) {
|
|
298
|
+
steps.push({
|
|
299
|
+
id: "codex_auth",
|
|
300
|
+
status: "fail",
|
|
301
|
+
message: `Codex is installed but not ready to launch: ${err.message}`,
|
|
302
|
+
reason: "The demo rig cannot launch Codex nodes until the Codex CLI is logged in and usable.",
|
|
303
|
+
fixHint: "Run `codex login` and complete authentication, then rerun `rig setup` or `rig doctor`.",
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
steps.push({
|
|
309
|
+
id: "codex_auth",
|
|
310
|
+
status: "skipped",
|
|
311
|
+
message: "Skipped: Codex is not installed.",
|
|
312
|
+
reason: "Authentication cannot be checked until the Codex CLI is installed.",
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
// 6. tmux config
|
|
316
|
+
const TMUX_CONF = `${process.env["HOME"] ?? "~"}/.tmux.conf`;
|
|
317
|
+
const MANAGED_MARKER = "# OpenRig managed block";
|
|
318
|
+
const MANAGED_BLOCK = [
|
|
319
|
+
MANAGED_MARKER,
|
|
320
|
+
"set -g mouse on",
|
|
321
|
+
"set -g history-limit 50000",
|
|
322
|
+
`# End ${MANAGED_MARKER}`,
|
|
323
|
+
].join("\n");
|
|
324
|
+
try {
|
|
325
|
+
const existing = deps.readFile(TMUX_CONF);
|
|
326
|
+
if (existing && existing.includes(MANAGED_MARKER)) {
|
|
327
|
+
// Replace existing managed block
|
|
328
|
+
const replaced = existing.replace(new RegExp(`${MANAGED_MARKER.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}[\\s\\S]*?# End ${MANAGED_MARKER.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}`), MANAGED_BLOCK);
|
|
329
|
+
deps.writeFile(TMUX_CONF, replaced);
|
|
330
|
+
steps.push({ id: "tmux_config", status: "applied", message: "Updated OpenRig managed tmux config block." });
|
|
331
|
+
}
|
|
332
|
+
else if (existing) {
|
|
333
|
+
deps.writeFile(TMUX_CONF, existing.trimEnd() + "\n\n" + MANAGED_BLOCK + "\n");
|
|
334
|
+
steps.push({ id: "tmux_config", status: "applied", message: "Appended OpenRig managed tmux config block." });
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
deps.writeFile(TMUX_CONF, MANAGED_BLOCK + "\n");
|
|
338
|
+
steps.push({ id: "tmux_config", status: "applied", message: "Created .tmux.conf with OpenRig managed block." });
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
catch (err) {
|
|
342
|
+
steps.push({ id: "tmux_config", status: "warn", message: `Could not update tmux config: ${err.message}` });
|
|
343
|
+
}
|
|
344
|
+
// 7. Verify
|
|
345
|
+
const tmuxOk = steps.some((s) => s.id === "tmux_install" && (s.status === "pass" || s.status === "applied"));
|
|
346
|
+
const anyFail = steps.some((s) => s.status === "fail");
|
|
347
|
+
steps.push({
|
|
348
|
+
id: "verify",
|
|
349
|
+
status: anyFail ? "warn" : "pass",
|
|
350
|
+
message: anyFail ? "Some setup steps failed. Run `rig doctor` for detailed diagnostics." : "Core setup verified.",
|
|
351
|
+
});
|
|
352
|
+
// Full profile extras
|
|
353
|
+
if (opts.full) {
|
|
354
|
+
for (const tool of [{ id: "jq_install", cmd: "jq", brew: "jq" }, { id: "gh_install", cmd: "gh", brew: "gh" }]) {
|
|
355
|
+
try {
|
|
356
|
+
deps.exec(`${tool.cmd} --version`);
|
|
357
|
+
steps.push({ id: tool.id, status: "pass", message: `${tool.cmd} available.` });
|
|
358
|
+
}
|
|
359
|
+
catch {
|
|
360
|
+
if (!brewOk) {
|
|
361
|
+
steps.push({ id: tool.id, status: "skipped", message: `Skipped: Homebrew not available.` });
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
try {
|
|
365
|
+
installCommand(deps, `brew install ${tool.brew}`);
|
|
366
|
+
steps.push({ id: tool.id, status: "applied", message: `Installed ${tool.cmd} with Homebrew.` });
|
|
367
|
+
}
|
|
368
|
+
catch {
|
|
369
|
+
steps.push({ id: tool.id, status: "warn", message: `Failed to install ${tool.cmd}.`, fixHint: `Install ${tool.cmd} manually.` });
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
// Run doctor-backed verification if not dry-run and doctorDeps available
|
|
376
|
+
let verification;
|
|
377
|
+
if (!opts.dryRun && opts.doctorDeps) {
|
|
378
|
+
const doctorDeps = opts.doctorDeps;
|
|
379
|
+
const doctor = runDoctorChecks(doctorDeps);
|
|
380
|
+
const asyncResults = await Promise.all(doctor.asyncChecks);
|
|
381
|
+
const allDoctorChecks = [...doctor.checks, ...asyncResults];
|
|
382
|
+
verification = {
|
|
383
|
+
checks: allDoctorChecks.map((c) => ({
|
|
384
|
+
name: c.name,
|
|
385
|
+
status: c.status,
|
|
386
|
+
message: c.message,
|
|
387
|
+
...(c.reason ? { reason: c.reason } : {}),
|
|
388
|
+
...(c.fix ? { fix: c.fix } : {}),
|
|
389
|
+
})),
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
// ready = no fail statuses in steps or verification checks
|
|
393
|
+
const stepsFailed = steps.some((s) => s.status === "fail");
|
|
394
|
+
const verificationFailed = verification?.checks.some((c) => c.status === "fail") ?? false;
|
|
395
|
+
const ready = !stepsFailed && !verificationFailed;
|
|
396
|
+
return { profile, platform, ready, steps, runtimeConfig: RUNTIME_CONFIG_DISCLOSURE, ...(verification ? { verification } : {}) };
|
|
397
|
+
}
|
|
398
|
+
function buildDefaultDoctorDeps(setupDeps) {
|
|
399
|
+
const platform = setupDeps.platform ?? process.platform;
|
|
400
|
+
const baseDir = path.dirname(path.dirname(new URL(import.meta.url).pathname));
|
|
401
|
+
return {
|
|
402
|
+
exists: setupDeps.exists,
|
|
403
|
+
baseDir,
|
|
404
|
+
exec: setupDeps.exec,
|
|
405
|
+
checkPort: async (port) => {
|
|
406
|
+
const net = await import("node:net");
|
|
407
|
+
return new Promise((resolve) => {
|
|
408
|
+
const socket = new net.default.Socket();
|
|
409
|
+
socket.once("connect", () => { socket.destroy(); resolve(false); });
|
|
410
|
+
socket.once("error", () => resolve(true));
|
|
411
|
+
socket.connect(port, "127.0.0.1");
|
|
412
|
+
});
|
|
413
|
+
},
|
|
414
|
+
configStore: new ConfigStore(),
|
|
415
|
+
platform: platform,
|
|
416
|
+
mkdirp: (p) => mkdirSync(p, { recursive: true }),
|
|
417
|
+
checkWritable: (p) => accessSync(p, constants.W_OK),
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
export function setupCommand(depsOverride) {
|
|
421
|
+
const cmd = new Command("setup").description("Prepare the machine for OpenRig");
|
|
422
|
+
cmd
|
|
423
|
+
.option("--dry-run", "Show the plan without making changes")
|
|
424
|
+
.option("--json", "Machine-readable JSON output")
|
|
425
|
+
.option("--full", "Install broader operator workstation tools")
|
|
426
|
+
.action(async (opts) => {
|
|
427
|
+
const deps = depsOverride ?? defaultDeps();
|
|
428
|
+
const doctorDeps = opts.dryRun ? undefined : buildDefaultDoctorDeps(deps);
|
|
429
|
+
const result = await runSetup(deps, { dryRun: opts.dryRun, full: opts.full, doctorDeps });
|
|
430
|
+
if (opts.json) {
|
|
431
|
+
console.log(JSON.stringify(result, null, 2));
|
|
432
|
+
if (!opts.dryRun && !result.ready)
|
|
433
|
+
process.exitCode = 1;
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
console.log(`\nProfile: ${result.profile}`);
|
|
437
|
+
console.log(`Platform: ${result.platform}\n`);
|
|
438
|
+
console.log("OpenRig may modify runtime config in these locations:");
|
|
439
|
+
for (const item of result.runtimeConfig) {
|
|
440
|
+
console.log(` - [${item.scope}] ${item.runtime} ${item.path} — ${item.purpose}`);
|
|
441
|
+
}
|
|
442
|
+
console.log(" - Note: already-running adopted sessions may need restart to pick up runtime config changes.\n");
|
|
443
|
+
for (const step of result.steps) {
|
|
444
|
+
const icon = step.status === "pass" ? "OK" : step.status === "applied" ? "APPLIED" : step.status === "warn" ? "WARN" : step.status === "skipped" ? "SKIP" : "FAIL";
|
|
445
|
+
console.log(` [${icon}] ${step.id}: ${step.message}`);
|
|
446
|
+
if (step.reason)
|
|
447
|
+
console.log(` Why: ${step.reason}`);
|
|
448
|
+
if (step.fixHint)
|
|
449
|
+
console.log(` Fix: ${step.fixHint}`);
|
|
450
|
+
}
|
|
451
|
+
console.log(`\n${result.ready ? "Setup complete." : "Some steps need attention. Run `rig doctor` for detailed diagnostics."}`);
|
|
452
|
+
if (!opts.dryRun && !result.ready)
|
|
453
|
+
process.exitCode = 1;
|
|
454
|
+
});
|
|
455
|
+
return cmd;
|
|
456
|
+
}
|
|
457
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,13 @@ export declare function resolveCliBaseDir(baseDir: string): string;
|
|
|
50
50
|
/** Pure resolver: prefers bundled daemon (npm install layout), falls back to monorepo. */
|
|
51
51
|
export declare function resolveDaemonPath(baseDir: string, exists: (p: string) => boolean): string;
|
|
52
52
|
export declare function getDaemonPath(): string;
|
|
53
|
+
export declare function buildDaemonEnv(baseEnv: Record<string, string>, opts: {
|
|
54
|
+
port: number;
|
|
55
|
+
host: string;
|
|
56
|
+
db: string;
|
|
57
|
+
transcriptsEnabled?: boolean;
|
|
58
|
+
transcriptsPath?: string;
|
|
59
|
+
}): Record<string, string>;
|
|
53
60
|
export declare function startDaemon(opts: StartOptions, deps: LifecycleDeps): Promise<DaemonState>;
|
|
54
61
|
export declare function stopDaemon(deps: LifecycleDeps): Promise<void>;
|
|
55
62
|
export declare function getDaemonStatus(deps: LifecycleDeps): Promise<DaemonStatus>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-lifecycle.d.ts","sourceRoot":"","sources":["../src/daemon-lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon-lifecycle.d.ts","sourceRoot":"","sources":["../src/daemon-lifecycle.ts"],"names":[],"mappings":"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"}
|