# CleanCopy CleanCopy is a Windows utility that sits in the system tray, automatically sanitizing your clipboard text on trigger. Designed with a focus on privacy, ergonomics, and performance (it is written in Rust btw). ## Repository Structure ``` clean-copy/ ├── app/ # Tauri desktop app (React frontend + Rust backend) ├── shared/ # Shared Rust crate (types, licensing, cleansing logic) ├── server/ # Axum web server (landing page, activation API, updater) ├── licensing/ # Ed25519 key files (gitignored) ├── licensing_profiles.json # Profile-based licensing config (compiled into binary) ├── Cargo.toml # Workspace root └── package.json # Thin npm wrapper (delegates to app/) ``` ## Quick Start ### Prerequisites - **Node.js** (v18+) - **Rust & Cargo** (latest stable) - **Windows C++ Build Tools** (for Tauri) ### Install & Run ```bash npm install # from repo root, installs app/ dependencies npm run tauri dev # starts Vite dev server + Tauri tray app ``` ### Run Tests ```bash cargo test --workspace # Rust tests (shared + app) cd app && npm test # Frontend tests (Vitest) ``` ### Lint & Format ```bash cd app && npm run lint # ESLint cd app && npm run format:check # Prettier ``` ## Documentation - **[app/README.md](app/README.md)** — Desktop app: features, architecture, licensing system, CLI tools - **[server/README.md](server/README.md)** — Web server: routes, local dev, Docker deployment