Alfred and Raycast dress up as polished macOS utilities. launcharr dresses up as a shell prompt: hit ⌥Space, type into something that behaves like a REPL, and either launch an app or fling a command at your terminal without breaking flow.
Apps and System Settings panes, scored fzf-family and ranked by your actual usage. Ties break on frecency, never the other way around.
!git status ⏎ hands the command to iTerm2 or Terminal.app, verbatim. No wrapper, no escaping surprises.
Drop an executable in ~/.config/launcharr/scripts/ — its trigger word is live before you switch back to the panel. lorem, json and ip ship bundled.
clip keeps 200 text items and never records concealed types. 2*(14.5+3) computes inline; :fire picks emoji. Enter copies.
Type a URL to open it, or add it in-panel with a name, browser and favicon. {query} templates give you yt cute otters ⏎.
A real settings window and a watched, hot-applied config.json. Both stay in sync; neither is the second-class citizen.
Most launchers ask for the keys to the whole machine. launcharr asks for none of them, and the design is built so it never has to.
The only prompts you'll ever see are macOS's standard Automation consents — the first terminal hand-off, the first Finder command.
Core makes no requests. The exception is user-initiated: fetching a site's favicon at the moment you add it as a quicklink. No telemetry, no phoning home.
200 text items on disk under your own home directory. Concealed types — password-manager clips — are never recorded.
$ git clone [email protected]:mitchmalone/launcharr.git $ cd launcharr $ pnpm install $ pnpm tauri build $ cp -R src-tauri/target/release/bundle/macos/launcharr.app /Applications/ $ open /Applications/launcharr.app
First run: the panel appears once with the hint line, a default config is written to ~/.config/launcharr/config.json, and launcharr registers as a login item (toggleable in settings). Signed releases are tracked in docs/RELEASING.md.