Local-first · macOS · Free · No account

Turn useful AI answers and scripts into a playbook you and your agents share.

The commands, prompts, scripts, and fixes you get from ChatGPT, Claude, and Codex — or write yourself — vanish into chat history and scratch files within days. Paste them into CommandShelf and they become a searchable, reusable Markdown library — with live {{slot}} fill-in and one-click copy — on your Mac, shared by the app, your terminal, and your AI agents.

Free · no account · your vault stays on your Mac · Pro Local unlocks the CLI & agents for a one-time $5.

👆 This is the real app, running in your browser — pick a session, fill the slots, or hit + New from paste and drop in your own AI answer. Nothing is uploaded.

From scattered chats to a reusable playbook.

The best commands, scripts, and prompts shouldn't live in a feed you'll never scroll back to.

Without CommandShelf

  • A command or script you nailed last week is buried in an old chat or a scratch file.
  • Copied into notes, the variables still have to be hand-edited every time.
  • Your AI agents have no idea any of it exists.
  • It's locked inside whatever app or database you pasted it into.

With CommandShelf

  • Saved as Markdown you can search, tag, and find in seconds.
  • Variable parts become {{slot}}s — fill and copy in one click.
  • The CLI lets Claude Code, Codex & Cursor read and render the same vault.
  • Plain .md files on your Mac — yours to back up, sync, or move.

From a pasted answer or script to reusable in under a minute.

Paste

Drop any Markdown answer or script from ChatGPT, Claude, Codex, or your own runbooks.

Detect

CommandShelf finds the reusable command & prompt blocks and turns variable parts into {{slot}}s.

Fill & copy

Type values into the slots, see the filled preview live, and copy the final text in one click.

Share with agents

Your terminal and AI agents read and render the very same vault through the CLI.

One vault, shared by you and your agents.

Whatever you or an agent writes — a command, a prompt, a deploy script — lives in one local vault. Your terminal and AI agents search and render it through the commandshelf CLI, which returns text and never runs anything.

$ commandshelf search "docker logs" --json
→ 3 sessions · "Docker logs API", "Deploy script", "Prod hotfix"

$ commandshelf render blk_8f2a --set service=nginx
docker logs -f nginx

# Same vault as the desktop app. The CLI never runs anything —
# it returns strings for you (or your agent) to use.

One vault. Two ways in.

Markdown files are the source of truth. Edit them by hand, in the app, or from an agent — everything stays in sync.

📥

Capture answers & scripts

Paste a reply from ChatGPT, Claude, or Codex — or a script you wrote yourself. CommandShelf renders it, detects reusable command & prompt blocks, and extracts {{slot}} parameters automatically.

Fill & copy in one click

Type values into slots, see the filled preview update live, and copy the final text in one click. No more hunting through old chats.

🖥️

CLI & Agent Bridge

search · show · render · copy · new from any terminal. Every command speaks --json so your AI agents can drive the same vault.

🤖

Agent Skills, one click

Install SKILL.md files into Claude Code, Codex, and Cursor so your agents know how to search and render your vault. The CLI returns text and never runs anything.

🔒

Local-first & portable

Your vault is plain Markdown plus a local SQLite index on your Mac — yours to back up, sync, or move. Your content never leaves your machine; the app sends only anonymous, opt-out usage stats.

🔁

Always in sync

Edit a .md file in your editor or via an agent and the desktop app live-refreshes. One source of truth, reconciled on every read.

Built in the open by one developer.

CommandShelf is early and shaped by the people using it. Tell me what to build next — what you'd save first, where the first run feels off, and what would make Pro worth it.

Free to start. $5 to unlock the terminal.

The desktop workspace is free forever. Pro Local is a one-time purchase — no subscription, no account.