/** * Command Parser * Parses slash commands and natural language input for the REPL */ /** * Parsed slash command */ export interface SlashCommand { /** Command name (without slash) */ name: string; /** Command arguments */ args: string[]; /** Raw input string */ raw: string; } /** * Input types */ export type InputType = 'slash-command' | 'natural-language' | 'empty'; /** * Parsed input result */ export interface ParsedInput { type: InputType; command?: SlashCommand; text?: string; } /** * Available REPL commands */ export declare const REPL_COMMANDS: { readonly init: { readonly description: "Initialize Wiggum in this project"; readonly usage: "/init"; readonly aliases: readonly ["i"]; }; readonly sync: { readonly description: "Refresh project context (scan + AI analysis)"; readonly usage: "/sync"; readonly aliases: readonly ["s"]; }; readonly new: { readonly description: "Create a new feature specification"; readonly usage: "/new "; readonly aliases: readonly ["n"]; }; readonly run: { readonly description: "Run the feature development loop"; readonly usage: "/run "; readonly aliases: readonly ["r"]; }; readonly monitor: { readonly description: "Monitor a running feature loop"; readonly usage: "/monitor "; readonly aliases: readonly ["m"]; }; readonly issue: { readonly description: "Browse GitHub issues and start a new spec from one"; readonly usage: "/issue [search terms]"; readonly aliases: readonly []; }; readonly agent: { readonly description: "Start the autonomous backlog agent"; readonly usage: "/agent [--dry-run] [--max-items ] [--max-steps ] [--review-mode manual|auto|merge] [--labels ] [--issues ]"; readonly aliases: readonly ["a"]; }; readonly config: { readonly description: "Manage API keys and settings"; readonly usage: "/config [set ]"; readonly aliases: readonly ["cfg"]; }; readonly help: { readonly description: "Show available commands"; readonly usage: "/help"; readonly aliases: readonly ["h", "?"]; }; readonly exit: { readonly description: "Exit the REPL"; readonly usage: "/exit"; readonly aliases: readonly ["quit", "q"]; }; }; export type ReplCommandName = keyof typeof REPL_COMMANDS; /** * Check if input is a slash command */ export declare function isSlashCommand(input: string): boolean; /** * Parse a slash command from input */ export declare function parseSlashCommand(input: string): SlashCommand; /** * Resolve command aliases to canonical command names */ export declare function resolveCommandAlias(name: string): ReplCommandName | null; /** * Parse user input into structured format */ export declare function parseInput(input: string): ParsedInput; /** * Format help text for all commands */ export declare function formatHelpText(): string;