← All work

PromptLikeEngineer · Version-controlled prompt library

Giving prompts real version control, on Postgres

Version control for prompts: every save is a version you can diff and roll back from the terminal, the web or an agent, and each team's prompts are isolated by the database.

Still from the animation built from PromptLikeEngineer's own interface, as shown on its site: two versions of a prompt compared and one rolled back
276row-level security policies
43tables
3live product surfaces

Problem

Developers lose their best prompts in Notion pages and Slack threads. A notes app wouldn't fix it: prompts change over time, the old version is sometimes better, and a team needs to review changes before they land.

Constraint

The need was version control, not note-taking, but it had to be built for a multi-tenant SaaS, not borrowed wholesale from Git.

Approach

I designed branches, revisions, pull requests, reviews and comments from scratch. The key decision: permission checks live in the database, not the application, enforced by 276 row-level security policies across 43 tables. The product reaches web, an npm CLI and an MCP server, all on the same API contract; a Chrome extension is built on that contract, with no database key inside it, and is not released yet. Billing runs on LemonSqueezy with idempotent webhook handling.

Result

A live product with three surfaces on one API: web, CLI and an MCP server. Isolation is enforced by the database, so a customer's prompts stay theirs even if the app layer is wrong.

Prompt authoring → Branch + revision → PR + review → 43 tables · 276 RLS → Live, 3 surfaces

How it works

Screens from PromptLikeEngineer's own site, from saving a prompt in the terminal to sharing it with a team. Scroll, and each one zooms in on the part the text describes.

  1. promptlikeengineer.com01 / 07
    The PromptLikeEngineer home page: the headline Engineer your prompts, and a terminal above a version-history panel.

    The PromptLikeEngineer home page: the headline Engineer your prompts, and a terminal above a version-history panel.

    01 / 07

    A prompt library with history

    Prompts get versions, diffs and rollback, and the same library is reachable from the terminal, from agents and from the web.

  2. promptlikeengineer.com02 / 07
    A terminal running ple save for a code review prompt, printing the saved file path and the variables lang and diff, above the Markdown file.

    A terminal running ple save for a code review prompt, printing the saved file path and the variables lang and diff, above the Markdown file.

    02 / 07

    Save from the terminal

    ple save stores a prompt as a plain Markdown file and detects its variables. Saving needs no account.

  3. promptlikeengineer.com03 / 07
    A Fill variables form with lang and diff fields and a preview of the filled prompt, above a terminal running ple get with --var flags.

    A Fill variables form with lang and diff fields and a preview of the filled prompt, above a terminal running ple get with --var flags.

    03 / 07

    Write once, fill per use

    Variables become a form on the web, with a live preview and one-click copy. In the terminal, ple get with --var prints the filled prompt for your agent.

  4. promptlikeengineer.com04 / 07
    A version history with v1.0.2 marked Current, v1.0.1 with a Rollback to this version button and v1.0.0 Imported, above a diff of the changed instruction.

    A version history with v1.0.2 marked Current, v1.0.1 with a Rollback to this version button and v1.0.0 Imported, above a diff of the changed instruction.

    04 / 07

    Every save is a version

    Versions are numbered and diffed against the one before, with removed and added lines marked. Rolling back to an earlier one takes a click.

  5. promptlikeengineer.com05 / 07
    A terminal running ple loop with variants named concise, structured and chain-of-thought, each with a character and token count, ending with the structured variant saved as v3.

    A terminal running ple loop with variants named concise, structured and chain-of-thought, each with a character and token count, ending with the structured variant saved as v3.

    05 / 07

    Test variants with Loop

    On the Pro plan, ple loop runs prompt variants through your own agent and shows a token estimate for each. Pick a winner and it is saved as the next version.

  6. promptlikeengineer.com06 / 07
    A terminal showing an agent calling get_prompt and fill_variables over MCP and receiving the filled content, with the note that it writes only on request.

    A terminal showing an agent calling get_prompt and fill_variables over MCP and receiving the filled content, with the note that it writes only on request.

    06 / 07

    Agents read it over MCP

    Over MCP an agent can list, search and fetch your prompts and fill their variables. Writes happen only on request, and every save is a new version.

  7. promptlikeengineer.com07 / 07
    An Invite team member panel with an invite link and the note that it expires in seven days and adds the person as editor, above a Shared with you list.

    An Invite team member panel with an invite link and the note that it expires in seven days and adds the person as editor, above a Shared with you list.

    07 / 07

    Share with a team

    Invite collaborators with a link that expires in seven days. Access is enforced by row-level security policies in Postgres, so a team sees only what it was given.

Next.jsPostgreSQLRow Level SecurityCLI DevelopmentChrome ExtensionMCP

Need something like this?

Send two or three lines: what you have, what is broken or missing, and when you need it. I reply within 12 hours, Monday to Saturday.