# KV Clearnup (Antigravity) 🚀

A modern, high-performance system optimizer for macOS, built with **Electron**, **React**, and **Go**.

![App Screenshot](https://via.placeholder.com/800x500?text=Antigravity+Dashboard)

## Features
- **Flash Clean**: Instantly remove system caches, logs, and trash.
- **Deep Clean**: Scan for large files and heavy folders.
- **Real-time Monitoring**: Track disk usage and category sizes.
- **Universal Binary**: Runs natively on both Apple Silicon (M1/M2/M3) and Intel Macs.
- **High Performance**: Heavy lifting is handled by a compiled Go backend.

## Prerequisites
- **Node.js** (v18+)
- **Go** (v1.20+)
- **pnpm** (preferred) or npm

## Development

### 1. Install Dependencies
```bash
npm install
```

### 2. Run in Development Mode
This starts the Go backend (port 36969) and the Vite/Electron frontend concurrently.
```bash
./start-go.sh
```
*Note: Do not run `npm run dev` directly if you want the backend to work. Use the script.*

## Building for Production

To create a distributable `.dmg` file for macOS:

### 1. Build the App
```bash
npm run build:mac
```
This command will:
1.  Compile the Go backend for both `amd64` and `arm64`.
2.  Create a universal binary using `lipo`.
3.  Build the React frontend.
4.  Package the Electron app and bundle the backend.
5.  Generate a universal `.dmg`.

### 2. Locate the Installer
The output file will be at:
```
release/KV Clearnup-1.0.0-universal.dmg
```

## Running the App
1.  **Mount the DMG**: Double-click the `.dmg` file in the `release` folder.
2.  **Install**: Drag the app to your `Applications` folder.
3.  **Launch**: Open "KV Clearnup" from Applications.

*Troubleshooting*: If you see "System Extension Blocked" or similar OS warnings, go to **System Settings > Privacy & Security** and allow the application.

## Architecture
- **Frontend**: React, TypeScript, TailwindCSS, Framer Motion.
- **Main Process**: Electron (TypeScript).
- **Backend**: Go (Golang) for file system operations and heavy scanning.
- **Communication**: Electron uses `child_process` to spawn the Go binary. Frontend communicates with backend via HTTP (localhost:36969).

## License
MIT
