https://github.com/nukeop/keyed-launcher
Like Raycast except better
https://github.com/nukeop/keyed-launcher
Last synced: 6 months ago
JSON representation
Like Raycast except better
- Host: GitHub
- URL: https://github.com/nukeop/keyed-launcher
- Owner: nukeop
- Created: 2025-06-25T19:34:58.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-08-03T01:00:04.000Z (11 months ago)
- Last Synced: 2026-01-17T23:33:15.426Z (6 months ago)
- Language: TypeScript
- Homepage:
- Size: 1.01 MB
- Stars: 5
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Keyed Launcher
Application launcher built with Tauri (Rust + TypeScript). Runs on Windows, macOS, and Linux.
**Note**: This is a monorepo structure with the main launcher application in `packages/launcher/`.
## Features
- Global shortcut: `Cmd+Shift+Space` (macOS) / `Ctrl+Shift+Space` (Windows/Linux)
- System tray integration
- Frameless, transparent window
- Performance tracking (development builds)
## Installation
### Prerequisites
- Node.js 18+ and pnpm (package manager)
- Rust 1.77.2+ with Cargo
- Platform requirements:
- Windows: WebView2 runtime
- macOS: Xcode Command Line Tools
- Linux: webkit2gtk-dev, build-essential
### Build and Run
```bash
git clone https://github.com/nukeop/keyed-launcher.git
cd keyed-launcher
pnpm install
# Development
pnpm tauri:dev
# Production build
pnpm tauri:build
```
## Usage
The launcher runs in the background with a system tray icon.
- **Show/Hide**: `Cmd+Shift+Space` (macOS) / `Ctrl+Shift+Space` (Windows/Linux)
- **Hide**: `Escape` key or click outside the window
- **System Tray**: Right-click for show/hide or quit
## Development
### Monorepo Structure
```
keyed-launcher/
├── packages/
│ └── launcher/ # Main Tauri application
│ ├── src/ # React frontend
│ ├── src-tauri/ # Rust backend
│ └── package.json # Launcher dependencies
├── package.json # Root workspace configuration
└── pnpm-workspace.yaml # pnpm workspace settings
```
All commands run from the root directory and are automatically routed to the appropriate package.
### Tech Stack
- Frontend: TypeScript + React + Vite + Tailwind CSS
- Backend: Rust with Tauri framework
- State Management: Zustand
- Testing: Vitest + Testing Library
### Commands
```bash
# Development
pnpm tauri:dev # Start development server
pnpm dev # Frontend only
# Building
pnpm tauri:build # Build production app
pnpm build # Build frontend only
# Testing
pnpm test # Run tests
pnpm test:coverage # Run tests with coverage
pnpm test:watch # Run tests in watch mode
# Linting
pnpm lint # Check code style
pnpm lint:fix # Fix linting issues
```
### Build Output
```bash
pnpm tauri:build
```
Platform-specific outputs in `packages/launcher/src-tauri/target/release/bundle/`:
- Windows: `.msi` installer and `.exe` executable
- macOS: `.dmg` installer and `.app` bundle
- Linux: `.deb`, `.rpm` packages and `.AppImage`
## Configuration
### Global Shortcut
Modify in `packages/launcher/src-tauri/src/shortcuts.rs`. Default: `CmdOrCtrl+Shift+Space`
### Window Settings
Configure in `packages/launcher/src-tauri/tauri.conf.json`:
- Size: 600x400 pixels
- Frameless and transparent
- Always on top, skip taskbar
- Starts hidden
## Contributing
1. Fork the repository
2. Clone: `git clone https://github.com/your-username/keyed-launcher.git`
3. Install dependencies: `pnpm install`
4. Create feature branch: `git checkout -b feature/name`
5. Make changes and test
6. Commit and push
7. Open Pull Request
Code style: ESLint + Prettier (TypeScript), cargo fmt + clippy (Rust)
## License
AGPL-3.0 License - see LICENSE file for details.