smart-spec-kit-mcp 2.2.6 → 2.2.7

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/README.md CHANGED
@@ -100,6 +100,12 @@ smart-spec-kit-mcp/
100
100
  │ │ ├── feature-full.yaml # 5-step (détaillé)
101
101
  │ │ ├── bugfix-quick.yaml # 2-step (bugfix rapide)
102
102
  │ │ └── bugfix.yaml
103
+ │ ├── agents/ # Agents IA customisables
104
+ │ │ ├── SpecAgent.md # Rédacteur de spécifications
105
+ │ │ ├── PlanAgent.md # Planificateur technique
106
+ │ │ ├── GovAgent.md # Validateur gouvernance
107
+ │ │ ├── TestAgent.md # Stratège de tests
108
+ │ │ └── _CustomAgent.template.md # Template pour créer vos agents
103
109
  │ ├── rules/ # Règles de validation
104
110
  │ │ ├── security-rules.md # Règles OWASP
105
111
  │ │ └── rgpd-rules.md # Conformité GDPR
@@ -120,6 +126,7 @@ votre-projet/
120
126
  │ ├── prompts/ # Override les prompts par défaut
121
127
  │ ├── templates/ # Override les templates par défaut
122
128
  │ ├── workflows/ # Vos workflows personnalisés
129
+ │ ├── agents/ # Vos agents personnalisés ← NOUVEAU
123
130
  │ ├── rules/ # Vos règles de validation
124
131
  │ └── memory/
125
132
  │ └── constitution.md # Principes de votre projet
@@ -127,7 +134,7 @@ votre-projet/
127
134
  └── validations/ # Rapports de validation
128
135
  ```
129
136
 
130
- **Note**: Les workflows et templates par défaut viennent de `starter-kit/` du package.
137
+ **Note**: Les workflows, templates et agents par défaut viennent de `starter-kit/` du package.
131
138
  Vous pouvez personnaliser en créant des fichiers dans `.spec-kit/`.
132
139
 
133
140
  ---
@@ -263,6 +270,71 @@ steps:
263
270
  description: "Génère le plan"
264
271
  ```
265
272
 
