Raycast-inspired open-source cross-platform application launcher with React-based plugins https://gauntlet.sh/docs
Find a file
Exidex ca066da5c9
Some checks failed
format / rust (push) Failing after 1s
format / nix (push) Failing after 1s
nix build / all (push) Failing after 3s
build / build-linux (push) Has been cancelled
build / build-macos (push) Has been cancelled
build / build-windows (push) Has been cancelled
Update README.md
2025-10-02 18:55:18 +02:00
.github/workflows GitHub Actions workflow to bump Gauntlet version in WinGet 2025-08-24 18:21:19 +02:00
assets Remove not needed macOS entitlement 2024-10-04 20:28:33 +02:00
bundled_plugins/gauntlet Focus second item in Opened windows view as an alternative window 2025-08-15 16:04:47 +02:00
bundled_themes Tweak window border color of macos dark theme on non-macos platforms 2025-03-15 20:14:08 +01:00
dev_data Implement native hud notifications on Linux, enable by default 2025-08-15 17:00:24 +02:00
dev_plugin Add ability to programmatically control focus on list and grid 2025-08-10 21:24:08 +02:00
docs Extend focusedItemId description 2025-08-10 21:30:20 +02:00
example_plugins Fix more bundled plugins and examples after breaking change 2025-07-25 22:11:28 +02:00
js Add ability to programmatically control focus on list and grid 2025-08-10 21:24:08 +02:00
nix Fix nix build (#85) 2025-07-11 18:00:46 +02:00
rust Remove padding from content paragraph text 2025-08-15 18:23:24 +02:00
schema Merge settings app into the main app 2025-07-27 16:50:07 +02:00
src Update all rust dependencies 2024-12-20 15:36:54 +01:00
.editorconfig added editorconfig, with yaml 2025-06-14 20:39:50 +02:00
.envrc feat: Nix package + devShell & NixOS + Home-Manager modules (#27) 2024-12-20 23:47:14 +01:00
.gitignore Global shortcut now hides the main window when the window is already open 2025-02-11 20:20:35 +01:00
.npmrc Rework command generators to allow updating list of generated entrypoints while plugin is running 2024-11-03 14:15:48 +01:00
Cargo.lock Implement native hud notifications on Linux, enable by default 2025-08-15 17:00:24 +02:00
Cargo.toml Use lucide icons for shortcuts widget 2025-08-15 18:13:53 +02:00
CHANGELOG.md Prepare for v21 release 2025-08-16 15:39:58 +00:00
default.nix feat: Nix package + devShell & NixOS + Home-Manager modules (#27) 2024-12-20 23:47:14 +01:00
flake.lock Fix nix build (#85) 2025-07-11 18:00:46 +02:00
flake.nix fix(flake): use strings instead of deprecated url literals. 2025-03-11 20:15:53 +01:00
LICENSE Create LICENSE 2024-02-03 21:37:41 +01:00
package-lock.json Bump npm dependencies 2025-06-19 15:03:41 +02:00
package.json Massively simplify scenario runner 2025-06-22 20:35:31 +02:00
README.md Update README.md 2025-10-02 18:55:18 +02:00
rustfmt.toml Run cargo fmt. Add github workflow to validate 2025-02-02 17:10:54 +01:00
VERSION Prepare for v21 release 2025-08-16 15:39:58 +00:00

Gauntlet

Discord

Web-first cross-platform application launcher with React-based plugins

Warning

The project is no longer being developed.

image

Demo

Slightly outdated demo

https://github.com/user-attachments/assets/19964ed6-9cd9-48d4-9835-6be04de14b66

Features

  • Plugin-first
    • Plugins are written in TypeScript
    • Extensive plugin API
      • Create UI views
      • One-shot commands
      • Dynamically provide list of one-shot commands
      • Render quick "inline" content directly under main search bar based on value in it
      • Get content from and add to Clipboard
    • Plugins are distributed as separate branch in Git repository, meaning plugin distribution doesn't need any central server
    • Plugins IDs are just Git Repository URLs
    • React-based UI for plugins
      • Implemented using custom React Reconciler (no Electron)
    • Deno JavaScript Runtime
      • 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
    • Calculator: shows result of mathematical operations directly under main search bar
      • Includes converting currency using exchange rates
      • Powered by Numbat
  • Frecency-based search result ordering
    • 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
    • Results are matched per word by substring
OS Support
Official
  • Linux X11
  • macOS M1
Best-effort
  • Linux Wayland
  • Windows
  • macOS Intel

Getting Started

Install Gauntlet

See Installation

Global Shortcut

Main window can be opened using global shortcut or CLI command:

  • Global Shortcut (can be changed in Settings)
    • Windows: ALT + Space
    • Linux X11: Super + Space
    • Linux Wayland
      • Global shortcut may not be supported, see feature support
      • 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

Create your own plugin

See Getting started with plugin development

Theming

See Theming

Building Gauntlet

You will need:

  • NodeJS
  • Rust
  • Protobuf Compiler
  • 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.