.claude-context.md
Make Yaak runnable as a standalone CLI without Tauri as a dependency. The core Rust crates in crates/ should be usable independently, while Tauri-specific code lives in crates-tauri/.
crates/ # Core crates - should NOT depend on Tauri
crates-tauri/ # Tauri-specific crates (yaak-app, yaak-tauri-utils, etc.)
crates-cli/ # CLI crate (yaak-cli)
crates-tauri/yaak-app/crates-tauri/yaak-tauri-utils/ for shared Tauri utilities (window traits, api_client, error handling)crates-cli/yaak-cli/ for the standalone CLIinit_standalone() pattern for CLI database accesscrates-cli/yaak-cli/src/main.rsyaak_models::init_standalone()crates/)init() function from the crateyaak-app/src/commands.rs or keep inline in lib.rsSomethingManagerExt) to yaak-app or yaak-tauri-utils.setup() blocktauri from Cargo.toml dependenciescrates-tauri/yaak-app/capabilities/default.json to remove the plugin permissiontauri::async_runtime::block_on with tokio::runtime::Handle::current().block_on()crates-tauri/yaak-app/src/lib.rs - Main Tauri app, setup block initializes managerscrates-tauri/yaak-app/src/commands.rs - Migrated Tauri commandscrates-tauri/yaak-app/src/models_ext.rs - Database plugin and extension traitscrates-tauri/yaak-tauri-utils/src/window.rs - WorkspaceWindowTrait for window statecrates/yaak-models/src/lib.rs - Contains init_standalone() for CLI usageWorking on detach-tauri branch.
c40cff40 Remove Tauri dependencies from yaak-crypto and yaak-grpc
df495f1d Move Tauri utilities from yaak-common to yaak-tauri-utils
481e0273 Remove Tauri dependencies from yaak-http and yaak-common
10568ac3 Add HTTP request sending to yaak-cli
bcb7d600 Add yaak-cli stub with basic database access
e718a5f1 Refactor models_ext to use init_standalone from yaak-models
cargo check -p <crate> to verify a crate builds without Taurinpm run app-dev to test the Tauri app still workscargo run -p yaak-cli -- --help to test the CLI