@soleri/forge 5.6.0 → 5.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/facades/forge.facade.js +4 -3
- package/dist/facades/forge.facade.js.map +1 -1
- package/dist/scaffolder.js +47 -3
- package/dist/scaffolder.js.map +1 -1
- package/dist/templates/persona.js +1 -1
- package/dist/templates/persona.js.map +1 -1
- package/dist/types.d.ts +7 -7
- package/dist/types.js +4 -4
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/facades/forge.facade.ts +4 -3
- package/src/scaffolder.ts +45 -5
- package/src/templates/persona.ts +1 -1
- package/src/types.ts +4 -4
|
@@ -18,8 +18,9 @@ export const forgeOps = [
|
|
|
18
18
|
{
|
|
19
19
|
name: 'create',
|
|
20
20
|
description: 'Scaffold a complete MCP agent project with activation system. ' +
|
|
21
|
-
'This creates the full directory structure, source files, config, and activation module
|
|
22
|
-
'
|
|
21
|
+
'This creates the full directory structure, source files, config, and activation module, ' +
|
|
22
|
+
'then auto-builds (npm install + npm run build) and registers the MCP server. ' +
|
|
23
|
+
'After creation: restart Claude Code and say "Hello, {Name}!" to activate.',
|
|
23
24
|
schema: AgentConfigSchema,
|
|
24
25
|
handler: async (params) => {
|
|
25
26
|
const config = AgentConfigSchema.parse(params);
|
|
@@ -98,7 +99,7 @@ export const forgeOps = [
|
|
|
98
99
|
{
|
|
99
100
|
step: 6,
|
|
100
101
|
action: 'Create the agent',
|
|
101
|
-
ask: 'Call create with the confirmed config.
|
|
102
|
+
ask: 'Call create with the confirmed config. The agent is auto-built (npm install + build) and MCP server is registered in ~/.claude.json automatically.',
|
|
102
103
|
},
|
|
103
104
|
{
|
|
104
105
|
step: 7,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forge.facade.js","sourceRoot":"","sources":["../../src/facades/forge.facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AASjD,MAAM,CAAC,MAAM,QAAQ,GAAY;IAC/B;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EACT,gEAAgE;YAChE,uEAAuE;YACvE,oCAAoC;QACtC,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,gEAAgE;YAChE,0FAA0F;YAC1F,
|
|
1
|
+
{"version":3,"file":"forge.facade.js","sourceRoot":"","sources":["../../src/facades/forge.facade.ts"],"names":[],"mappings":"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"}
|
package/dist/scaffolder.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { mkdirSync, writeFileSync, chmodSync, existsSync, readdirSync, readFileSync, } from 'node:fs';
|
|
2
2
|
import { join, dirname } from 'node:path';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
|
+
import { execFileSync } from 'node:child_process';
|
|
4
5
|
import { generatePackageJson } from './templates/package-json.js';
|
|
5
6
|
import { generateTsconfig } from './templates/tsconfig.js';
|
|
6
7
|
import { generateVitestConfig } from './templates/vitest-config.js';
|
|
@@ -344,6 +345,13 @@ export function previewScaffold(config) {
|
|
|
344
345
|
* Scaffold a complete MCP agent project.
|
|
345
346
|
*/
|
|
346
347
|
export function scaffold(config) {
|
|
348
|
+
// Default greeting if not provided
|
|
349
|
+
if (!config.greeting) {
|
|
350
|
+
config = {
|
|
351
|
+
...config,
|
|
352
|
+
greeting: `Hello! I'm ${config.name}, your AI assistant for ${config.role}.`,
|
|
353
|
+
};
|
|
354
|
+
}
|
|
347
355
|
const agentDir = join(config.outputDir, config.id);
|
|
348
356
|
const filesCreated = [];
|
|
349
357
|
if (existsSync(agentDir)) {
|
|
@@ -419,8 +427,37 @@ export function scaffold(config) {
|
|
|
419
427
|
filesCreated.push(path);
|
|
420
428
|
}
|
|
421
429
|
const totalOps = config.domains.length * 5 + 61; // 5 per domain + 56 core (from createCoreOps) + 5 agent-specific
|
|
422
|
-
//
|
|
423
|
-
|
|
430
|
+
// Auto-build: install dependencies and compile before registering MCP
|
|
431
|
+
let buildSuccess = false;
|
|
432
|
+
let buildError;
|
|
433
|
+
try {
|
|
434
|
+
execFileSync('npm', ['install', '--no-fund', '--no-audit'], {
|
|
435
|
+
cwd: agentDir,
|
|
436
|
+
stdio: 'pipe',
|
|
437
|
+
timeout: 120_000,
|
|
438
|
+
});
|
|
439
|
+
execFileSync('npm', ['run', 'build'], {
|
|
440
|
+
cwd: agentDir,
|
|
441
|
+
stdio: 'pipe',
|
|
442
|
+
timeout: 60_000,
|
|
443
|
+
});
|
|
444
|
+
buildSuccess = true;
|
|
445
|
+
}
|
|
446
|
+
catch (err) {
|
|
447
|
+
buildError = err instanceof Error ? err.message : String(err);
|
|
448
|
+
}
|
|
449
|
+
// Register the agent as an MCP server in ~/.claude.json (only if build succeeded)
|
|
450
|
+
let mcpReg;
|
|
451
|
+
if (buildSuccess) {
|
|
452
|
+
mcpReg = registerMcpServer(config.id, agentDir);
|
|
453
|
+
}
|
|
454
|
+
else {
|
|
455
|
+
mcpReg = {
|
|
456
|
+
registered: false,
|
|
457
|
+
path: join(homedir(), '.claude.json'),
|
|
458
|
+
error: 'Skipped — build failed',
|
|
459
|
+
};
|
|
460
|
+
}
|
|
424
461
|
const summaryLines = [
|
|
425
462
|
`Created ${config.name} agent at ${agentDir}`,
|
|
426
463
|
`${config.domains.length + 1} facades with ${totalOps} operations`,
|
|
@@ -430,6 +467,13 @@ export function scaffold(config) {
|
|
|
430
467
|
`1 test suite — facades (vault, brain, planner, llm tests provided by @soleri/core)`,
|
|
431
468
|
`${skillFiles.length} built-in skills (TDD, debugging, planning, vault, brain debrief)`,
|
|
432
469
|
];
|
|
470
|
+
if (buildSuccess) {
|
|
471
|
+
summaryLines.push('Built successfully (npm install + npm run build)');
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
summaryLines.push(`Warning: Auto-build failed: ${buildError}`);
|
|
475
|
+
summaryLines.push(` Run manually: cd ${agentDir} && npm install && npm run build`);
|
|
476
|
+
}
|
|
433
477
|
if (config.hookPacks?.length) {
|
|
434
478
|
summaryLines.push(`${config.hookPacks.length} hook pack(s) bundled in .claude/`);
|
|
435
479
|
}
|
|
@@ -439,7 +483,7 @@ export function scaffold(config) {
|
|
|
439
483
|
else {
|
|
440
484
|
summaryLines.push(`Warning: Failed to register MCP server in ${mcpReg.path}: ${mcpReg.error}`);
|
|
441
485
|
}
|
|
442
|
-
summaryLines.push('', 'Next steps:',
|
|
486
|
+
summaryLines.push('', 'Next steps:', ' Restart Claude Code', ` Say "Hello, ${config.name}!" to activate the persona`);
|
|
443
487
|
return {
|
|
444
488
|
success: true,
|
|
445
489
|
agentDir,
|
package/dist/scaffolder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export const PERSONA: AgentPersona = {
|
|
|
15
15
|
principles: [
|
|
16
16
|
${principleLines}
|
|
17
17
|
],
|
|
18
|
-
greeting: '${escapeQuotes(config.greeting)}',
|
|
18
|
+
greeting: '${escapeQuotes(config.greeting ?? `Hello! I'm ${config.name}.`)}',
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export function getPersonaPrompt(): string {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persona.js","sourceRoot":"","sources":["../../src/templates/persona.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5F,OAAO;;;;;;;;;WASE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;WACzB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;kBAClB,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;;EAEhD,cAAc;;eAED,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"persona.js","sourceRoot":"","sources":["../../src/templates/persona.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5F,OAAO;;;;;;;;;WASE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;WACzB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;kBAClB,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;;EAEhD,cAAc;;eAED,YAAY,CAAC,MAAM,CAAC,QAAQ,IAAI,cAAc,MAAM,CAAC,IAAI,GAAG,CAAC;;;;;;;;;;;;;;;;;;;CAmB3E,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -13,10 +13,10 @@ export declare const AgentConfigSchema: z.ZodObject<{
|
|
|
13
13
|
domains: z.ZodArray<z.ZodString, "many">;
|
|
14
14
|
/** Core principles the agent follows (3-7 recommended) */
|
|
15
15
|
principles: z.ZodArray<z.ZodString, "many">;
|
|
16
|
-
/** Greeting message when agent introduces itself */
|
|
17
|
-
greeting: z.ZodString
|
|
18
|
-
/** Output directory (parent — agent dir will be created inside) */
|
|
19
|
-
outputDir: z.ZodString
|
|
16
|
+
/** Greeting message when agent introduces itself (auto-generated if omitted) */
|
|
17
|
+
greeting: z.ZodOptional<z.ZodString>;
|
|
18
|
+
/** Output directory (parent — agent dir will be created inside, defaults to cwd) */
|
|
19
|
+
outputDir: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
20
20
|
/** Hook packs to install after scaffolding (optional) */
|
|
21
21
|
hookPacks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
22
22
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -26,8 +26,8 @@ export declare const AgentConfigSchema: z.ZodObject<{
|
|
|
26
26
|
description: string;
|
|
27
27
|
domains: string[];
|
|
28
28
|
principles: string[];
|
|
29
|
-
greeting: string;
|
|
30
29
|
outputDir: string;
|
|
30
|
+
greeting?: string | undefined;
|
|
31
31
|
hookPacks?: string[] | undefined;
|
|
32
32
|
}, {
|
|
33
33
|
id: string;
|
|
@@ -36,8 +36,8 @@ export declare const AgentConfigSchema: z.ZodObject<{
|
|
|
36
36
|
description: string;
|
|
37
37
|
domains: string[];
|
|
38
38
|
principles: string[];
|
|
39
|
-
greeting
|
|
40
|
-
outputDir
|
|
39
|
+
greeting?: string | undefined;
|
|
40
|
+
outputDir?: string | undefined;
|
|
41
41
|
hookPacks?: string[] | undefined;
|
|
42
42
|
}>;
|
|
43
43
|
export type AgentConfig = z.infer<typeof AgentConfigSchema>;
|
package/dist/types.js
CHANGED
|
@@ -13,10 +13,10 @@ export const AgentConfigSchema = z.object({
|
|
|
13
13
|
domains: z.array(z.string().min(1)).min(1).max(20),
|
|
14
14
|
/** Core principles the agent follows (3-7 recommended) */
|
|
15
15
|
principles: z.array(z.string()).min(1).max(10),
|
|
16
|
-
/** Greeting message when agent introduces itself */
|
|
17
|
-
greeting: z.string().min(10).max(300),
|
|
18
|
-
/** Output directory (parent — agent dir will be created inside) */
|
|
19
|
-
outputDir: z.string().min(1),
|
|
16
|
+
/** Greeting message when agent introduces itself (auto-generated if omitted) */
|
|
17
|
+
greeting: z.string().min(10).max(300).optional(),
|
|
18
|
+
/** Output directory (parent — agent dir will be created inside, defaults to cwd) */
|
|
19
|
+
outputDir: z.string().min(1).optional().default(process.cwd()),
|
|
20
20
|
/** Hook packs to install after scaffolding (optional) */
|
|
21
21
|
hookPacks: z.array(z.string()).optional(),
|
|
22
22
|
});
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,yEAAyE;IACzE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,gDAAgD,CAAC;IAC3F,kCAAkC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B,gCAAgC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,iDAAiD;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,0CAA0C;IAC1C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAClD,0DAA0D;IAC1D,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,yEAAyE;IACzE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,gDAAgD,CAAC;IAC3F,kCAAkC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B,gCAAgC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,iDAAiD;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,0CAA0C;IAC1C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAClD,0DAA0D;IAC1D,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,gFAAgF;IAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAChD,oFAAoF;IACpF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9D,yDAAyD;IACzD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -28,8 +28,9 @@ export const forgeOps: OpDef[] = [
|
|
|
28
28
|
name: 'create',
|
|
29
29
|
description:
|
|
30
30
|
'Scaffold a complete MCP agent project with activation system. ' +
|
|
31
|
-
'This creates the full directory structure, source files, config, and activation module
|
|
32
|
-
'
|
|
31
|
+
'This creates the full directory structure, source files, config, and activation module, ' +
|
|
32
|
+
'then auto-builds (npm install + npm run build) and registers the MCP server. ' +
|
|
33
|
+
'After creation: restart Claude Code and say "Hello, {Name}!" to activate.',
|
|
33
34
|
schema: AgentConfigSchema,
|
|
34
35
|
handler: async (params) => {
|
|
35
36
|
const config = AgentConfigSchema.parse(params);
|
|
@@ -111,7 +112,7 @@ export const forgeOps: OpDef[] = [
|
|
|
111
112
|
{
|
|
112
113
|
step: 6,
|
|
113
114
|
action: 'Create the agent',
|
|
114
|
-
ask: 'Call create with the confirmed config.
|
|
115
|
+
ask: 'Call create with the confirmed config. The agent is auto-built (npm install + build) and MCP server is registered in ~/.claude.json automatically.',
|
|
115
116
|
},
|
|
116
117
|
{
|
|
117
118
|
step: 7,
|
package/src/scaffolder.ts
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
} from 'node:fs';
|
|
9
9
|
import { join, dirname } from 'node:path';
|
|
10
10
|
import { homedir } from 'node:os';
|
|
11
|
+
import { execFileSync } from 'node:child_process';
|
|
11
12
|
import type { AgentConfig, ScaffoldResult, ScaffoldPreview, AgentInfo } from './types.js';
|
|
12
13
|
|
|
13
14
|
import { generatePackageJson } from './templates/package-json.js';
|
|
@@ -361,6 +362,13 @@ export function previewScaffold(config: AgentConfig): ScaffoldPreview {
|
|
|
361
362
|
* Scaffold a complete MCP agent project.
|
|
362
363
|
*/
|
|
363
364
|
export function scaffold(config: AgentConfig): ScaffoldResult {
|
|
365
|
+
// Default greeting if not provided
|
|
366
|
+
if (!config.greeting) {
|
|
367
|
+
config = {
|
|
368
|
+
...config,
|
|
369
|
+
greeting: `Hello! I'm ${config.name}, your AI assistant for ${config.role}.`,
|
|
370
|
+
};
|
|
371
|
+
}
|
|
364
372
|
const agentDir = join(config.outputDir, config.id);
|
|
365
373
|
const filesCreated: string[] = [];
|
|
366
374
|
|
|
@@ -453,8 +461,36 @@ export function scaffold(config: AgentConfig): ScaffoldResult {
|
|
|
453
461
|
|
|
454
462
|
const totalOps = config.domains.length * 5 + 61; // 5 per domain + 56 core (from createCoreOps) + 5 agent-specific
|
|
455
463
|
|
|
456
|
-
//
|
|
457
|
-
|
|
464
|
+
// Auto-build: install dependencies and compile before registering MCP
|
|
465
|
+
let buildSuccess = false;
|
|
466
|
+
let buildError: string | undefined;
|
|
467
|
+
try {
|
|
468
|
+
execFileSync('npm', ['install', '--no-fund', '--no-audit'], {
|
|
469
|
+
cwd: agentDir,
|
|
470
|
+
stdio: 'pipe',
|
|
471
|
+
timeout: 120_000,
|
|
472
|
+
});
|
|
473
|
+
execFileSync('npm', ['run', 'build'], {
|
|
474
|
+
cwd: agentDir,
|
|
475
|
+
stdio: 'pipe',
|
|
476
|
+
timeout: 60_000,
|
|
477
|
+
});
|
|
478
|
+
buildSuccess = true;
|
|
479
|
+
} catch (err) {
|
|
480
|
+
buildError = err instanceof Error ? err.message : String(err);
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
// Register the agent as an MCP server in ~/.claude.json (only if build succeeded)
|
|
484
|
+
let mcpReg: { registered: boolean; path: string; error?: string };
|
|
485
|
+
if (buildSuccess) {
|
|
486
|
+
mcpReg = registerMcpServer(config.id, agentDir);
|
|
487
|
+
} else {
|
|
488
|
+
mcpReg = {
|
|
489
|
+
registered: false,
|
|
490
|
+
path: join(homedir(), '.claude.json'),
|
|
491
|
+
error: 'Skipped — build failed',
|
|
492
|
+
};
|
|
493
|
+
}
|
|
458
494
|
|
|
459
495
|
const summaryLines = [
|
|
460
496
|
`Created ${config.name} agent at ${agentDir}`,
|
|
@@ -466,6 +502,13 @@ export function scaffold(config: AgentConfig): ScaffoldResult {
|
|
|
466
502
|
`${skillFiles.length} built-in skills (TDD, debugging, planning, vault, brain debrief)`,
|
|
467
503
|
];
|
|
468
504
|
|
|
505
|
+
if (buildSuccess) {
|
|
506
|
+
summaryLines.push('Built successfully (npm install + npm run build)');
|
|
507
|
+
} else {
|
|
508
|
+
summaryLines.push(`Warning: Auto-build failed: ${buildError}`);
|
|
509
|
+
summaryLines.push(` Run manually: cd ${agentDir} && npm install && npm run build`);
|
|
510
|
+
}
|
|
511
|
+
|
|
469
512
|
if (config.hookPacks?.length) {
|
|
470
513
|
summaryLines.push(`${config.hookPacks.length} hook pack(s) bundled in .claude/`);
|
|
471
514
|
}
|
|
@@ -479,9 +522,6 @@ export function scaffold(config: AgentConfig): ScaffoldResult {
|
|
|
479
522
|
summaryLines.push(
|
|
480
523
|
'',
|
|
481
524
|
'Next steps:',
|
|
482
|
-
` cd ${agentDir}`,
|
|
483
|
-
' npm install && npm run build',
|
|
484
|
-
' npm test # verify all tests pass',
|
|
485
525
|
' Restart Claude Code',
|
|
486
526
|
` Say "Hello, ${config.name}!" to activate the persona`,
|
|
487
527
|
);
|
package/src/templates/persona.ts
CHANGED
|
@@ -18,7 +18,7 @@ export const PERSONA: AgentPersona = {
|
|
|
18
18
|
principles: [
|
|
19
19
|
${principleLines}
|
|
20
20
|
],
|
|
21
|
-
greeting: '${escapeQuotes(config.greeting)}',
|
|
21
|
+
greeting: '${escapeQuotes(config.greeting ?? `Hello! I'm ${config.name}.`)}',
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
export function getPersonaPrompt(): string {
|
package/src/types.ts
CHANGED
|
@@ -14,10 +14,10 @@ export const AgentConfigSchema = z.object({
|
|
|
14
14
|
domains: z.array(z.string().min(1)).min(1).max(20),
|
|
15
15
|
/** Core principles the agent follows (3-7 recommended) */
|
|
16
16
|
principles: z.array(z.string()).min(1).max(10),
|
|
17
|
-
/** Greeting message when agent introduces itself */
|
|
18
|
-
greeting: z.string().min(10).max(300),
|
|
19
|
-
/** Output directory (parent — agent dir will be created inside) */
|
|
20
|
-
outputDir: z.string().min(1),
|
|
17
|
+
/** Greeting message when agent introduces itself (auto-generated if omitted) */
|
|
18
|
+
greeting: z.string().min(10).max(300).optional(),
|
|
19
|
+
/** Output directory (parent — agent dir will be created inside, defaults to cwd) */
|
|
20
|
+
outputDir: z.string().min(1).optional().default(process.cwd()),
|
|
21
21
|
/** Hook packs to install after scaffolding (optional) */
|
|
22
22
|
hookPacks: z.array(z.string()).optional(),
|
|
23
23
|
});
|