
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
61 lines
1.5 KiB
TOML
61 lines
1.5 KiB
TOML
[package]
|
|
name = "claudia"
|
|
version = "0.1.0"
|
|
description = "GUI app and Toolkit for Claude Code"
|
|
authors = ["mufeedvh", "123vviekr"]
|
|
license = "AGPL-3.0"
|
|
edition = "2021"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
name = "claudia_lib"
|
|
crate-type = ["lib", "cdylib", "staticlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = ["protocol-asset", "tray-icon", "image-png"] }
|
|
tauri-plugin-shell = "2"
|
|
tauri-plugin-dialog = "2"
|
|
tauri-plugin-fs = "2"
|
|
tauri-plugin-process = "2"
|
|
tauri-plugin-updater = "2"
|
|
tauri-plugin-notification = "2"
|
|
tauri-plugin-clipboard-manager = "2"
|
|
tauri-plugin-global-shortcut = "2"
|
|
tauri-plugin-http = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
tokio = { version = "1", features = ["full"] }
|
|
rusqlite = { version = "0.32", features = ["bundled"] }
|
|
dirs = "5"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
anyhow = "1"
|
|
log = "0.4"
|
|
env_logger = "0.11"
|
|
regex = "1"
|
|
glob = "0.3"
|
|
base64 = "0.22"
|
|
libc = "0.2"
|
|
reqwest = { version = "0.12", features = ["json"] }
|
|
futures = "0.3"
|
|
async-trait = "0.1"
|
|
tempfile = "3"
|
|
which = "7"
|
|
sha2 = "0.10"
|
|
zstd = "0.13"
|
|
uuid = { version = "1.6", features = ["v4", "serde"] }
|
|
walkdir = "2"
|
|
serde_yaml = "0.9"
|
|
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
cocoa = "0.26"
|
|
objc = "0.2"
|
|
|
|
[features]
|
|
# This feature is used for production builds or when a dev server is not specified, DO NOT REMOVE!!
|
|
custom-protocol = ["tauri/custom-protocol"]
|