/** * Metadata for a slash command */ export interface SlashCommandMetadata { /** Command name (e.g., "git:commit") */ name: string; /** Human-readable description */ description: string; /** The command template with variables */ template: string; /** Source file path */ sourcePath: string; /** Namespace derived from directory structure */ namespace?: string; /** Whether this command should also be exposed as /goal/ */ goal?: boolean; } /** * Parse a command file and extract metadata and template * Supports both frontmatter-based and plain markdown files */ export declare function parseCommandFile(filePath: string, baseDir?: string): Promise; /** * Extract command name from file path * Converts path like "git/commit.md" to "git:commit" */ export declare function extractCommandName(filePath: string, baseDir: string): string; /** * Recursively scan a directory for command files. * @param dirPath - Current directory to scan * @param rootDir - Original root commands directory (used for namespace derivation). * When omitted the first call sets it to dirPath. */ export declare function scanCommandDirectory(dirPath: string, rootDir?: string): Promise; /** * Load custom slash commands from all configured directories * Priority: mastra project > claude project > opencode project > mastra user > claude user > opencode user */ export declare function loadCustomCommands(projectDir?: string, configDirName?: string): Promise; /** * Get the commands directory path for a project */ export declare function getProjectCommandsDir(projectDir: string, configDirName?: string): string; /** * Initialize a commands directory with an example command */ export declare function initCommandsDirectory(projectDir: string, configDirName?: string): Promise; //# sourceMappingURL=slash-command-loader.d.ts.map