/** * Template transformer * Transforms templates per assistant configuration * * Handles assistant-specific transformations: * - Frontmatter format (YAML vs JSON) * - Field names (assistant-specific requirements) * - Version headers (frontmatter vs comments vs markdown headers) * - File path transformations (for assistants with different directory naming) */ import { TemplateFile, TemplateFiles } from "./types"; import { AssistantConfig } from "../assistants/types"; /** * Frontmatter format research notes: * * Cursor: Uses YAML frontmatter with fields: priority, command_name, description, version * Claude Code: Assumed similar to Cursor (YAML frontmatter) - TODO: Verify actual format * Windsurf: Uses "workflows" instead of "commands", may have specific format - TODO: Research actual format * Roo Code: Assumed similar to Cursor - TODO: Verify actual format * Antigravity: Uses "workflows" and "rules" in .agent directory - Uses YAML frontmatter * * Current implementation: Uses Cursor format as baseline, can be enhanced per assistant */ /** * Transforms templates for a specific assistant * Adds version headers and applies assistant-specific transformations * Uses the version from TemplateFiles if provided, otherwise defaults to v0.1 * * Assistant-specific handling: * - Checks assistantConfig.frontmatter for format requirements * - Applies assistant-specific frontmatter transformations * - Handles different field names if needed * - For assistants with different directory names (e.g., Windsurf uses "workflows"): * - File paths are preserved (directory structure handled by assistant config) * - For assistants without frontmatter requirements: * - Ensures version is still added (as comment or header) */ export declare function transformTemplates(files: TemplateFiles, assistantConfig: AssistantConfig, templateVersion?: string): TemplateFile[]; //# sourceMappingURL=transformer.d.ts.map