Skip to main content

promptvc: Git for your prompts

Version, diff, rollback, and ship prompts like code.

CI License: MIT Python

Why?

LLM engineers change prompts constantly but track them nowhere. There is no git log for prompts, no git diff between versions, no git checkout to roll back a bad change. promptvc fixes this with zero infra and just a local SQLite file.

Install

pip install prompt-version-control

Optional extras:

pip install "prompt-version-control[yaml]"   # YAML export support
pip install "prompt-version-control[s3]"     # S3 remote sync

Quick Start

# Initialize in your project directory
promptvc init

# Stage a prompt (opens $EDITOR)
promptvc add summarizer

# Commit it
promptvc commit summarizer -m "initial version"

# Edit and commit again
promptvc add summarizer
promptvc commit summarizer -m "made it more concise"

# See what changed
promptvc diff summarizer

# Full history
promptvc log summarizer

# Show a specific version
promptvc show summarizer --version 1

# Roll back (non-destructive, creates a new version)
promptvc rollback summarizer --version 1

# Tag a stable version
promptvc tag summarizer 1 stable

# Search across all prompts
promptvc search "summarization assistant"

# Export to JSON
promptvc export summarizer --output summarizer.json

Team Sharing

Push your prompt store to a private GitHub Gist and share the ID with teammates:

# First push (creates the Gist, saves ID to config)
promptvc push --gist --token <your-github-pat>

# Teammates pull and merge into their local store
promptvc pull <gist-id>

# Subsequent pushes update the same Gist automatically
promptvc push --gist

Or use S3:

promptvc push --bucket my-team-bucket --key prompts/store.json
promptvc pull s3://my-team-bucket/prompts/store.json

Pull is always safe: it merges by content hash, so no duplicate versions are created.

Commands

Command Description
promptvc init Initialize .promptvc/ store in current directory
promptvc add <name> Stage a prompt (editor / --file / stdin)
promptvc commit <name> -m "msg" Commit staged prompt
promptvc log <name> Show version history
promptvc show <name> Display prompt content at a version
promptvc diff <name> Unified diff between versions
promptvc rollback <name> --version N Non-destructive rollback
promptvc list List all tracked prompts
promptvc env [set dev|staging|prod] View or set active environment
promptvc export <name> Export history to JSON/YAML
promptvc tag <name> <version> <label> Tag a version
promptvc search <query> Full-text search
promptvc push Push store to GitHub Gist or S3
promptvc pull <remote> Pull and merge from a remote

Features

  • Zero infra: local SQLite (.promptvc/store.db), nothing to deploy
  • Works alongside Git: version your prompts next to your code
  • Multi-environment: dev, staging, prod support per version
  • Token counting: via tiktoken, falls back to word estimate
  • Full-text search: SQLite FTS5 across all content and commit messages
  • Non-destructive: rollback and pull always create new versions, history is never deleted
  • Team sharing: push/pull via GitHub Gist or S3
  • Rich UI: colored diffs, tables, syntax highlighting

Roadmap

  • Remote sync via GitHub Gist
  • Remote sync via S3
  • GitHub Actions integration
  • VS Code extension

Metadata

Release files for prompt-version-control 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for prompt-version-control 0.1.0
File Size Uploaded
prompt_version_control-0.1.0.tar.gz 20.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for prompt-version-control 0.1.0
File Interpreter ABI Platform
prompt_version_control-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.5 kB

Release files / prompt_version_control-0.1.0.tar.gz

Download URL prompt_version_control-0.1.0.tar.gz
Size 20.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e27b64426c2d9b22761147309141b11403bd1e3019cd843770622838819d4fbb
BLAKE2b-256 checksum
How to use checksums
37311eac46634a3234140e896b9a7dc81bfa8dcfda81d6c4cf08e3a56090c794
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 6, 2026.

Transparency log

Release files / prompt_version_control-0.1.0-py3-none-any.whl

Download URL prompt_version_control-0.1.0-py3-none-any.whl
Size 29.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6dbbfc46673dd7e67658dd888ca275047de594a861c784692ad3fd985a76504e
BLAKE2b-256 checksum
How to use checksums
1c84cbf6b5e3ef06ce5c1ad2a5fc22d81ae7ebed0c4097913d5835a93c3cd6ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page