A powerful, extensible quick launcher application built with Tauri 2 + Vue 3, inspired by utools.
- 🚀 Quick Launcher: Fast and lightweight plugin-based launcher
- 🔌 Plugin System: Support for frontend, backend, and hybrid plugins
- ⌨️ Keyboard-First: Navigate everything with keyboard shortcuts
- 🎨 Modern UI: Clean, responsive interface with dark mode support
- 🔒 Secure: Fine-grained permission system for plugin security
- 🛠️ Developer-Friendly: Easy-to-use plugin API and SDK
- Node.js v18 or higher
- pnpm package manager
- Rust latest stable
- Platform-specific dependencies for Tauri (see Tauri prerequisites)
# Install pnpm if you haven't already
npm install -g pnpm
# Clone the repository
git clone https://github.com/yourusername/MewTools.git
cd MewTools
# Install dependencies
pnpm install
# Run in development mode
pnpm tauri dev# Build for production
pnpm tauri buildNote: The app window stays on top and is always accessible. Simply click on the window to focus it, then use shortcuts.
| Shortcut | Action |
|---|---|
Cmd+K (Mac) / Alt+K (Windows/Linux) |
Toggle launcher (when app is focused) |
↑ / ↓ |
Navigate plugin list |
Enter |
Select/activate plugin |
Esc |
Close launcher or deactivate plugin |
MewTools supports three types of plugins:
- Frontend Plugins: Pure Vue/TypeScript UI components
- Backend Plugins: Rust-based plugins with system access
- Hybrid Plugins: Combination of frontend UI and backend logic
Want to create your own plugin? Check out our comprehensive guide:
The guide includes:
- Step-by-step setup instructions
- Complete example: Countdown Timer plugin
- Utility functions and best practices
- Debugging tips and troubleshooting
# 1. Create plugin directory
mkdir plugins/frontend/my-plugin
# 2. Add plugin.json and index.ts
# 3. Create your Vue component
# 4. Restart the app - your plugin appears automatically!
pnpm tauri devMewTools comes with several useful plugins out of the box:
- Calculator - Basic arithmetic calculator with expression support
- Color Picker - Color converter (HEX, RGB, HSL) with visual picker
- JSON Formatter - Format, validate and minify JSON
- Base64 Tool - Encode and decode Base64 strings
- UUID Generator - Generate UUID v4 identifiers in bulk
- Hash Generator - Generate SHA-1 and SHA-256 hashes
- Hashids Tool - Encode/decode numeric IDs to/from short hashed strings
- Text Tools - Text transformation tools (case conversion, trim, sort, etc.)
MewTools/
├── src/ # Frontend source code
│ ├── core/ # Plugin system core
│ │ ├── plugin-loader.ts # Plugin discovery & loading
│ │ ├── plugin-registry.ts # Plugin registration
│ │ └── plugin-context.ts # Runtime context
│ ├── components/ # Vue components
│ │ ├── QuickLauncher.vue # Main launcher
│ │ ├── PluginSearchBar.vue
│ │ ├── PluginCard.vue
│ │ └── PluginContainer.vue
│ ├── types/ # TypeScript definitions
│ └── utils/ # Utility functions
│
├── src-tauri/ # Backend source code
│ ├── src/
│ │ ├── plugin_system/ # Plugin system
│ │ ├── commands/ # Tauri commands
│ │ └── plugins/ # Plugin traits
│ └── Cargo.toml
│
└── plugins/ # Plugin directory
├── frontend/ # Frontend plugins
├── backend/ # Backend plugins
└── hybrid/ # Hybrid plugins
- Frontend: Vue 3, TypeScript, Vite
- Backend: Rust, Tauri 2
- Package Manager: pnpm
- Build Tool: Vite
For more detailed documentation, see claude.md