Starstrike is a lightweight, cross-platform desktop utility (Windows + macOS) that gives you access to AI-powered quick text actions from anywhere on your system via a global shortcut. It opens a minimal overlay where you can proofread, rewrite with a different tone, or draft new content using OpenRouter-backed models.
Key goals:
- Fast global shortcut to open a small overlay window
- Use selected text or clipboard contents as input
- Proofread, change tone, or draft text quickly
- Persist user settings locally (API key, default model, shortcuts)
This repository uses Tauri for the desktop shell, React + TypeScript for the UI, and Rust for native integrations.
- Global system-wide hotkey to open the overlay
- Minimal, centered overlay UI for quick text edits
- Actions: Proofread, Change Tone (formal/casual/etc.), Draft
- Model selection (OpenRouter integration)
- Clipboard integration and optional selected-text capture
- Persistent settings via a local store
- Tray icon for quick access to settings and quitting the app
- Tauri (desktop shell)
- React + TypeScript + Vite (frontend)
- Rust (Tauri backend for system integrations)
- OpenRouter API for model access
- Zustand for lightweight state management
- Tauri plugins: global-shortcut, clipboard, store
Prerequisites:
- Node.js (v18+ recommended)
- Yarn or npm
- Rust toolchain (stable) and cargo
- Recommended IDE: VS Code with the Tauri and rust-analyzer extensions
Install dependencies:
# from project root
yarn installRun the app in development mode (frontend + Tauri):
yarn dev
# in another terminal (optional) to run tauri commands directly
yarn tauri devAvailable scripts (defined in package.json):
yarn dev— run Vite dev serveryarn build— compile TypeScript and build production bundleyarn preview— preview the built web bundleyarn tauri— run Tauri CLI (use e.g.yarn tauri dev)
Starstrike requires an OpenRouter (or compatible) API key to call models. Store keys in the app settings UI; they are persisted locally using the Tauri store plugin. Do not commit secrets to source control.
- Frontend: overlay UI, actions, settings management, local state
- Backend (Rust via Tauri): global shortcut registration, clipboard access, invoking OS-level integrations, and calling remote APIs when appropriate
- API layer: lightweight wrapper around OpenRouter REST endpoints with error handling and retries
Contributions are welcome. Suggested workflow:
- Fork the repo and create a feature branch
- Run the dev setup and ensure the app builds
- Open a pull request with a clear description of your changes
If you're adding features that touch native code (Tauri/Rust), please include notes on how to test them on Windows and macOS.
- The project brief lives in
projectbrief.mdwith more background on user flows. - Consider adding automated tests for core actions and a CI pipeline that runs type checks and builds for both frontend and the Tauri app.
DO NOT REDISTRIBUTE, SELL AND COPY THIS PROJECT