Adds a comprehensive slash command system that allows users to create and manage custom commands: - Backend implementation in Rust for discovering, loading, and managing slash commands - Support for both user-level (~/.claude/commands/) and project-level (.claude/commands/) commands - YAML frontmatter support for command metadata (description, allowed-tools) - Command namespacing with directory structure (e.g., /namespace:command) - Detection of special features: bash commands (\!), file references (@), and arguments ($ARGUMENTS) Frontend enhancements: - SlashCommandPicker component with autocomplete UI and keyboard navigation - SlashCommandsManager component for CRUD operations on commands - Integration with FloatingPromptInput to trigger picker on "/" input - Visual indicators for command features (bash, files, arguments) - Grouped display by namespace with search functionality API additions: - slash_commands_list: Discover all available commands - slash_command_get: Retrieve specific command by ID - slash_command_save: Create or update commands - slash_command_delete: Remove commands This implementation provides a foundation for users to create reusable command templates and workflows. Commands are stored as markdown files with optional YAML frontmatter for metadata. Addresses #127 and #134
34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
export * from "./AgentExecutionDemo";
|
|
export * from "./AgentRunOutputViewer";
|
|
export * from "./StreamMessage";
|
|
export * from "./ToolWidgets";
|
|
export * from "./NFOCredits";
|
|
export * from "./UsageDashboard";
|
|
export * from "./WebviewPreview";
|
|
export * from "./ImagePreview";
|
|
export * from "./MCPManager";
|
|
export * from "./MCPServerList";
|
|
export * from "./MCPAddServer";
|
|
export * from "./MCPImportExport";
|
|
export * from "./ClaudeVersionSelector";
|
|
export * from "./ui/badge";
|
|
export * from "./ui/button";
|
|
export * from "./ui/card";
|
|
export * from "./ui/dialog";
|
|
export * from "./ui/dropdown-menu";
|
|
export * from "./ui/input";
|
|
export * from "./ui/label";
|
|
export * from "./ui/select";
|
|
export * from "./ui/switch";
|
|
export * from "./ui/tabs";
|
|
export * from "./ui/textarea";
|
|
export * from "./ui/toast";
|
|
export * from "./ui/tooltip";
|
|
export * from "./SlashCommandPicker";
|
|
export * from "./SlashCommandsManager";
|
|
export * from "./ui/popover";
|
|
export * from "./ui/pagination";
|
|
export * from "./ui/split-pane";
|
|
export * from "./ui/scroll-area";
|
|
export * from "./RunningClaudeSessions";
|