* feat(skills): add Claude Skills management feature Implement complete Skills management system with repository discovery, installation, and lifecycle management capabilities. Backend: - Add SkillService with GitHub integration and installation logic - Implement skill commands (list, install, uninstall, check updates) - Support multiple skill repositories with caching Frontend: - Add Skills management page with repository browser - Create SkillCard and RepoManager components - Add badge, card, table UI components - Integrate Skills API with Tauri commands Files: 10 files changed, 1488 insertions(+) * feat(skills): integrate Skills feature into application Integrate Skills management feature with complete dependency updates, configuration structure extensions, and internationalization support. Dependencies: - Add @radix-ui/react-visually-hidden for accessibility - Add anyhow, zip, serde_yaml, tempfile for Skills backend - Enable chrono serde feature for timestamp serialization Backend Integration: - Extend MultiAppConfig with SkillStore field - Implement skills.json migration from legacy location - Register SkillService and skill commands in main app - Export skill module in commands and services Frontend Integration: - Add Skills page route and dialog in App - Integrate Skills UI with main navigation Internationalization: - Add complete Chinese translations for Skills UI - Add complete English translations for Skills UI Code Quality: - Remove redundant blank lines in gemini_mcp.rs - Format log statements in mcp.rs Tests: - Update import_export_sync tests for SkillStore - Update mcp_commands tests for new structure Files: 16 files changed, 540 insertions(+), 39 deletions(-) * style(skills): improve SkillsPage typography and spacing Optimize visual hierarchy and readability of Skills page: - Reduce title size from 2xl to lg with tighter tracking - Improve description spacing and color contrast - Enhance empty state with better text hierarchy - Use explicit gray colors for better dark mode support * feat(skills): support custom subdirectory path for skill scanning Add optional skillsPath field to SkillRepo to enable scanning skills from subdirectories (e.g., "skills/") instead of repository root. Changes: - Backend: Add skillsPath field with subdirectory scanning logic - Frontend: Add skillsPath input field and display in repo list - Presets: Add cexll/myclaude repo with skills/ subdirectory - Code quality: Fix clippy warnings (dedup logic, string formatting) Backward compatible: skillsPath is optional, defaults to root scanning. * refactor(skills): improve repo manager dialog layout Optimize dialog structure with fixed header and scrollable content: - Add flexbox layout with fixed header and scrollable body - Remove outer border wrapper for cleaner appearance - Match SkillsPage design pattern for consistency - Improve UX with better content hierarchy
68 lines
1.7 KiB
TOML
68 lines
1.7 KiB
TOML
[package]
|
|
name = "cc-switch"
|
|
version = "3.6.2"
|
|
description = "Claude Code & Codex 供应商配置管理工具"
|
|
authors = ["Jason Young"]
|
|
license = "MIT"
|
|
repository = "https://github.com/farion1231/cc-switch"
|
|
edition = "2021"
|
|
rust-version = "1.85.0"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
name = "cc_switch_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[features]
|
|
default = []
|
|
test-hooks = []
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2.4.0", features = [] }
|
|
|
|
[dependencies]
|
|
serde_json = "1.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
log = "0.4"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
tauri = { version = "2.8.2", features = ["tray-icon"] }
|
|
tauri-plugin-log = "2"
|
|
tauri-plugin-opener = "2"
|
|
tauri-plugin-process = "2"
|
|
tauri-plugin-updater = "2"
|
|
tauri-plugin-dialog = "2"
|
|
tauri-plugin-store = "2"
|
|
dirs = "5.0"
|
|
toml = "0.8"
|
|
toml_edit = "0.22"
|
|
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json"] }
|
|
tokio = { version = "1", features = ["macros", "rt-multi-thread", "time"] }
|
|
futures = "0.3"
|
|
regex = "1.10"
|
|
rquickjs = { version = "0.8", features = ["array-buffer", "classes"] }
|
|
thiserror = "1.0"
|
|
anyhow = "1.0"
|
|
zip = "2.2"
|
|
serde_yaml = "0.9"
|
|
tempfile = "3"
|
|
|
|
[target.'cfg(any(target_os = "macos", target_os = "windows", target_os = "linux"))'.dependencies]
|
|
tauri-plugin-single-instance = "2"
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
objc2 = "0.5"
|
|
objc2-app-kit = { version = "0.2", features = ["NSColor"] }
|
|
|
|
# Optimize release binary size to help reduce AppImage footprint
|
|
[profile.release]
|
|
codegen-units = 1
|
|
lto = "thin"
|
|
opt-level = "s"
|
|
panic = "abort"
|
|
strip = "symbols"
|
|
|
|
[dev-dependencies]
|
|
serial_test = "3"
|
|
tempfile = "3"
|