@sethdouglasford/claude-flow
Version:
Claude Code Flow - Advanced AI-powered development workflows with SPARC methodology
69 lines • 2.07 kB
TypeScript
/**
* Prompt registry for MCP server
* Manages prompts that appear as custom slash commands in Claude Code
* Following the pattern: /mcp__<server-name>__<prompt-name>
*/
import { MCPPrompt } from "../utils/types.js";
import { ILogger } from "../core/logger.js";
export interface PromptHandler {
(args: Record<string, unknown>): Promise<string>;
}
export interface RegisteredPrompt extends MCPPrompt {
handler: PromptHandler;
}
/**
* Registry for managing MCP prompts that become slash commands
*/
export declare class PromptRegistry {
private logger;
private prompts;
private readonly serverName;
constructor(logger: ILogger);
/**
* Register a prompt that will become a slash command
*/
registerPrompt(prompt: RegisteredPrompt): void;
/**
* Get a prompt by name
*/
getPrompt(name: string): RegisteredPrompt | undefined;
/**
* List all registered prompts (for MCP prompts/list)
*/
listPrompts(): MCPPrompt[];
/**
* Execute a prompt with given arguments
*/
executePrompt(name: string, args: Record<string, unknown>): Promise<string>;
/**
* Load prompts from .claude directory structure
* Creates MCP prompts that become slash commands like /mcp__claude-flow__<command>
* Only loads from the current working directory (user's project), not package directory
*/
loadClaudePrompts(): Promise<void>;
/**
* Load prompts from a specific directory
*/
private loadPromptsFromDirectory;
/**
* Create a prompt name from file and category
*/
private createPromptName;
/**
* Load a single prompt from a markdown file
*/
private loadPromptFromFile;
/**
* Parse frontmatter from markdown content
*/
private parseFrontmatter;
/**
* Create arguments schema for the prompt
*/
private createArgumentsSchema;
/**
* Execute a Claude command - returns instructions for Claude to follow
*/
private executeClaudeCommand;
}
//# sourceMappingURL=prompts.d.ts.map