@memnexus-ai/mx-agent-cli 0.1.78 → 0.1.79
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.
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
* Flow:
|
|
8
8
|
* 1. Init project scaffold if not already present (checks mx-agent.config.json
|
|
9
9
|
* AND agent-config/settings.json — skips init for already-scaffolded repos)
|
|
10
|
-
* 2.
|
|
11
|
-
* 3.
|
|
12
|
-
* 4.
|
|
10
|
+
* 2. If --project-slug is provided, persist it to mx-agent.config.json
|
|
11
|
+
* 3. Write bundled team-builder roleguide to mx-agent-system/roleguides/
|
|
12
|
+
* 4. Create team-builder worktree + memories (skips if already exists)
|
|
13
|
+
* 5. Start the team-builder Claude session
|
|
13
14
|
*/
|
|
14
15
|
export interface BootstrapOptions {
|
|
15
16
|
projectSlug?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAeH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgDD,wBAAsB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsFhF"}
|
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
* Flow:
|
|
8
8
|
* 1. Init project scaffold if not already present (checks mx-agent.config.json
|
|
9
9
|
* AND agent-config/settings.json — skips init for already-scaffolded repos)
|
|
10
|
-
* 2.
|
|
11
|
-
* 3.
|
|
12
|
-
* 4.
|
|
10
|
+
* 2. If --project-slug is provided, persist it to mx-agent.config.json
|
|
11
|
+
* 3. Write bundled team-builder roleguide to mx-agent-system/roleguides/
|
|
12
|
+
* 4. Create team-builder worktree + memories (skips if already exists)
|
|
13
|
+
* 5. Start the team-builder Claude session
|
|
13
14
|
*/
|
|
14
|
-
import { existsSync, mkdirSync, writeFileSync } from 'fs';
|
|
15
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
15
16
|
import { join } from 'path';
|
|
16
17
|
import chalk from 'chalk';
|
|
17
18
|
import { findProjectRoot, findWorktreePath } from '../lib/worktree.js';
|
|
@@ -38,6 +39,29 @@ function isAlreadyScaffolded(projectRoot) {
|
|
|
38
39
|
const defaultSettingsPath = join(projectRoot, PROJECT_CONFIG_DEFAULTS.configSource, 'settings.json');
|
|
39
40
|
return existsSync(defaultSettingsPath);
|
|
40
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Write projectSlug into mx-agent.config.json, creating the file if absent
|
|
44
|
+
* or merging into the existing config. No-op if the slug is already set to
|
|
45
|
+
* the same value.
|
|
46
|
+
*/
|
|
47
|
+
function persistProjectSlug(projectRoot, projectSlug) {
|
|
48
|
+
const configPath = join(projectRoot, 'mx-agent.config.json');
|
|
49
|
+
let config = {};
|
|
50
|
+
if (existsSync(configPath)) {
|
|
51
|
+
try {
|
|
52
|
+
config = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// If the file is malformed, start fresh rather than corrupting it further
|
|
56
|
+
config = {};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (config.projectSlug === projectSlug)
|
|
60
|
+
return; // already set correctly — nothing to do
|
|
61
|
+
config.projectSlug = projectSlug;
|
|
62
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
63
|
+
console.log(chalk.green(' ✓ wrote ') + chalk.dim(`${configPath} (projectSlug: ${projectSlug})`));
|
|
64
|
+
}
|
|
41
65
|
export async function runBootstrap(options = {}) {
|
|
42
66
|
let projectRoot;
|
|
43
67
|
try {
|
|
@@ -68,16 +92,15 @@ export async function runBootstrap(options = {}) {
|
|
|
68
92
|
await runInit({ projectSlug: options.projectSlug });
|
|
69
93
|
console.log();
|
|
70
94
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
95
|
+
// ── 2. Persist --project-slug to mx-agent.config.json ─────────────────
|
|
96
|
+
//
|
|
97
|
+
// Done unconditionally after the init step so it applies whether the scaffold
|
|
98
|
+
// was just created or already existed. This also handles the case where an
|
|
99
|
+
// existing mx-agent.config.json was missing the projectSlug field.
|
|
100
|
+
if (options.projectSlug) {
|
|
101
|
+
persistProjectSlug(projectRoot, options.projectSlug);
|
|
79
102
|
}
|
|
80
|
-
// ──
|
|
103
|
+
// ── 3. Write bundled team-builder roleguide ───────────────────────────
|
|
81
104
|
const cfg = resolveProjectConfig(loadProjectConfig(projectRoot));
|
|
82
105
|
const roleguidesDir = join(projectRoot, cfg.roleguidesDir);
|
|
83
106
|
const roleguideAbsPath = join(roleguidesDir, ROLEGUIDE_FILENAME);
|
|
@@ -101,7 +124,7 @@ export async function runBootstrap(options = {}) {
|
|
|
101
124
|
}
|
|
102
125
|
// Roleguide path passed to create/start is relative to projectRoot
|
|
103
126
|
const roleguideRelPath = join(cfg.roleguidesDir, ROLEGUIDE_FILENAME);
|
|
104
|
-
// ──
|
|
127
|
+
// ── 4. Create team-builder worktree (skip if already exists) ─────────
|
|
105
128
|
const existingWorktree = findWorktreePath(projectRoot, BOOTSTRAP_SLUG, cfg.worktreeDir);
|
|
106
129
|
if (existingWorktree) {
|
|
107
130
|
console.log(chalk.dim(` Team-builder worktree already exists at ${existingWorktree}`));
|
|
@@ -114,7 +137,7 @@ export async function runBootstrap(options = {}) {
|
|
|
114
137
|
await runCreate({ roleguide: roleguideRelPath, name: BOOTSTRAP_SLUG });
|
|
115
138
|
console.log();
|
|
116
139
|
}
|
|
117
|
-
// ──
|
|
140
|
+
// ── 5. Start team-builder session ────────────────────────────────────
|
|
118
141
|
console.log(chalk.cyan.bold(' Starting team-builder session...'));
|
|
119
142
|
console.log();
|
|
120
143
|
await runStart({ name: BOOTSTRAP_SLUG, experimental: false });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"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"}
|