Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

13 Commits

Repository files navigation

Promptly icon

Promptly

A native macOS menu-bar prompt launcher. Hit ⌥Space in any text field, fuzzy-find a template, press ↵ — and the fully assembled prompt drops in right where your cursor was. Focus never leaves the app you're in.

PlatformBuilt withUniversalLicense

Option-Space summons the palette over a document, then dismisses — the document never loses focus
⌥Space over a document you're already writing in. The window behind never loses focus.

You reach for the same prompts everywhere — code reviews, commit messages, standups, cold emails. Promptly puts them one keystroke away, in any app, without ever stealing focus or leaving your clipboard changed.

The palette floating over a TextEdit document, showing pinned cards and recent prompts
Pinned cards on ⌘1–⌘9, then your most-used prompts.
The three-pane Library window with folders, prompt list, and editor
The Library — folders, pins, hotkeys, and the prompt body.
The menu-bar dropdown showing Accessibility granted and the hotkey
It lives in the menu bar. No Dock icon, nothing in your way until you call it.

Why you'll like it

  • It never takes focus. A Carbon global hotkey opens a non-activating panel over whatever you're using — the app underneath stays active the whole time, caret and all.
  • Your prompts are just files. Every prompt is a .md file in ~/Prompts. Edit them in any editor and Promptly live-reloads; folders become categories. Nothing is locked in a database.
  • Ranked by how you actually work. Fuzzy search over names, keywords and bodies, ordered by how often and how recently you fire each prompt.
  • Your clipboard comes back exactly as it was. Promptly snapshots and restores it around every paste, and confirms the text really landed by reading it back — not by trusting a return code.

Download

Note

Promptly is ad-hoc signed (free, unnotarized), so macOS Gatekeeper needs a one-time nudge the first time you open it. The steps below handle it.

  1. Download the latest Promptly-x.y.z.zip from the Releases page.
  2. Unzip it and drag Promptly.app into your Applications folder.
  3. Open it once with a right-click: right-click Promptly.app → Open → Open.
If Gatekeeper still refuses, or you'd rather use Terminal
xattr -dr com.apple.quarantine /Applications/Promptly.app

Then double-click as normal.

Important

Promptly needs Accessibility permission to type into other apps. On first launch it opens System Settings for you — enable Promptly under Privacy & Security → Accessibility. Without it, the paste step can't run.

Requires macOS 12 (Monterey) or later. The download is a Universal binary and runs natively on both Apple Silicon and Intel Macs.

Usage

ActionHow
Open the palette⌥Space in any text field
Filter promptsstart typing a fragment
Paste the selection
Paste a pinned/numbered prompt⌘1⌘9
Preview the full body
DismissEsc
Manage promptsmenu-bar icon → Library…
Open your prompts foldermenu-bar icon → Open prompts folder…
Rebind the hotkeymenu-bar icon → Rebind Hotkey…

Writing prompts

A prompt is a Markdown file in ~/Prompts with optional YAML frontmatter:

---name: PR description # display name (defaults to the filename)keywords: [pull request, diff] # extra fuzzy-search termspinned: true # keep it at the tophotkey: 1# paste instantly with ⌘1–⌘9description: Summarize a diff # shown in the Library---
Summarize this diff as a PR description.
**What changed:** {{cursor}}
**Why:****Risk:**

The folder a prompt lives in becomes its category. Tokens ({{clipboard}}, {{date}}, {{cursor}}, {{ask:label}}) expand when the prompt is pasted; unknown tokens stay literal so typos are easy to spot. See docs/example-prompts/ for ready-to-use templates and the full format reference.

How it works

The whole product is one tight loop, proven before anything was built around it:

⌥Space (Carbon global hotkey)
→ capture the frontmost app BEFORE any UI appears
→ show a non-activating NSPanel + fuzzy filter
→ paste service: AX direct write, with a clipboard-paste fallback
→ verify the text actually landed by reading it back
→ clipboard restored to exactly what it was

Promptly writes text through the Accessibility API when it can, and falls back to a snapshot-restore clipboard paste when it can't — always confirming success by read-back rather than trusting a return code.

Build from source

Promptly builds with swiftc directly — no Xcode project required.

# Dev loop: compile (native arm64) → bundle → install to /Applications → relaunch → tail logs
./run.sh
# Release build: Universal (arm64 + x86_64), ad-hoc signed, zipped to ./dist
./scripts/release.sh 0.1.0

[!NOTE] A rebuild can silently revoke Accessibility permission (macOS keys it on signature + bundle id + path). If paste stops working after a rebuild, run tccutil reset Accessibility com.promptly.app and re-grant.

Documentation

DocWhat's inside
docs/getting-started.mdTutorial: from install to your first paste
docs/how-to.mdTask recipes: pins, hotkeys, folders, tokens, fill-ins
docs/reference.mdEvery frontmatter field, token, and shortcut
docs/PRD.mdProduct vision, the feeling, success gates, non-goals
docs/FEATURES.mdUX and interaction spec, with mockups
docs/DESIGN.mdTechnical design: paste service, hotkey, permissions, modules
docs/TASKS.mdGated build checklist
docs/FEATURE-CATALOG.mdIndex of every feature (committed, candidate, non-goal)
docs/example-prompts/A gallery of starter prompts

Working on the code with an AI assistant? CLAUDE.md captures the architecture, boundaries, and the gotchas most likely to bite.

About

Native macOS menu-bar prompt launcher. Press a shortcut in any text field, fuzzy-find a template, and it pastes where your cursor was.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages