Talk is cheap. Show me the prompts.

Puff, with apologies to Linus Torvalds

Prompuff: A local-first home for prompts worth keeping.

Save the prompts that worked, fill in their {{variables}} and copy the result. Every saved change becomes a version you can read back or restore. Your prompts stay on your machine: no account, no cloud, no telemetry. Updates back up your library before they change it.

Free and open source, for Windows, macOS and Linux.

The launch video

A short tour of Prompuff 1.0.

What it does

A small desktop app for the prompts that actually worked, and a note on why each one did.

Keeps the prompts that worked

Each prompt has a title, a description, the prompt itself and a note on why it worked. File it in a collection, tag it, give it a heart, and rate it from Meh to Cooked.

The Prompuff library in Prompuff Dark: a sidebar with collections and tags, and six prompt cards, each with its tags, a usefulness rating and when it was last edited.

Renders {{variables}}

Fill in the blanks, watch the preview update, and copy the result. Anything you leave empty stays as a {{token}}, and each prompt remembers its values for next time.

The Render and copy tab for Angular Upgrade Planner: four variables on the left with three filled in, and the rendered prompt on the right with the filled values marked and the empty tone variable highlighted.

Chains prompts into workflows

Plan, build, then check. Fill in the shared details once, copy each step into your model, and carry its answer to the next. Prompuff never runs a model itself.

The workflow Angular upgrade, start to finish, on step 2 of 3: shared variables filled in once on the left, and step 2 rendered on the right with the plan pasted in from step 1.

Captures from anywhere

Copy a prompt in any app and press Ctrl+Alt+P (⌃⌥P on a Mac). Quick save opens with your clipboard, Enter stashes it, and you’re back where you were.

The Quick save dialog over the library, holding a copied prompt with a suggested title, a collection picker, tags, Worked well, Template and Idea buttons, a note, and Save.

Keeps every version

Every saved change to the title, description, prompt or notes becomes a version. Read the line diff, and Restore brings an old one back as a new version, so nothing is lost.

The History tab for README Cleanup Prompt: three versions on the left with short notes, and a line diff on the right showing two added lines.

And the small things

Keeps up with the keyboard

Ctrl+K opens the command palette. Arrows, Enter and type-to-jump get around the library.

Travels as Markdown

Export one .zip for another machine or a teammate, or import a whole folder, such as an Obsidian vault.

Forgives

Deleted prompts wait 30 days in Recently deleted, and the library is backed up once a day.

Dresses up in thirteen themes

Prompuff Dark and Light, plus palettes you know from your editor. Pick a dark one and a light one, and System follows your computer between them.

Prompuff Dark

Dark: Prompuff Dark, Darcula, Gruvbox Dark, Dracula, Nord, One Dark, Tokyo Night, Solarized Dark and Catppuccin Mocha. Light: Prompuff Light, Gruvbox Light, Solarized Light and Catppuccin Latte.

Settings, Appearance, in Gruvbox Dark: a Dark, Light and System switch, nine dark themes and four light themes shown as small previews, with Gruvbox Dark and Prompuff Light picked.
Settings › Appearance, wearing Gruvbox Dark.
Angular Upgrade Planner in Catppuccin Latte: the prompt in the editor, its four variables listed on the right, and a Why this worked note below them.
Catppuccin Latte, with a note on why the prompt worked.

Works from a terminal, and from your AI tools

Same library, whether or not the app is open. The app picks up changes within two seconds.

The prompuff command

Install it from Settings › Integrations. It searches, renders and saves prompts, names them by title or a few words only they match, and prints JSON with --json for scripts.

$ prompuff search angular
Angular Upgrade Planner  · #angular #migration

$ prompuff render "Angular Upgrade Planner" --var repo_name=acme --var target_version=22
You are a senior Angular engineer planning an upgrade of acme to Angular 22.
⋮
Package manager: {{package_manager}}. Keep the tone {{tone}}. End with a risk table.
Not filled, so left as {{tokens}}: package_manager, tone. Pass --var name=value to fill one.

$ git diff | prompuff quick-save --title "Review this diff" --tag review
Saved “Review this diff”.

$ 

An MCP server, off until you say so

Claude Code, Claude Desktop, GitHub Copilot CLI and Codex can search, read and render your prompts, and your favorites turn up as slash commands. It’s read-only, and it shares nothing until you turn on Let AI tools read my library in Settings › Integrations.

Settings has each tool’s setup ready to copy, with the full path filled in.

claude mcp add --scope user prompuff -- prompuff mcp
codex mcp add prompuff -- prompuff mcp
copilot mcp add prompuff -- prompuff mcp
Settings, Integrations: an Install button for the command-line tool, the Let AI tools read my library switch turned off, and a ready-to-copy Claude Code setup command.

Download

Free and MIT-licensed. Every build is self-contained, so there’s no .NET to install, and every build updates itself.

Windows

x64, Windows 10 and 11

macOS

Apple Silicon and Intel

Apple Silicon

Intel

The builds aren’t notarized by Apple, so macOS blocks the first launch. Open Prompuff once and close the warning, then choose Open Anyway in System Settings › Privacy & Security.

Prompuff is checked on GitHub’s macOS runners, not by hand, because the developer has no Mac. If something looks off, open an issue.

Linux

X11, or Wayland through XWayland

Make it executable, then run it:

chmod +x Prompuff-linux-x64.AppImage
./Prompuff-linux-x64.AppImage

If your distribution doesn’t ship FUSE 2, run it with APPIMAGE_EXTRACT_AND_RUN=1 set.

Check a download

Every release has a SHA256SUMS file. Put it beside your download and run:

Linux
sha256sum --check --ignore-missing SHA256SUMS
macOS
shasum -a 256 --check --ignore-missing SHA256SUMS
Windows
Get-FileHash Prompuff-Setup.exe in PowerShell, then compare it with the line in SHA256SUMS.

Want new versions early? Settings › Updates has a Beta channel. Every version is on the releases page.

Your prompts stay on your machine. No account, no cloud, no telemetry.

Private by design

  • No analytics, crash reporting or AI calls.
  • The only thing Prompuff asks the internet is whether there’s a new version. It sends nothing about your library, and you can turn it off in Settings › Updates.
  • The prompuff command and its MCP server never go online. The MCP server answers only the AI tool that started it, and only while Settings allows it.
  • Logs record prompt IDs and counts, never titles, prompts, notes or variable values.

This page keeps the promise too: no analytics, no trackers, and nothing loaded from another site. The fonts, images and video all come from here.

The 1.0 promise

From 1.0 on, Prompuff only grows: new features, and more from the ones it has.

  • Every later version opens a 1.0 library, and a library from any earlier release, by migrating it forward after a backup.
  • Markdown exported from 1.0 imports into every later version, and your settings carry over.
  • The prompuff command and its MCP server keep working the way your scripts and AI tools use them.
  • Each promise is a test: every build checks the new version against libraries, files and answers from earlier releases.

The library format and the Markdown format are written down, for anyone reading them with other tools.

Keep the prompts that worked.

Scroll sideways to see the whole window.