Skip to content

Repository files navigation

Conjure

Conjure

Summon the right prompt. Anywhere.

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.

Version 1.0.0 · macOS · Changelog · Roadmap


The spell

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:

  1. Press Cmd+Shift+Space — the circle opens over whatever you're doing.
  2. Type a few characters from a prompt's title, tag, or body.
  3. Arrow to the one you want.
  4. Press Enter — Conjure pastes it at your cursor in the app you were already focused on, then gets out of the way.
  5. 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.

Your grimoire

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.
  • title is required.
  • tags are optional and searchable.
  • Conjure may update a last_used field 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.

Requirements

  • 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-tauri 2.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.

Install from source

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 install

make 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.

Limitations

  • 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.

Performance

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.

Architecture

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.

Contributing

Install UI dependencies once, then run the standard checks before opening a change:

make ui-install
make check

For 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.

About

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.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages