@memnexus-ai/mx-agent-cli 0.1.51 → 0.1.53
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/dist/__tests__/claude-sync.test.js +20 -136
- package/dist/__tests__/claude-sync.test.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +18 -137
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/init.d.ts +2 -12
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +21 -70
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.d.ts +0 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +9 -39
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +21 -226
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +15 -28
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +1 -16
- package/dist/index.js.map +1 -1
- package/dist/lib/claude.d.ts +4 -15
- package/dist/lib/claude.d.ts.map +1 -1
- package/dist/lib/claude.js +44 -331
- package/dist/lib/claude.js.map +1 -1
- package/dist/lib/memory.d.ts +6 -1
- package/dist/lib/memory.d.ts.map +1 -1
- package/dist/lib/memory.js +11 -8
- package/dist/lib/memory.js.map +1 -1
- package/dist/lib/project-config.d.ts +7 -7
- package/dist/lib/project-config.d.ts.map +1 -1
- package/dist/lib/project-config.js +6 -3
- package/dist/lib/project-config.js.map +1 -1
- package/dist/lib/templates.d.ts +1 -39
- package/dist/lib/templates.d.ts.map +1 -1
- package/dist/lib/templates.js +25 -1239
- package/dist/lib/templates.js.map +1 -1
- package/dist/lib/worktree.d.ts +1 -19
- package/dist/lib/worktree.d.ts.map +1 -1
- package/dist/lib/worktree.js +4 -55
- package/dist/lib/worktree.js.map +1 -1
- package/package.json +2 -3
- package/README.md +0 -104
- package/dist/commands/new.d.ts +0 -30
- package/dist/commands/new.d.ts.map +0 -1
- package/dist/commands/new.js +0 -150
- package/dist/commands/new.js.map +0 -1
package/dist/commands/start.js
CHANGED
|
@@ -4,11 +4,9 @@
|
|
|
4
4
|
* Starts an isolated Claude session for a named team in its worktree.
|
|
5
5
|
*/
|
|
6
6
|
import { spawnSync } from 'child_process';
|
|
7
|
-
import { existsSync, mkdirSync } from 'fs';
|
|
8
|
-
import { join } from 'path';
|
|
9
7
|
import chalk from 'chalk';
|
|
10
|
-
import { findProjectRoot, findWorktreePath, getSlot, getCurrentBranch,
|
|
11
|
-
import { syncClaudeConfig, deployClaudeMd, writeClaudeLocal, launchClaudeSession
|
|
8
|
+
import { findProjectRoot, findWorktreePath, getSlot, getCurrentBranch, } from '../lib/worktree.js';
|
|
9
|
+
import { syncClaudeConfig, deployClaudeMd, writeClaudeLocal, launchClaudeSession } from '../lib/claude.js';
|
|
12
10
|
import { getTeam } from '../lib/catalog.js';
|
|
13
11
|
import { loadProjectConfig, resolveProjectConfig } from '../lib/project-config.js';
|
|
14
12
|
export async function runStart(options) {
|
|
@@ -23,40 +21,12 @@ export async function runStart(options) {
|
|
|
23
21
|
}
|
|
24
22
|
const cfg = resolveProjectConfig(loadProjectConfig(projectRoot));
|
|
25
23
|
// ── 1. Locate the worktree ─────────────────────────────────────────
|
|
26
|
-
|
|
27
|
-
let autoProvisionedRoleguide;
|
|
24
|
+
const worktreePath = findWorktreePath(projectRoot, name, cfg.worktreeDir);
|
|
28
25
|
if (!worktreePath) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
join(projectRoot, cfg.roleguidesDir, `${name}.md`),
|
|
34
|
-
join(projectRoot, cfg.roleguidesDir, `${name}-leader.md`),
|
|
35
|
-
].find(p => existsSync(p));
|
|
36
|
-
if (candidateRoleguide) {
|
|
37
|
-
// Store relative roleguide path for use in the initial prompt (step 3).
|
|
38
|
-
// Without this, the fallback convention assumes *-leader.md which is
|
|
39
|
-
// wrong for roleguides like team-builder.md.
|
|
40
|
-
autoProvisionedRoleguide = candidateRoleguide.slice(projectRoot.length + 1);
|
|
41
|
-
console.log(chalk.dim(` No worktree found for '${name}' — auto-provisioning from roleguide...`));
|
|
42
|
-
const slot = assignSlot(projectRoot, name, cfg.worktreeDir);
|
|
43
|
-
const worktreeDirName = generateWorktreeDirName(name);
|
|
44
|
-
const branch = generateBranchName(name);
|
|
45
|
-
const newWorktreePath = join(projectRoot, cfg.worktreeDir, worktreeDirName);
|
|
46
|
-
mkdirSync(join(projectRoot, cfg.worktreeDir), { recursive: true });
|
|
47
|
-
fetchOrigin(projectRoot);
|
|
48
|
-
createGitWorktree(newWorktreePath, branch, cfg.baseBranch, projectRoot);
|
|
49
|
-
addToGitSafeDirectory(newWorktreePath);
|
|
50
|
-
createHuskySymlink(projectRoot, newWorktreePath);
|
|
51
|
-
logSuccess(`Worktree provisioned: ${newWorktreePath}`);
|
|
52
|
-
worktreePath = newWorktreePath;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
console.error(chalk.red(`Team '${name}' not found.`));
|
|
56
|
-
console.error(chalk.dim(` No worktree found in ${projectRoot}/${cfg.worktreeDir}/ matching '${name}' or '${name}-*'`));
|
|
57
|
-
console.error(chalk.dim(` Run: mx-agent create --roleguide <path> --name ${name}`));
|
|
58
|
-
process.exit(1);
|
|
59
|
-
}
|
|
26
|
+
console.error(chalk.red(`Team '${name}' not found.`));
|
|
27
|
+
console.error(chalk.dim(` No worktree found in ${projectRoot}/.worktrees/ matching '${name}' or '${name}-*'`));
|
|
28
|
+
console.error(chalk.dim(` Run: agent create --roleguide <path> --name ${name}`));
|
|
29
|
+
process.exit(1);
|
|
60
30
|
}
|
|
61
31
|
// ── 2. Resolve slot ────────────────────────────────────────────────
|
|
62
32
|
// The slot key in .slots.json may be the full dir name (e.g. "retrieval-20260222")
|
|
@@ -77,10 +47,6 @@ export async function runStart(options) {
|
|
|
77
47
|
if (team?.roleguide) {
|
|
78
48
|
roleguide = team.roleguide;
|
|
79
49
|
}
|
|
80
|
-
else if (autoProvisionedRoleguide) {
|
|
81
|
-
// Auto-provision found the actual roleguide file — use it directly
|
|
82
|
-
roleguide = autoProvisionedRoleguide;
|
|
83
|
-
}
|
|
84
50
|
else {
|
|
85
51
|
// Fallback convention
|
|
86
52
|
roleguide = `${cfg.roleguidesDir}/${name}-leader.md`;
|
|
@@ -98,8 +64,6 @@ export async function runStart(options) {
|
|
|
98
64
|
// ── 4. Rebase worktree onto latest origin/<baseBranch> ───────────
|
|
99
65
|
// Ensures the worktree has the latest roleguides, CLI fixes, and
|
|
100
66
|
// templates even if it was created before those commits landed.
|
|
101
|
-
// Rebase failure is blocking — a session must not start on stale state.
|
|
102
|
-
const DIVERGENCE_WARN_THRESHOLD = 20;
|
|
103
67
|
console.log(chalk.dim(` Syncing with origin/${cfg.baseBranch}...`));
|
|
104
68
|
const fetchResult = spawnSync('git', ['fetch', 'origin', cfg.baseBranch], {
|
|
105
69
|
cwd: worktreePath,
|
|
@@ -107,231 +71,62 @@ export async function runStart(options) {
|
|
|
107
71
|
encoding: 'utf-8',
|
|
108
72
|
});
|
|
109
73
|
if (fetchResult.status !== 0) {
|
|
110
|
-
// Fetch failure is non-fatal (offline / no remote) but surfaced clearly.
|
|
111
74
|
console.log(chalk.yellow(` ⚠ Could not fetch origin/${cfg.baseBranch} — starting with local state.`));
|
|
112
|
-
const fetchErr = fetchResult.stderr?.trim();
|
|
113
|
-
if (fetchErr)
|
|
114
|
-
console.log(chalk.dim(` ${fetchErr}`));
|
|
115
75
|
}
|
|
116
76
|
else {
|
|
117
|
-
// ── Divergence check ─────────────────────────────────────────
|
|
118
|
-
const behindR = spawnSync('git', ['rev-list', '--count', `HEAD..origin/${cfg.baseBranch}`], { cwd: worktreePath, stdio: 'pipe', encoding: 'utf-8' });
|
|
119
|
-
const aheadR = spawnSync('git', ['rev-list', '--count', `origin/${cfg.baseBranch}..HEAD`], { cwd: worktreePath, stdio: 'pipe', encoding: 'utf-8' });
|
|
120
|
-
const commitsBehind = parseInt(behindR.stdout.trim(), 10) || 0;
|
|
121
|
-
const commitsAhead = parseInt(aheadR.stdout.trim(), 10) || 0;
|
|
122
|
-
if (commitsBehind >= DIVERGENCE_WARN_THRESHOLD) {
|
|
123
|
-
console.log();
|
|
124
|
-
console.log(chalk.yellow(` ⚠ This branch is ${commitsBehind} commits behind origin/${cfg.baseBranch}.`));
|
|
125
|
-
if (commitsAhead > 0) {
|
|
126
|
-
console.log(chalk.yellow(` It also has ${commitsAhead} unmerged commit${commitsAhead === 1 ? '' : 's'}.`));
|
|
127
|
-
console.log(chalk.yellow(` Consider opening a PR for completed work before continuing to reduce conflict risk.`));
|
|
128
|
-
}
|
|
129
|
-
console.log();
|
|
130
|
-
}
|
|
131
|
-
// ── Auto-stash dirty worktree before rebase ─────────────────
|
|
132
|
-
const statusR = spawnSync('git', ['status', '--porcelain'], {
|
|
133
|
-
cwd: worktreePath, stdio: 'pipe', encoding: 'utf-8',
|
|
134
|
-
});
|
|
135
|
-
const hasDirtyFiles = statusR.stdout.trim().length > 0;
|
|
136
|
-
let didStash = false;
|
|
137
|
-
if (hasDirtyFiles) {
|
|
138
|
-
const stashR = spawnSync('git', ['stash', 'push', '-m', 'mx-agent-start: auto-stash before rebase'], {
|
|
139
|
-
cwd: worktreePath, stdio: 'pipe', encoding: 'utf-8',
|
|
140
|
-
});
|
|
141
|
-
if (stashR.status === 0 && !stashR.stdout.includes('No local changes')) {
|
|
142
|
-
didStash = true;
|
|
143
|
-
console.log(chalk.dim(' Stashed uncommitted changes before rebase.'));
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
// ── Rebase with auto-skip for already-upstream commits ──────
|
|
147
77
|
const rebaseResult = spawnSync('git', ['rebase', `origin/${cfg.baseBranch}`], {
|
|
148
78
|
cwd: worktreePath,
|
|
149
79
|
stdio: 'pipe',
|
|
150
80
|
encoding: 'utf-8',
|
|
151
81
|
});
|
|
152
82
|
if (rebaseResult.status !== 0) {
|
|
153
|
-
//
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
// differs slightly, it raises a conflict instead. We detect this
|
|
158
|
-
// by checking whether the conflicting commit's changes are already
|
|
159
|
-
// present in origin/main and auto-skip if so.
|
|
160
|
-
const MAX_AUTO_SKIP = 20; // safety cap
|
|
161
|
-
let skipped = 0;
|
|
162
|
-
let resolved = false;
|
|
163
|
-
for (let i = 0; i < MAX_AUTO_SKIP; i++) {
|
|
164
|
-
// Check if we're still mid-rebase
|
|
165
|
-
const rebaseHeadR = spawnSync('git', ['rev-parse', '--verify', 'REBASE_HEAD'], {
|
|
166
|
-
cwd: worktreePath, stdio: 'pipe', encoding: 'utf-8',
|
|
167
|
-
});
|
|
168
|
-
if (rebaseHeadR.status !== 0) {
|
|
169
|
-
// No longer in rebase — either resolved or something unexpected
|
|
170
|
-
resolved = true;
|
|
171
|
-
break;
|
|
172
|
-
}
|
|
173
|
-
const rebaseHead = rebaseHeadR.stdout.trim();
|
|
174
|
-
// Check if this commit's patch-id matches any commit already on main.
|
|
175
|
-
// patch-id produces a content-based hash of the diff, ignoring whitespace.
|
|
176
|
-
// Uses array-form spawnSync + manual piping to avoid shell interpolation.
|
|
177
|
-
const showR = spawnSync('git', ['-C', worktreePath, 'show', rebaseHead], {
|
|
178
|
-
stdio: 'pipe',
|
|
179
|
-
});
|
|
180
|
-
const patchIdR = spawnSync('git', ['-C', worktreePath, 'patch-id', '--stable'], {
|
|
181
|
-
input: showR.stdout,
|
|
182
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
183
|
-
encoding: 'utf-8',
|
|
184
|
-
});
|
|
185
|
-
const branchPatchId = patchIdR.stdout.trim().split(/\s+/)[0] || '';
|
|
186
|
-
let isAlreadyUpstream = false;
|
|
187
|
-
if (branchPatchId) {
|
|
188
|
-
// Get patch-ids for recent main commits in one shot:
|
|
189
|
-
// `git log -100 -p` outputs all diffs, piped to `git patch-id --stable`
|
|
190
|
-
const logR = spawnSync('git', ['-C', worktreePath, 'log', '-100', '-p', `origin/${cfg.baseBranch}`], {
|
|
191
|
-
stdio: 'pipe',
|
|
192
|
-
});
|
|
193
|
-
const mainPatchR = spawnSync('git', ['-C', worktreePath, 'patch-id', '--stable'], {
|
|
194
|
-
input: logR.stdout,
|
|
195
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
196
|
-
encoding: 'utf-8',
|
|
197
|
-
});
|
|
198
|
-
const mainPatchIds = mainPatchR.stdout.trim().split('\n')
|
|
199
|
-
.map(line => line.split(/\s+/)[0])
|
|
200
|
-
.filter(Boolean);
|
|
201
|
-
isAlreadyUpstream = mainPatchIds.includes(branchPatchId);
|
|
202
|
-
}
|
|
203
|
-
if (!isAlreadyUpstream) {
|
|
204
|
-
// Also check: if we accept main's version for all conflicts,
|
|
205
|
-
// does the tree match main exactly? This catches squash-merged
|
|
206
|
-
// commits where patch-id differs due to combined squashing.
|
|
207
|
-
spawnSync('git', ['-C', worktreePath, 'checkout', '--theirs', '.'], {
|
|
208
|
-
stdio: 'pipe',
|
|
209
|
-
});
|
|
210
|
-
spawnSync('git', ['-C', worktreePath, 'add', '-A'], {
|
|
211
|
-
stdio: 'pipe',
|
|
212
|
-
});
|
|
213
|
-
const diffR = spawnSync('git', ['-C', worktreePath, 'diff', '--cached', '--stat', 'HEAD'], {
|
|
214
|
-
stdio: 'pipe', encoding: 'utf-8',
|
|
215
|
-
});
|
|
216
|
-
const diffAfterTheirs = diffR.stdout.trim();
|
|
217
|
-
if (diffAfterTheirs === '') {
|
|
218
|
-
// Tree is identical to main after accepting theirs — commit is redundant
|
|
219
|
-
isAlreadyUpstream = true;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
if (isAlreadyUpstream) {
|
|
223
|
-
// Skip this commit — its changes are already on main
|
|
224
|
-
const skipR = spawnSync('git', ['rebase', '--skip'], {
|
|
225
|
-
cwd: worktreePath, stdio: 'pipe', encoding: 'utf-8',
|
|
226
|
-
});
|
|
227
|
-
skipped++;
|
|
228
|
-
if (skipR.status === 0) {
|
|
229
|
-
resolved = true;
|
|
230
|
-
break;
|
|
231
|
-
}
|
|
232
|
-
// Skip succeeded but rebase continues with next commit — loop again
|
|
233
|
-
continue;
|
|
234
|
-
}
|
|
235
|
-
// Genuine conflict — not already upstream. Abort and block.
|
|
236
|
-
break;
|
|
237
|
-
}
|
|
238
|
-
if (!resolved) {
|
|
239
|
-
// Genuine conflict that couldn't be auto-resolved.
|
|
240
|
-
const conflictR = spawnSync('git', ['diff', '--name-only', '--diff-filter=U'], { cwd: worktreePath, stdio: 'pipe', encoding: 'utf-8' });
|
|
241
|
-
const conflictFiles = conflictR.stdout.trim().split('\n').filter(Boolean);
|
|
242
|
-
spawnSync('git', ['rebase', '--abort'], { cwd: worktreePath, stdio: 'pipe' });
|
|
243
|
-
// Restore stash if we created one
|
|
244
|
-
if (didStash) {
|
|
245
|
-
spawnSync('git', ['stash', 'pop'], { cwd: worktreePath, stdio: 'pipe' });
|
|
246
|
-
}
|
|
247
|
-
console.error();
|
|
248
|
-
console.error(chalk.red.bold(` ✗ Rebase onto origin/${cfg.baseBranch} failed — session blocked.`));
|
|
249
|
-
console.error(chalk.dim(' ─────────────────────────────────────────────'));
|
|
250
|
-
if (conflictFiles.length > 0) {
|
|
251
|
-
console.error(chalk.red(` Conflicting files (${conflictFiles.length}):`));
|
|
252
|
-
for (const f of conflictFiles) {
|
|
253
|
-
console.error(chalk.dim(` • ${f}`));
|
|
254
|
-
}
|
|
255
|
-
console.error();
|
|
256
|
-
}
|
|
257
|
-
console.error(chalk.bold(' To resolve:'));
|
|
258
|
-
console.error(` 1. Run the rebase manually:`);
|
|
259
|
-
console.error(chalk.cyan(` git -C ${worktreePath} rebase origin/${cfg.baseBranch}`));
|
|
260
|
-
console.error(` 2. Fix each conflict, then stage the resolved files:`);
|
|
261
|
-
console.error(chalk.cyan(` git -C ${worktreePath} add <file>`));
|
|
262
|
-
console.error(` 3. Continue the rebase:`);
|
|
263
|
-
console.error(chalk.cyan(` git -C ${worktreePath} rebase --continue`));
|
|
264
|
-
console.error(` 4. Re-run:`);
|
|
265
|
-
console.error(chalk.cyan(` mx-agent start ${name}`));
|
|
266
|
-
console.error();
|
|
267
|
-
console.error(chalk.dim(` Tip: if this branch has completed work, open a PR first.`));
|
|
268
|
-
console.error(chalk.dim(` Smaller PRs merged frequently reduce conflict surface.`));
|
|
269
|
-
console.error();
|
|
270
|
-
process.exit(1);
|
|
271
|
-
}
|
|
272
|
-
if (skipped > 0) {
|
|
273
|
-
console.log(chalk.green(` ✓ Rebased onto origin/${cfg.baseBranch} (auto-skipped ${skipped} already-upstream commit${skipped === 1 ? '' : 's'})`));
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
else if (commitsBehind > 0) {
|
|
277
|
-
console.log(chalk.green(` ✓ Rebased ${commitsBehind} commit${commitsBehind === 1 ? '' : 's'} from origin/${cfg.baseBranch}`));
|
|
83
|
+
// Abort the rebase so the worktree is left in a clean state
|
|
84
|
+
spawnSync('git', ['rebase', '--abort'], { cwd: worktreePath, stdio: 'pipe' });
|
|
85
|
+
console.log(chalk.yellow(` ⚠ Could not rebase onto origin/${cfg.baseBranch} (conflicts) — starting with local state.`));
|
|
86
|
+
console.log(chalk.dim(` Resolve manually: git -C ${worktreePath} rebase origin/${cfg.baseBranch}`));
|
|
278
87
|
}
|
|
279
88
|
else {
|
|
280
89
|
console.log(chalk.green(` ✓ Worktree up to date with origin/${cfg.baseBranch}`));
|
|
281
90
|
}
|
|
282
|
-
// ── Restore stashed changes ───────────────────────────────
|
|
283
|
-
if (didStash) {
|
|
284
|
-
const popR = spawnSync('git', ['stash', 'pop'], {
|
|
285
|
-
cwd: worktreePath, stdio: 'pipe', encoding: 'utf-8',
|
|
286
|
-
});
|
|
287
|
-
if (popR.status === 0) {
|
|
288
|
-
console.log(chalk.dim(' Restored stashed changes.'));
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
console.log(chalk.yellow(' ⚠ Could not restore stashed changes — run `git stash pop` manually.'));
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
91
|
}
|
|
295
92
|
console.log();
|
|
296
|
-
// ── 5.
|
|
297
|
-
|
|
298
|
-
// ──
|
|
299
|
-
createHuskySymlink(projectRoot, worktreePath);
|
|
300
|
-
syncClaudeConfig(worktreePath, { ...cfg, projectRoot });
|
|
301
|
-
// ── 7. Deploy fresh CLAUDE.md ─────────────────────────────────────
|
|
93
|
+
// ── 5. Sync Claude config from origin/<baseBranch> ────────────────
|
|
94
|
+
syncClaudeConfig(worktreePath, cfg);
|
|
95
|
+
// ── 5. Deploy fresh CLAUDE.md ─────────────────────────────────────
|
|
302
96
|
deployClaudeMd(projectRoot, worktreePath, cfg);
|
|
303
|
-
// ──
|
|
97
|
+
// ── 6. Regenerate CLAUDE.local.md ────────────────────────────────
|
|
304
98
|
writeClaudeLocal({
|
|
305
99
|
projectRoot,
|
|
306
100
|
worktreePath,
|
|
307
101
|
worktreeName: worktreeDirName,
|
|
308
102
|
branch,
|
|
309
103
|
slot,
|
|
104
|
+
projectSlug: cfg.projectSlug,
|
|
310
105
|
});
|
|
311
|
-
// ──
|
|
106
|
+
// ── 7. Print isolation summary ─────────────────────────────────────
|
|
312
107
|
console.log();
|
|
313
108
|
console.log(chalk.bold.green(' Isolation Enabled:'));
|
|
314
109
|
console.log(chalk.dim(' ─────────────────────────────────────────────'));
|
|
315
110
|
console.log(` ${chalk.green('✓')} Directory restricted to worktree`);
|
|
316
111
|
console.log(` ${chalk.green('✓')} git checkout/switch to main blocked`);
|
|
317
112
|
console.log(` ${chalk.green('✓')} git push origin main blocked`);
|
|
318
|
-
console.log(` ${chalk.green('✓')} Git identity: Agent: ${name} <agent-${name}@agents.local>`);
|
|
319
113
|
console.log();
|
|
320
|
-
// ──
|
|
114
|
+
// ── 8. Build initial prompt ────────────────────────────────────────
|
|
321
115
|
// Three-step startup sequence:
|
|
322
116
|
// 1. Read the roleguide — understand the role and which named memories to check
|
|
323
117
|
// 2. Run the "How to Start a Session" checklist from the roleguide (named memories)
|
|
324
118
|
// 3. Check for mid-iteration checkpoints from the last session
|
|
119
|
+
const memPrefix = cfg.projectSlug ? `${cfg.projectSlug}-` : '';
|
|
325
120
|
const initialPrompt = `You are assuming the role of team lead. Start up in this exact sequence: ` +
|
|
326
121
|
`STEP 1 — Read your roleguide: ${roleguide}. ` +
|
|
327
122
|
`Understand your role, responsibilities, and the named memories your team maintains. ` +
|
|
328
123
|
`STEP 2 — Run the "How to Start a Session" checklist from the roleguide. ` +
|
|
329
124
|
`Check all named iteration memories it specifies (e.g. leader-state, iteration-log, known-issues, and any others listed). ` +
|
|
330
125
|
`STEP 3 — Check for mid-iteration work from a previous session. ` +
|
|
331
|
-
`Try \`mx memories get --name "${name}-leader-state"\` (if not already checked in step 2). ` +
|
|
126
|
+
`Try \`mx memories get --name "${memPrefix}${name}-leader-state"\` (if not already checked in step 2). ` +
|
|
332
127
|
`Then run \`mx memories recap --recent 24h\` to catch any in-progress checkpoints or iteration state that may not be in a named memory. ` +
|
|
333
128
|
`If step 3 reveals you were mid-iteration, resume from that point rather than starting a new iteration.`;
|
|
334
|
-
// ──
|
|
129
|
+
// ── 9. Launch Claude ───────────────────────────────────────────────
|
|
335
130
|
launchClaudeSession({
|
|
336
131
|
worktreePath,
|
|
337
132
|
worktreeName: worktreeDirName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmEH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C/C"}
|
package/dist/commands/update.js
CHANGED
|
@@ -25,20 +25,16 @@ function getCurrentVersion() {
|
|
|
25
25
|
async function detectPackageManager() {
|
|
26
26
|
// Detect which package manager originally installed us by checking
|
|
27
27
|
// the path of the running binary. process.argv[1] is the resolved
|
|
28
|
-
// script path.
|
|
29
|
-
const binPath =
|
|
28
|
+
// script path (e.g. /home/user/.local/share/pnpm/mx-agent).
|
|
29
|
+
const binPath = process.argv[1] || '';
|
|
30
30
|
if (binPath.includes('/pnpm/') || binPath.includes('.local/share/pnpm'))
|
|
31
31
|
return 'pnpm';
|
|
32
32
|
if (binPath.includes('/yarn/'))
|
|
33
33
|
return 'yarn';
|
|
34
|
-
// Fallback:
|
|
35
|
-
|
|
36
|
-
const order = process.platform === 'win32'
|
|
37
|
-
? ['npm', 'pnpm', 'yarn']
|
|
38
|
-
: ['pnpm', 'npm', 'yarn'];
|
|
39
|
-
for (const pm of order) {
|
|
34
|
+
// Fallback: check which PMs are available, preferring pnpm for consistency
|
|
35
|
+
for (const pm of ['pnpm', 'npm', 'yarn']) {
|
|
40
36
|
try {
|
|
41
|
-
await execa(pm, ['--version']
|
|
37
|
+
await execa(pm, ['--version']);
|
|
42
38
|
return pm;
|
|
43
39
|
}
|
|
44
40
|
catch {
|
|
@@ -48,15 +44,8 @@ async function detectPackageManager() {
|
|
|
48
44
|
return 'npm';
|
|
49
45
|
}
|
|
50
46
|
async function getLatestVersion() {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const { stdout } = await execa('npm', [
|
|
54
|
-
'view', PACKAGE_NAME, 'version', '--json',
|
|
55
|
-
'--registry', 'https://registry.npmjs.org/',
|
|
56
|
-
]);
|
|
57
|
-
const parsed = JSON.parse(stdout.trim());
|
|
58
|
-
// npm view returns a string for a single version, array if there are dist-tags
|
|
59
|
-
return Array.isArray(parsed) ? parsed[parsed.length - 1] : parsed;
|
|
47
|
+
const { stdout } = await execa('npm', ['view', PACKAGE_NAME, 'version']);
|
|
48
|
+
return stdout.trim();
|
|
60
49
|
}
|
|
61
50
|
async function installUpdate(version, pm) {
|
|
62
51
|
const spec = `${PACKAGE_NAME}@${version}`;
|
|
@@ -75,9 +64,12 @@ async function installUpdate(version, pm) {
|
|
|
75
64
|
}
|
|
76
65
|
catch (err) {
|
|
77
66
|
if (err.code === 'EACCES' || err.stderr?.includes('EACCES')) {
|
|
78
|
-
throw new Error(`Permission denied
|
|
67
|
+
throw new Error(`Permission denied. Try:\n sudo mx-agent update`);
|
|
79
68
|
}
|
|
80
|
-
|
|
69
|
+
if (err.stderr?.includes('ENOTFOUND') || err.stderr?.includes('network')) {
|
|
70
|
+
throw new Error('Network error. Check your internet connection and try again.');
|
|
71
|
+
}
|
|
72
|
+
throw new Error(`Failed to install update: ${err.message}`);
|
|
81
73
|
}
|
|
82
74
|
}
|
|
83
75
|
export async function runUpdate() {
|
|
@@ -91,13 +83,8 @@ export async function runUpdate() {
|
|
|
91
83
|
try {
|
|
92
84
|
latest = await getLatestVersion();
|
|
93
85
|
}
|
|
94
|
-
catch
|
|
95
|
-
|
|
96
|
-
const detail = err.shortMessage ?? err.stderr?.trim() ?? err.message ?? String(err);
|
|
97
|
-
console.error(chalk.red(' Error: Could not fetch version from npm registry.'));
|
|
98
|
-
if (detail)
|
|
99
|
-
console.error(chalk.dim(` ${detail}`));
|
|
100
|
-
console.error(chalk.dim(` To update manually: npm install -g ${PACKAGE_NAME}@latest`));
|
|
86
|
+
catch {
|
|
87
|
+
console.error(chalk.red(' Error: Could not reach npm registry. Check your network connection.'));
|
|
101
88
|
process.exit(1);
|
|
102
89
|
}
|
|
103
90
|
console.log(` ${chalk.bold('Latest version:')} ${latest}`);
|
|
@@ -118,7 +105,7 @@ export async function runUpdate() {
|
|
|
118
105
|
}
|
|
119
106
|
catch (err) {
|
|
120
107
|
console.error(chalk.red(` ${err instanceof Error ? err.message : String(err)}`));
|
|
121
|
-
console.error(chalk.dim(`
|
|
108
|
+
console.error(chalk.dim(` Try manually: npm install -g ${PACKAGE_NAME}`));
|
|
122
109
|
process.exit(1);
|
|
123
110
|
}
|
|
124
111
|
console.log();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAIjD,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAwB,CAAC;QAClF,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,mEAAmE;IACnE,mEAAmE;IACnE
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,6 @@ import { runUpdate } from './commands/update.js';
|
|
|
24
24
|
import { runPager } from './commands/pager.js';
|
|
25
25
|
import { runConfig } from './commands/config.js';
|
|
26
26
|
import { runInit } from './commands/init.js';
|
|
27
|
-
import { runNew } from './commands/new.js';
|
|
28
27
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
29
28
|
const require = createRequire(import.meta.url);
|
|
30
29
|
const pkg = require(join(__dirname, '../package.json'));
|
|
@@ -41,6 +40,7 @@ program
|
|
|
41
40
|
.option('--base-branch <branch>', 'Base branch (default: main)')
|
|
42
41
|
.option('--worktree-dir <path>', 'Worktrees directory (default: .worktrees)')
|
|
43
42
|
.option('--config-source <path>', 'Agent config path (default: mx-agent-system/agent-config)')
|
|
43
|
+
.option('--project-slug <slug>', 'Project slug for scoping named memories across projects (e.g. mail-client)')
|
|
44
44
|
.action((opts) => {
|
|
45
45
|
runInit(opts).catch((err) => {
|
|
46
46
|
console.error(err instanceof Error ? err.message : String(err));
|
|
@@ -126,21 +126,6 @@ program
|
|
|
126
126
|
process.exit(1);
|
|
127
127
|
});
|
|
128
128
|
});
|
|
129
|
-
// ── new ────────────────────────────────────────────────────────────────
|
|
130
|
-
program
|
|
131
|
-
.command('new')
|
|
132
|
-
.description('Create a new project scaffolded with mx-agent and a dev container')
|
|
133
|
-
.argument('<name>', 'Project name (kebab-case)')
|
|
134
|
-
.option('--dir <path>', 'Output directory (default: ./<name>)')
|
|
135
|
-
.option('--base-branch <branch>', 'Base branch (default: main)')
|
|
136
|
-
.option('--worktree-dir <path>', 'Worktrees directory (default: .worktrees)')
|
|
137
|
-
.option('--config-source <path>', 'Agent config path (default: mx-agent-system/agent-config)')
|
|
138
|
-
.action((name, opts) => {
|
|
139
|
-
runNew(name, opts).catch((err) => {
|
|
140
|
-
console.error(err instanceof Error ? err.message : String(err));
|
|
141
|
-
process.exit(1);
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
129
|
// ── config ─────────────────────────────────────────────────────────────
|
|
145
130
|
const configCmd = program
|
|
146
131
|
.command('config')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/claude.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLAUDE.md deployment, CLAUDE.local.md generation, and session start.
|
|
3
|
+
* Mirrors the patterns in dev-tools/worktree-cli/src/operations.ts.
|
|
3
4
|
*/
|
|
4
5
|
export declare function logSuccess(msg: string): void;
|
|
5
6
|
export declare function logWarning(msg: string): void;
|
|
@@ -10,7 +11,7 @@ export declare function logDim(msg: string): void;
|
|
|
10
11
|
* Template resolution order:
|
|
11
12
|
* 1. origin/<baseBranch>:<configSource>/CLAUDE.md.template via git show
|
|
12
13
|
* 2. Local <configSource>/CLAUDE.md.template — offline fallback
|
|
13
|
-
* 3.
|
|
14
|
+
* 3. Local dev-tools/worktree-cli/templates/CLAUDE.md.template — legacy fallback
|
|
14
15
|
* 4. Root CLAUDE.md
|
|
15
16
|
*/
|
|
16
17
|
export declare function deployClaudeMd(projectRoot: string, worktreePath: string, opts?: {
|
|
@@ -22,7 +23,7 @@ export declare function deployClaudeMd(projectRoot: string, worktreePath: string
|
|
|
22
23
|
* Matches the format produced by writeWorktreeClaudeLocal in operations.ts.
|
|
23
24
|
*
|
|
24
25
|
* If the project root has a CLAUDE.local.md, its content is prepended above
|
|
25
|
-
* the worktree isolation rules.
|
|
26
|
+
* the worktree isolation rules (same merge behaviour as worktree-cli).
|
|
26
27
|
*/
|
|
27
28
|
export declare function writeClaudeLocal(opts: {
|
|
28
29
|
projectRoot: string;
|
|
@@ -30,37 +31,25 @@ export declare function writeClaudeLocal(opts: {
|
|
|
30
31
|
worktreeName: string;
|
|
31
32
|
branch: string | null;
|
|
32
33
|
slot: number;
|
|
34
|
+
projectSlug?: string;
|
|
33
35
|
}): void;
|
|
34
36
|
/**
|
|
35
37
|
* Sync .claude/settings.json and .claude/hooks/worktree-guard.sh from the
|
|
36
38
|
* platform team's canonical source: <configSource>/ on origin/<baseBranch>.
|
|
37
39
|
*
|
|
38
|
-
* Config resolution order for each file (3-step):
|
|
39
|
-
* 1. `git show origin/<baseBranch>:<path>` — remote (tamper-resistant)
|
|
40
|
-
* 2. Local <projectRoot>/<configSource>/<file> — offline fallback
|
|
41
|
-
* 3. Embedded npm package template — always available, never fails
|
|
42
|
-
*
|
|
43
40
|
* Uses `git show origin/<baseBranch>:<path>` to read file content directly from
|
|
44
41
|
* the remote object store — no checkout/unstage dance, no staged files left behind.
|
|
45
42
|
*
|
|
46
43
|
* Source of truth for all agent configuration is <configSource>/.
|
|
47
44
|
* Changes to agent permissions or hooks must go through a platform team PR.
|
|
48
|
-
*
|
|
49
|
-
* Atomicity guarantee (PLAT-014): both files are resolved to content before
|
|
50
|
-
* any writes occur — either both are written or neither is.
|
|
51
45
|
*/
|
|
52
46
|
export declare function syncClaudeConfig(worktreePath: string, opts?: {
|
|
53
47
|
baseBranch?: string;
|
|
54
48
|
configSource?: string;
|
|
55
|
-
projectRoot?: string;
|
|
56
49
|
}): void;
|
|
57
50
|
/**
|
|
58
51
|
* Exec into a Claude session in the worktree with the given initial prompt.
|
|
59
52
|
* Uses spawnSync so Claude replaces the current process cleanly.
|
|
60
|
-
*
|
|
61
|
-
* Passes --allowedTools to auto-approve standard tools without requiring
|
|
62
|
-
* the user to trust the project's .claude/settings.json first.
|
|
63
|
-
* Deny/ask rules in settings.json still take precedence (deny > ask > allow).
|
|
64
53
|
*/
|
|
65
54
|
export declare function launchClaudeSession(opts: {
|
|
66
55
|
worktreePath: string;
|
package/dist/lib/claude.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/lib/claude.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/lib/claude.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE5C;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE5C;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAExC;AAID;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD,IAAI,CAwEN;AAID;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,IAAI,CA6DP;AAID;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD,IAAI,CA+DN;AAsDD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAoCP"}
|