/** * Agent Templates Module * * Defines all SpecForge agent templates for scaffolding to AI CLI tools. */ import type { AgentTemplate, AgentCategory } from '../../commands/scaffold/agent-types.js'; import { SFAG_ORCHESTRATOR } from './content/core/sfag-orchestrator.js'; import { SFAG_SPEC_CREATOR } from './content/core/sfag-spec-creator.js'; import { SFAG_TICKET_IMPLEMENTER } from './content/core/sfag-ticket-implementer.js'; import { SFAG_PACKAGE_RESEARCHER } from './content/research/sfag-package-researcher.js'; const AGENT_TEMPLATES: AgentTemplate[] = [ SFAG_ORCHESTRATOR, SFAG_SPEC_CREATOR, SFAG_TICKET_IMPLEMENTER, SFAG_PACKAGE_RESEARCHER, ]; /** * Get all agent templates */ export function getAgentTemplates(): AgentTemplate[] { return AGENT_TEMPLATES; } /** * Get a specific agent template by name */ export function getAgentTemplate(name: string): AgentTemplate | undefined { return AGENT_TEMPLATES.find(t => t.name === name); } /** * Get agent templates by category */ export function getAgentsByCategory(category: AgentCategory): AgentTemplate[] { return AGENT_TEMPLATES.filter(t => t.category === category); } /** * Get all agent template names */ export function getAgentNames(): string[] { return AGENT_TEMPLATES.map(t => t.name); }