Gauntlet is a cross-platform application launcher designed to streamline workflow through React-based plugins. Built on Deno for enhanced security and flexibility, Gauntlet allows users to customize their experience with plugins written in TypeScript.
Key Features:
Plugin-first Architecture: Extend functionality by developing or installing plugins via Git repositories, enabling tailored workflows.
React-Based UI: Leverage a modern React interface without Electron, ensuring performance and compatibility across platforms.
Deno Runtime: Sandboxed JavaScript execution with explicit permission controls for secure plugin operations.
Custom Shortcuts: Assign global shortcuts to commands or views for quick access to frequently used tools.
Built-in Themes: Choose from various themes to customize the launcher's appearance.
Audience & Benefit:
Ideal for developers, power users, and productivity-focused individuals seeking a customizable application launcher. Gauntlet empowers users to enhance efficiency by integrating plugins that align with their workflow needs.
Install via winget for seamless setup on supported platforms.
README
Gauntlet
Web-first cross-platform application launcher with React-based plugins
> [!WARNING]
> The project is no longer being developed.
Deno allows to sandbox JavaScript plugin code for better security
Plugins are required to explicitly specify what permissions they need to work
Node.js is used to run plugin tooling, but as a plugin developer you will always write code that runs on Deno
Designed with cross-platform in mind from the beginning
Commands and Views can be run/opened using custom global shortcuts
Custom search alias can be assigned to Commands or Views
Custom theme support
Built-in functionality is provided by bundled plugins
Applications: shows applications installed on the system in search results
Plugin also tracks windows and which application they belong to, so opening already opened application will by default bring up previously created window
Not all systems are supported at the moment. See feature support
Frecency is a combination of frequency and recency
More often the item is used the higher in the result list it will be, but items used a lot in the past will be ranked lower than items used the same amount of times recently
Please use CLI command instead, and invoke it using window manager specific approach
macOS: CMD + Space
CLI command
gauntlet open
Install plugin
Plugins are installed in Settings UI. Use Git repository url of the plugin to install it, e.g. https://github.com/project-gauntlet/readme-demo-plugin.git
CMake (not used by the project itself, but is required by a dependency)
On Linux: libxkbcommon-dev (note: name may differ depending on used distribution)
Dev
To build dev run:
npm ci
npm run build
npm run build-dev-plugin
cargo build
In dev (without "release" feature) application will use directories ONLY inside project directory to store state or cache, to avoid messing up global installation
Not-yet-packaged
To build not-yet-packaged release binary, run:
npm ci
npm run build
cargo build --release --features release
Packaged
To build os-specific package, run one of the following:
macOS:
npm run build-macos-project --workspace @project-gauntlet/build
Windows:
npm run build-windows-project --workspace @project-gauntlet/build
Linux:
npm run build-linux-project --workspace @project-gauntlet/build
But the new version release needs to be done via GitHub Actions
Contributing
If you'd like to help build Gauntlet you can do it in more ways than just contributing code:
Reporting a bug or UI/UX problem
Creating a plugin
For simple problems feel free to open an issue or PR and tackle it yourself.
For more significant changes please contact creators on Discord (invite link on top of README) and discuss first.