273
+ #### À propos des "Agents"
274
+
275
+ ⚠️ **Important** : Les agents Spec-Kit (SpecAgent, PlanAgent, GovAgent, TestAgent) **ne sont PAS** des agents GitHub Copilot.
276
+
277
+ Ce sont des **system prompts prédéfinis** qui guident le comportement de Copilot :
278
+
279
+ | Agent | Rôle | Fichier |
280
+ |-------|------|---------|
281
+ | **SpecAgent** | Rédacteur de spécifications | `SpecAgent.md` |
282
+ | **PlanAgent** | Planificateur technique | `PlanAgent.md` |
283
+ | **GovAgent** | Validateur de gouvernance | `GovAgent.md` |
284
+ | **TestAgent** | Stratège de tests | `TestAgent.md` |
285
+
286
+ Quand vous mettez `agent: SpecAgent` dans une étape, Spec-Kit envoie le system prompt de SpecAgent à Copilot.
287
+
288
+ #### Créer un Agent Personnalisé
289
+
290
+ Les agents sont maintenant **entièrement customisables** depuis `.spec-kit/agents/` :
291
+
292
+ ```markdown
293
+ # .spec-kit/agents/SecurityAgent.md
294
+
295
+ ---
296
+ name: SecurityAgent
297
+ displayName: "Security Review Agent"
298
+ description: "Expert en sécurité applicative"
299
+ capabilities:
300
+ - Identifier les vulnérabilités
301
+ - Recommander les bonnes pratiques
302
+ ---
303
+
304
+ ## System Prompt
305
+
306
+ Tu es SecurityAgent, un expert en sécurité applicative...
307
+ ```
308
+
309
+ Puis utilisez dans vos workflows :
310
+
311
+ ```yaml
312
+ steps:
313
+ - id: security-review
314
+ agent: SecurityAgent # Votre agent custom !
315
+ action: call_agent
316
+ ```
317
+
318
+ Pour plus de détails : [Understanding Spec-Kit Agents](docs/DOCUMENTATION.md#understanding-spec-kit-agents)
319
+
320
+ #### Validation du Schéma de Workflow
321
+
322
+ Chaque workflow YAML est validé automatiquement contre un schéma Zod. Les champs obligatoires sont :
323
+ - `name` - Identifiant unique
324
+ - `displayName` - Nom visible
325
+ - `description` - Description
326
+ - `template` - Fichier template
327
+ - `steps` - Au moins une étape
328
+
329
+ Erreur si validation échoue :
330
+ ```
331
+ Error: Invalid workflow "mon-workflow":
332
+ - steps.0.action: Invalid enum value
333
+ - name: Required
334
+ ```
335
+
336
+ Pour plus de détails sur le schéma, voir [Workflow Validation Schema](docs/DOCUMENTATION.md#workflow-validation-schema).
337
+
266
338
  ---
267
339
 
268
340
  ## ❓ Obtenir de l'Aide
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Agent Tools
3
3
  *
4
- * MCP tools for interacting with agent system prompts
4
+ * MCP tools for interacting with agent system prompts.
5
+ * Supports both built-in agents and custom agents from .spec-kit/agents/
5
6
  */
6
7
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
7
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agentTools.d.ts","sourceRoot":"","sources":["../../src/tools/agentTools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgI1D"}
1
+ {"version":3,"file":"agentTools.d.ts","sourceRoot":"","sources":["../../src/tools/agentTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+H1D"}
@@ -1,26 +1,25 @@
1
1
  /**
2
2
  * Agent Tools
3
3
  *
4
- * MCP tools for interacting with agent system prompts
4
+ * MCP tools for interacting with agent system prompts.
5
+ * Supports both built-in agents and custom agents from .spec-kit/agents/
5
6
  */
6
7
  import { z } from "zod";
7
- import { AgentRegistry, getAgent, listAgents } from "../prompts/agents.js";
8
+ import { loadAgent, listAgentsDetailed } from "../utils/agentLoader.js";
8
9
  /**
9
10
  * Register agent-related tools on the MCP server
10
11
  */
11
12
  export function registerAgentTools(server) {
12
- // Tool: list_agents - List all available agents
13
- server.tool("list_agents", "List all available AI agents and their capabilities. Use this to understand which agent to use for a specific task.", {}, async () => {
14
- const agents = listAgents();
15
- const formatted = agents.map((agent) => {
16
- const full = AgentRegistry[agent.name];
17
- return {
18
- name: agent.name,
19
- displayName: agent.displayName,
20
- description: agent.description,
21
- capabilities: full.capabilities,
22
- };
23
- });
13
+ // Tool: list_agents - List all available agents (built-in + custom)
14
+ server.tool("list_agents", "List all available AI agents and their capabilities. Includes both built-in agents and custom agents from .spec-kit/agents/.", {}, async () => {
15
+ const agents = await listAgentsDetailed();
16
+ const formatted = agents.map((agent) => ({
17
+ name: agent.name,
18
+ displayName: agent.displayName,
19
+ description: agent.description,
20
+ capabilities: agent.capabilities,
21
+ source: agent.source, // "local" or "builtin"
22
+ }));
24
23
  return {
25
24
  content: [{
26
25
  type: "text",
@@ -29,12 +28,12 @@ export function registerAgentTools(server) {
29
28
  };
30
29
  });
31
30
  // Tool: get_agent_prompt - Get system prompt for an agent
32
- server.tool("get_agent_prompt", "Retrieve the full system prompt for a specific agent. Use this to understand how an agent behaves and its guidelines.", {
33
- agent_name: z.enum(["SpecAgent", "PlanAgent", "GovAgent", "TestAgent"])
34
- .describe("Name of the agent to get prompt for"),
31
+ server.tool("get_agent_prompt", "Retrieve the full system prompt for a specific agent. Supports built-in agents and custom agents from .spec-kit/agents/.", {
32
+ agent_name: z.string()
33
+ .describe("Name of the agent to get prompt for (e.g., SpecAgent, PlanAgent, or a custom agent name)"),
35
34
  }, async ({ agent_name }) => {
36
35
  try {
37
- const agent = getAgent(agent_name);
36
+ const agent = await loadAgent(agent_name);
38
37
  const response = `# Agent: ${agent.displayName}
39
38
 
40
39
  ## Description
@@ -66,16 +65,16 @@ ${agent.systemPrompt}
66
65
  }
67
66
  });
68
67
  // Tool: invoke_agent - Get agent context for a specific task
69
- server.tool("invoke_agent", "Prepare an agent context for a specific task. Returns the agent's system prompt combined with task instructions.", {
70
- agent_name: z.enum(["SpecAgent", "PlanAgent", "GovAgent", "TestAgent"])
71
- .describe("Name of the agent to invoke"),
68
+ server.tool("invoke_agent", "Prepare an agent context for a specific task. Returns the agent's system prompt combined with task instructions. Supports custom agents.", {
69
+ agent_name: z.string()
70
+ .describe("Name of the agent to invoke (e.g., SpecAgent, PlanAgent, or a custom agent name)"),
72
71
  task_description: z.string()
73
72
  .describe("Description of the task for the agent to perform"),
74
73
  context: z.string().optional()
75
74
  .describe("Additional context or data for the agent (e.g., work item details)"),
76
75
  }, async ({ agent_name, task_description, context }) => {
77
76
  try {
78
- const agent = getAgent(agent_name);
77
+ const agent = await loadAgent(agent_name);
79
78
  const response = `# 🤖 ${agent.displayName} Activated
80
79
 
81
80
  ## System Context
@@ -1 +1 @@
1
- {"version":3,"file":"agentTools.js","sourceRoot":"","sources":["../../src/tools/agentTools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAkB,MAAM,sBAAsB,CAAC;AAE3F;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAElD,gDAAgD;IAChD,MAAM,CAAC,IAAI,CACT,aAAa,EACb,qHAAqH,EACrH,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACrD,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,0DAA0D;IAC1D,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,uHAAuH,EACvH;QACE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;aACpE,QAAQ,CAAC,qCAAqC,CAAC;KACnD,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAuB,CAAC,CAAC;YAEhD,MAAM,QAAQ,GAAG,YAAY,KAAK,CAAC,WAAW;;;EAGpD,KAAK,CAAC,WAAW;;;EAGjB,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIlD,KAAK,CAAC,YAAY;;CAEnB,CAAC;YAEM,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,QAAQ;qBACf,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC3E,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6DAA6D;IAC7D,MAAM,CAAC,IAAI,CACT,cAAc,EACd,kHAAkH,EAClH;QACE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;aACpE,QAAQ,CAAC,6BAA6B,CAAC;QAC1C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;aACzB,QAAQ,CAAC,kDAAkD,CAAC;QAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC3B,QAAQ,CAAC,oEAAoE,CAAC;KAClF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAuB,CAAC,CAAC;YAEhD,MAAM,QAAQ,GAAG,QAAQ,KAAK,CAAC,WAAW;;;EAGhD,KAAK,CAAC,YAAY;;;;;;YAMR,gBAAgB;;EAE1B,OAAO,CAAC,CAAC,CAAC,0BAA0B,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE;;;;6BAI9B,KAAK,CAAC,WAAW;;;EAG5C,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;CAGnD,CAAC;YAEM,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,QAAQ;qBACf,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC3E,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"agentTools.js","sourceRoot":"","sources":["../../src/tools/agentTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Agent Loader
3
+ *
4
+ * Loads agent definitions with local override support.
5
+ *
6
+ * Resolution order:
7
+ * 1. Local project: .spec-kit/agents/
8
+ * 2. Package defaults: Built-in agents (src/prompts/agents.ts)
9
+ *
10
+ * This allows any project to customize agents or create new ones.
11
+ */
12
+ import { type AgentDefinition, type AgentType } from "../prompts/agents.js";
13
+ /**
14
+ * Extended agent type that includes custom agents
15
+ */
16
+ export type ExtendedAgentType = AgentType | string;
17
+ /**
18
+ * Load a single agent by name
19
+ *
20
+ * Resolution order:
21
+ * 1. Local override: .spec-kit/agents/{name}.md
22
+ * 2. Built-in agent from AgentRegistry
23
+ */
24
+ export declare function loadAgent(name: ExtendedAgentType): Promise<AgentDefinition>;
25
+ /**
26
+ * Get the system prompt for an agent
27
+ */
28
+ export declare function getAgentPrompt(name: ExtendedAgentType): Promise<string>;
29
+ /**
30
+ * List all available agents (local + built-in)
31
+ * Local agents override built-in agents with the same name
32
+ */
33
+ export declare function listAllAgents(): Promise<Array<{
34
+ name: string;
35
+ displayName: string;
36
+ description: string;
37
+ source: "local" | "builtin";
38
+ }>>;
39
+ /**
40
+ * List agents with full details (including capabilities)
41
+ */
42
+ export declare function listAgentsDetailed(): Promise<Array<{
43
+ name: string;
44
+ displayName: string;
45
+ description: string;
46
+ capabilities: string[];
47
+ source: "local" | "builtin";
48
+ }>>;
49
+ /**
50
+ * Check if an agent exists (local or built-in)
51
+ */
52
+ export declare function agentExists(name: string): Promise<boolean>;
53
+ //# sourceMappingURL=agentLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentLoader.d.ts","sourceRoot":"","sources":["../../src/utils/agentLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAiB,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAM3F;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAC;AA4GnD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,CAwBjF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAG7E;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,CAAC,CAAC,CA0CF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,CAAC,CAAC,CA6CF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAShE"}
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Agent Loader
3
+ *
4
+ * Loads agent definitions with local override support.
5
+ *
6
+ * Resolution order:
7
+ * 1. Local project: .spec-kit/agents/
8
+ * 2. Package defaults: Built-in agents (src/prompts/agents.ts)
9
+ *
10
+ * This allows any project to customize agents or create new ones.
11
+ */
12
+ import * as fs from "node:fs/promises";
13
+ import * as path from "node:path";
14
+ import yaml from "js-yaml";
15
+ import { AgentRegistry } from "../prompts/agents.js";
16
+ // Directory name for local agents
17
+ const AGENTS_DIR = "agents";
18
+ const LOCAL_CONFIG_DIR = ".spec-kit";
19
+ /**
20
+ * Get the current working directory (user's project)
21
+ */
22
+ function getProjectRoot() {
23
+ return process.cwd();
24
+ }
25
+ /**
26
+ * Check if a file exists
27
+ */
28
+ async function fileExists(filePath) {
29
+ try {
30
+ await fs.access(filePath);
31
+ return true;
32
+ }
33
+ catch {
34
+ return false;
35
+ }
36
+ }
37
+ /**
38
+ * Parse a Markdown agent file with YAML frontmatter
39
+ *
40
+ * Expected format:
41
+ * ```
42
+ * ---
43
+ * name: MyAgent
44
+ * displayName: "My Custom Agent"
45
+ * description: "What this agent does"
46
+ * capabilities:
47
+ * - Capability 1
48
+ * - Capability 2
49
+ * ---
50
+ *
51
+ * ## System Prompt
52
+ *
53
+ * Your system prompt content here...
54
+ * ```
55
+ */
56
+ async function parseAgentFile(filePath) {
57
+ try {
58
+ const content = await fs.readFile(filePath, "utf-8");
59
+ // Extract frontmatter (between --- markers)
60
+ const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
61
+ if (!frontmatterMatch) {
62
+ console.warn(`Agent file ${filePath} has no valid frontmatter`);
63
+ return null;
64
+ }
65
+ const frontmatterRaw = frontmatterMatch[1] ?? "";
66
+ const systemPrompt = frontmatterMatch[2]?.trim() || "";
67
+ // Parse YAML frontmatter
68
+ const frontmatter = yaml.load(frontmatterRaw);
69
+ if (!frontmatter.name || !frontmatter.displayName || !frontmatter.description) {
70
+ console.warn(`Agent file ${filePath} missing required fields (name, displayName, description)`);
71
+ return null;
72
+ }
73
+ return {
74
+ name: frontmatter.name,
75
+ displayName: frontmatter.displayName,
76
+ description: frontmatter.description,
77
+ capabilities: frontmatter.capabilities || [],
78
+ systemPrompt: systemPrompt,
79
+ };
80
+ }
81
+ catch (error) {
82
+ console.warn(`Failed to parse agent file ${filePath}:`, error);
83
+ return null;
84
+ }
85
+ }
86
+ /**
87
+ * Get the local agents directory path
88
+ */
89
+ function getLocalAgentsDir() {
90
+ return path.join(getProjectRoot(), LOCAL_CONFIG_DIR, AGENTS_DIR);
91
+ }
92
+ /**
93
+ * List all local agent files
94
+ */
95
+ async function listLocalAgentFiles() {
96
+ const agentsDir = getLocalAgentsDir();
97
+ try {
98
+ const files = await fs.readdir(agentsDir);
99
+ return files.filter(f => f.endsWith(".md"));
100
+ }
101
+ catch {
102
+ // Directory doesn't exist
103
+ return [];
104
+ }
105
+ }
106
+ /**
107
+ * Load a single agent by name
108
+ *
109
+ * Resolution order:
110
+ * 1. Local override: .spec-kit/agents/{name}.md
111
+ * 2. Built-in agent from AgentRegistry
112
+ */
113
+ export async function loadAgent(name) {
114
+ // 1. Try local override first
115
+ const localPath = path.join(getLocalAgentsDir(), `${name}.md`);
116
+ if (await fileExists(localPath)) {
117
+ const localAgent = await parseAgentFile(localPath);
118
+ if (localAgent) {
119
+ return localAgent;
120
+ }
121
+ }
122
+ // 2. Fall back to built-in agent
123
+ const builtinAgent = AgentRegistry[name];
124
+ if (builtinAgent) {
125
+ return builtinAgent;
126
+ }
127
+ // 3. Agent not found
128
+ const available = await listAllAgents();
129
+ throw new Error(`Agent "${name}" not found.\n` +
130
+ `Available agents: ${available.map(a => a.name).join(", ") || "none"}\n\n` +
131
+ `Tip: Create custom agents in .spec-kit/agents/${name}.md`);
132
+ }
133
+ /**
134
+ * Get the system prompt for an agent
135
+ */
136
+ export async function getAgentPrompt(name) {
137
+ const agent = await loadAgent(name);
138
+ return agent.systemPrompt;
139
+ }
140
+ /**
141
+ * List all available agents (local + built-in)
142
+ * Local agents override built-in agents with the same name
143
+ */
144
+ export async function listAllAgents() {
145
+ const results = [];
146
+ const seen = new Set();
147
+ // 1. Load local agents first (they take priority)
148
+ const localFiles = await listLocalAgentFiles();
149
+ for (const file of localFiles) {
150
+ const filePath = path.join(getLocalAgentsDir(), file);
151
+ const agent = await parseAgentFile(filePath);
152
+ if (agent && !seen.has(agent.name)) {
153
+ seen.add(agent.name);
154
+ results.push({
155
+ name: agent.name,
156
+ displayName: agent.displayName,
157
+ description: agent.description,
158
+ source: "local",
159
+ });
160
+ }
161
+ }
162
+ // 2. Add built-in agents (if not overridden)
163
+ for (const [name, agent] of Object.entries(AgentRegistry)) {
164
+ if (!seen.has(name)) {
165
+ seen.add(name);
166
+ results.push({
167
+ name: agent.name,
168
+ displayName: agent.displayName,
169
+ description: agent.description,
170
+ source: "builtin",
171
+ });
172
+ }
173
+ }
174
+ return results;
175
+ }
176
+ /**
177
+ * List agents with full details (including capabilities)
178
+ */
179
+ export async function listAgentsDetailed() {
180
+ const results = [];
181
+ const seen = new Set();
182
+ // 1. Load local agents first
183
+ const localFiles = await listLocalAgentFiles();
184
+ for (const file of localFiles) {
185
+ const filePath = path.join(getLocalAgentsDir(), file);
186
+ const agent = await parseAgentFile(filePath);
187
+ if (agent && !seen.has(agent.name)) {
188
+ seen.add(agent.name);
189
+ results.push({
190
+ name: agent.name,
191
+ displayName: agent.displayName,
192
+ description: agent.description,
193
+ capabilities: agent.capabilities,
194
+ source: "local",
195
+ });
196
+ }
197
+ }
198
+ // 2. Add built-in agents
199
+ for (const [name, agent] of Object.entries(AgentRegistry)) {
200
+ if (!seen.has(name)) {
201
+ seen.add(name);
202
+ results.push({
203
+ name: agent.name,
204
+ displayName: agent.displayName,
205
+ description: agent.description,
206
+ capabilities: agent.capabilities,
207
+ source: "builtin",
208
+ });
209
+ }
210
+ }
211
+ return results;
212
+ }
213
+ /**
214
+ * Check if an agent exists (local or built-in)
215
+ */
216
+ export async function agentExists(name) {
217
+ // Check local
218
+ const localPath = path.join(getLocalAgentsDir(), `${name}.md`);
219
+ if (await fileExists(localPath)) {
220
+ return true;
221
+ }
222
+ // Check built-in
223
+ return name in AgentRegistry;
224
+ }
225
+ //# sourceMappingURL=agentLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentLoader.js","sourceRoot":"","sources":["../../src/utils/agentLoader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"starterKitInstaller.d.ts","sourceRoot":"","sources":["../../src/utils/starterKitInstaller.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,GACL,OAAO,CAAC,aAAa,CAAC,CA8KxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAW7C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAqGtF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IACrE,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC,CASD"}
1
+ {"version":3,"file":"starterKitInstaller.d.ts","sourceRoot":"","sources":["../../src/utils/starterKitInstaller.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,GACL,OAAO,CAAC,aAAa,CAAC,CAkMxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAW7C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA2GtF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IACrE,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC,CASD"}
@@ -15,6 +15,7 @@ const PROMPTS_DIR = "prompts";
15
15
  const TEMPLATES_DIR = "templates";
16
16
  const MEMORY_DIR = "memory";
17
17
  const RULES_DIR = "rules";
18
+ const AGENTS_DIR = "agents";
18
19
  const SPECS_DIR = "specs";
19
20
  /**
20
21
  * Get the package root directory (where the npm package is installed)
@@ -206,7 +207,26 @@ export async function installStarterKit(projectPath, options = {}) {
206
207
  }
207
208
  }
208
209
  }
209
- // 5. Create specs/ directory
210
+ // 5. Install agents to .spec-kit/agents/
211
+ const agentsSrc = path.join(starterKitPath, "agents");
212
+ const agentsDest = path.join(projectPath, SPEC_KIT_DIR, AGENTS_DIR);
213
+ if (await exists(agentsSrc)) {
214
+ const agentsExist = await exists(agentsDest);
215
+ if (agentsExist && !options.force) {
216
+ result.skipped.push(`${SPEC_KIT_DIR}/${AGENTS_DIR}`);
217
+ }
218
+ else {
219
+ try {
220
+ await copyDir(agentsSrc, agentsDest);
221
+ result.created.push(`${SPEC_KIT_DIR}/${AGENTS_DIR}`);
222
+ }
223
+ catch (error) {
224
+ result.errors.push(`Failed to copy agents: ${error}`);
225
+ result.success = false;
226
+ }
227
+ }
228
+ }
229
+ // 6. Create specs/ directory
210
230
  const specsDir = path.join(projectPath, SPECS_DIR);
211
231
  if (!(await exists(specsDir))) {
212
232
  try {
@@ -310,6 +330,12 @@ export function formatInstallReport(result, projectPath) {
310
330
  report += "│ ├── rules/ # Validation rules (security, RGPD)\n";
311
331
  report += "│ │ ├── security-rules.md\n";
312
332
  report += "│ │ └── rgpd-rules.md\n";
333
+ report += "│ ├── agents/ # Customizable AI agents\n";
334
+ report += "│ │ ├── SpecAgent.md\n";
335
+ report += "│ │ ├── PlanAgent.md\n";
336
+ report += "│ │ ├── GovAgent.md\n";
337
+ report += "│ │ ├── TestAgent.md\n";
338
+ report += "│ │ └── _CustomAgent.template.md\n";
313
339
  report += "│ └── memory/ # Project context\n";
314
340
  report += "│ └── constitution.md # Project principles\n";
315
341
  report += "├── specs/ # Generated specifications\n";
@@ -1 +1 @@
1
- {"version":3,"file":"starterKitInstaller.js","sourceRoot":"","sources":["../../src/utils/starterKitInstaller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"starterKitInstaller.js","sourceRoot":"","sources":["../../src/utils/starterKitInstaller.ts"],"names":[],"mappings":"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"}