Back to browse
GitHub Repository

curl for prompts. Run .prompt files against any LLM (Anthropic, OpenAI, Ollama) from the terminal. Treat prompts as code — version them, review them in PRs, and test them in CI.

3 starsPython

Prompt-run – run .prompt files against any LLM from the terminal

by maneeshthakur·Feb 28, 2026·1 point·0 comments

AI Analysis

●●●BangerSolve My ProblemShip It

Git-friendly `.prompt` format with `prompt diff` side-by-side output beats scattered Notion docs.

Strengths
  • `.prompt` file format (YAML header + templated text) is language-agnostic and human-readable—enables PR review and version control natively.
  • `prompt diff` command (two inputs/versions, side-by-side output) directly solves prompt iteration pain; uniquely thoughtful feature missing from competitors.
  • Multi-provider support (Anthropic, OpenAI, Ollama) without lock-in; 90% test coverage and no telemetry/data storage builds trust.
Weaknesses
  • Prompt management tools (promptfoo, Langfuse, LangChain) already exist; value prop is format simplicity, not breakthrough capability.
  • No evidence of adoption or production usage; PyPI downloads TBU suggests very early stage.
Target Audience

Prompt engineers, ML teams, and developers treating prompts as versioned code artifacts in CI/CD pipelines.

Similar To

promptfoo · Langfuse · Hugging Face Hub

Post Description

I built this because prompts kept ending up in the worst possible places — Python strings, Notion docs, `.txt` files, Slack threads. There was no clean way to version them, diff them, or test the same prompt across different models without writing a throwaway script.

prompt-run treats `.prompt` files as first-class runnable artifacts. A `.prompt` file is a YAML header (model, provider, temperature, variable declarations) followed by a plain text body with `{{variable}}` substitution. You run it from the terminal:

``` prompt run summarize.prompt --var text="$(cat article.txt)" ```

You can override model and provider at runtime without editing the file:

``` prompt run summarize.prompt --model gpt-4o --provider openai ```

The `prompt diff` command runs the same prompt for two different inputs (or two prompt versions against the same input) and shows outputs side by side. That's the feature I find most useful when iterating.

Supports Anthropic, OpenAI, and Ollama out of the box. MIT license. No telemetry, no accounts, no backend — just a local CLI tool that talks directly to whichever provider you configure.

The file lives in your repo, gets versioned by git, and can be reviewed in PRs like any other code.

Would be curious to hear whether others have hit this same friction and how you've handled it.

PyPI: https://pypi.org/project/prompt-run/

Similar Projects