@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.
@@ -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
- 'After creation: npm install && npm run build, then say "Hello, {Name}!" to activate.',
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. Then guide the user through npm install and npm run build. The MCP server is automatically registered in ~/.claude.json.',
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":"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"}
1
+ {"version":3,"file":"forge.facade.js","sourceRoot":"","sources":["../../src/facades/forge.facade.ts"],"names":[],"mappings":"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"}
@@ -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
- // Register the agent as an MCP server in ~/.claude.json
423
- const mcpReg = registerMcpServer(config.id, agentDir);
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:', ` cd ${agentDir}`, ' npm install && npm run build', ' npm test # verify all tests pass', ' Restart Claude Code', ` Say "Hello, ${config.name}!" to activate the persona`);
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,
@@ -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;;;;;;;;;;;;;;;;;;;CAmB3C,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"}
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: string;
40
- outputDir: string;
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,oDAAoD;IACpD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACrC,mEAAmE;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,yDAAyD;IACzD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soleri/forge",
3
- "version": "5.6.0",
3
+ "version": "5.8.0",
4
4
  "description": "Scaffold AI agents that learn, remember, and grow with you.",
5
5
  "keywords": [
6
6
  "agent",
@@ -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
- 'After creation: npm install && npm run build, then say "Hello, {Name}!" to activate.',
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. Then guide the user through npm install and npm run build. The MCP server is automatically registered in ~/.claude.json.',
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
- // Register the agent as an MCP server in ~/.claude.json
457
- const mcpReg = registerMcpServer(config.id, agentDir);
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
  );
@@ -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
  });