Conjure is a Spotlight-style prompt launcher for macOS. Hit one hotkey from any app, type a few characters, and your prompt materializes at the cursor — exactly where you were already working.
Cmd+Shift+Space → search your grimoire → Enter → it's there.
You live in LLM CLIs, editors, terminals, chat tools, and browser tabs all day, and you reach for the same ~50 prompts constantly. Today you retype them or hunt through a notes app. Conjure replaces that with a single reliable incantation:
- Press
Cmd+Shift+Space— the circle opens over whatever you're doing. - Type a few characters from a prompt's title, tag, or body.
- Arrow to the one you want.
- Press Enter — Conjure pastes it at your cursor in the app you were already focused on, then gets out of the way.
- Press Escape to dismiss without pasting.
No copy-paste round trips, no switching apps, no leaving your flow. Your previous clipboard contents are restored automatically after the paste.
Prompts ("spells") live as plain markdown in ~/.prompts/. On first run, Conjure
creates that folder and seeds it with a few examples if it's empty. Add your own
by dropping a markdown file anywhere under it:
---
title: Code review
tags:
- engineering
- review
---
Review this code for correctness, edge cases, and missing tests.
Prioritize concrete findings with file and line references.titleis required.tagsare optional and searchable.- Conjure may update a
last_usedfield after you paste, so recent spells rank higher. It never otherwise rewrites your files — your grimoire is yours. - New and edited files are picked up live, no restart needed.
- macOS on Apple Silicon or Intel.
- macOS Accessibility permission for
Conjure.app. - To build from source: Rust + Cargo, Node.js/npm,
make, and a compatible Tauri CLI (cargo-tauri2.11.x).
Accessibility is required because macOS treats a synthetic paste as an assistive
action. Without it, Conjure can open the circle but can't deliver a spell into
another app. On first launch, Conjure asks for the permission and opens System
Settings; grant it, then invoke with Cmd+Shift+Space.
This release is built locally and ad-hoc signed — it is not notarized yet, so
Gatekeeper may warn on first launch. If macOS blocks it, right-click
Conjure.app and choose Open.
# Install a compatible Tauri CLI (2.11.x) if you don't have one.
cargo install tauri-cli --version '~2.11.0' --locked
# Install webview dependencies.
make ui-install
# Build, sign, copy to /Applications, and launch once.
make installmake install runs the full local build path: it builds the Tauri .app bundle,
ad-hoc signs it, copies it to /Applications, and opens it. The signing step is
mandatory for local builds. On recent macOS, a synthetic paste from an
unsigned or unbundled binary is silently dropped even after Accessibility is
granted — signing the .app gives macOS a stable identity to hang the permission
on.
Useful development targets:
make help # Show available targets.
make app # Build and sign target/release/bundle/macos/Conjure.app.
make run # Build, sign, and launch the local bundle.
make dev # Run Tauri dev against the configured devUrl; not a paste smoke test.
make check # Rust fmt, clippy, tests, UI build, and design-spec lint.For UI hot reload, run cd ui && npm run dev in one terminal, then make dev
in another.
To summon Conjure automatically after login, add /Applications/Conjure.app in
System Settings → General → Login Items. Conjure runs without a Dock icon;
use the hotkey to call the circle.
- macOS only. Linux and Windows are not supported in v1.0.0.
- Not notarized yet — expect the standard Gatekeeper warning for a local build.
- The invocation is fixed to
Cmd+Shift+Space. - The grimoire path is fixed to
~/.prompts/. - Spells are plain markdown. Variables, per-app routing, sync, multi-step prompts, and workflow actions aren't here yet — see the roadmap.
The paste path is built to feel instant: open the circle, pick a spell, and the text appears in the previously focused app with no visible handoff. The overlay stays small, fuzzy matching is fast, and your clipboard is restored after paste.
Conjure is a Rust workspace — a small Tauri 2 app over focused crates:
app-core— shared prompt types and action interfaces.macos-shim— macOS focus capture, focus return, and paste synthesis.prompt-store— markdown loading, frontmatter parsing, and hot reload.search— fuzzy matching over title, tags, and body.app-tauri— the desktop app, webview UI, and command wiring.
Tauri 2 provides the macOS app shell. The overlay UI is vanilla TypeScript and
Vite. Search is powered by nucleo.
For a deeper map of how the crates and the paste flow fit together, see
docs/ARCHITECTURE.md.
Install UI dependencies once, then run the standard checks before opening a change:
make ui-install
make checkFor focused local loops, use make fmt, make clippy, make test, make ui,
and make design-lint.
For macOS behavior changes, also build and run the signed app bundle from
/Applications with make install; bare cargo run and make dev are not
valid end-to-end tests for paste delivery.
Planning history lives in docs/plans/v1.md; future ideas live in docs/ROADMAP.md. Those are contributor context, not required reading for using Conjure.