The AgentConfig interface defines all configuration options for generated agents. This reference documents every field.
Full Type Definition
1interface AgentConfig {
2 // Basic Information
3 name: string;
4 description: string;
5 domain: AgentDomain;
6 templateId?: string;
7
8 // AI Provider
9 sdkProvider: SDKProvider;
10 model?: string;
11
12 // Capabilities
13 tools: AgentTool[];
14 mcpServers: MCPServer[];
15 customInstructions: string;
16
17 // Advanced Settings
18 permissions: PermissionLevel;
19 maxTokens?: number;
20 temperature?: number;
21
22 // Project Output
23 projectName: string;
24 packageName: string;
25 version: string;
26 author: string;
27 license: string;
28 repository?: string;
29}
Field Reference
Basic Information
| Field | Type | Required | Description |
|---|
name | string | Yes | Display name for the agent |
description | string | Yes | Brief description of the agent's purpose |
domain | AgentDomain | Yes | Agent's area of expertise |
templateId | string | No | ID of selected template |
AgentDomain
1type AgentDomain =
2 | 'development'
3 | 'business'
4 | 'creative'
5 | 'data'
6 | 'knowledge';
AI Provider
| Field | Type | Required | Description |
|---|
sdkProvider | SDKProvider | Yes | AI provider (claude or openai) |
model | string | No | Specific model ID |
Note: API keys are configured via environment variables (ANTHROPIC_API_KEY or OPENAI_API_KEY) when running the generated agent.
SDKProvider
1type SDKProvider = 'claude' | 'openai';
Capabilities
| Field | Type | Required | Description |
|---|
tools | AgentTool[] | Yes | Enabled tools |
mcpServers | MCPServer[] | Yes | MCP server configurations |
customInstructions | string | No | Additional system prompt instructions |
AgentTool
1interface AgentTool {
2 id: string;
3 name: string;
4 description: string;
5 category: ToolCategory;
6 enabled: boolean;
7}
8
9type ToolCategory =
10 | 'file'
11 | 'command'
12 | 'web'
13 | 'database'
14 | 'integration'
15 | 'custom';
MCPServer
1type MCPServer =
2 | MCPStdioServer
3 | MCPHttpServer
4 | MCPSseServer
5 | MCPSdkServer;
6
7interface MCPStdioServer {
8 id: string;
9 name: string;
10 transportType: 'stdio';
11 command: string;
12 args?: string[];
13 env?: Record<string, string>;
14 enabled: boolean;
15}
16
17interface MCPHttpServer {
18 id: string;
19 name: string;
20 transportType: 'http';
21 url: string;
22 headers?: Record<string, string>;
23 enabled: boolean;
24}
25
26interface MCPSseServer {
27 id: string;
28 name: string;
29 transportType: 'sse';
30 url: string;
31 headers?: Record<string, string>;
32 enabled: boolean;
33}
34
35interface MCPSdkServer {
36 id: string;
37 name: string;
38 transportType: 'sdk';
39 serverModule: string;
40 enabled: boolean;
41}
Advanced Settings
| Field | Type | Default | Description |
|---|
permissions | PermissionLevel | balanced | Tool permission level |
maxTokens | number | 4096 | Max response tokens (1000-8000) |
temperature | number | 0.7 | Response randomness (0.0-1.0) |
PermissionLevel
1type PermissionLevel =
2 | 'restrictive'
3 | 'balanced'
4 | 'permissive';
Project Output
| Field | Type | Required | Description |
|---|
projectName | string | Yes | Directory name |
packageName | string | Yes | npm package name |
version | string | Yes | Semantic version |
author | string | Yes | Author name |
license | string | Yes | License identifier |
repository | string | No | Git repository URL |