51 lines
1.6 KiB
Markdown
51 lines
1.6 KiB
Markdown
# 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
|