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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prompt_version_control-0.1.0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prompt_version_control-0.1.0-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

Details for the file prompt_version_control-0.1.0.tar.gz.

File metadata

  • Download URL: prompt_version_control-0.1.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for prompt_version_control-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e27b64426c2d9b22761147309141b11403bd1e3019cd843770622838819d4fbb
MD5 633614a1ab072d636cd4e2b293fc8c61
BLAKE2b-256 37311eac46634a3234140e896b9a7dc81bfa8dcfda81d6c4cf08e3a56090c794

See more details on using hashes here.

Provenance

The following attestation bundles were made for prompt_version_control-0.1.0.tar.gz:

Publisher: release.yml on ANIMESHIOLOGY/prompt-version-control

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file prompt_version_control-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for prompt_version_control-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6dbbfc46673dd7e67658dd888ca275047de594a861c784692ad3fd985a76504e
MD5 408fd1970b02ce3648ab5d1a5f6a3342
BLAKE2b-256 1c84cbf6b5e3ef06ce5c1ad2a5fc22d81ae7ebed0c4097913d5835a93c3cd6ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for prompt_version_control-0.1.0-py3-none-any.whl:

Publisher: release.yml on ANIMESHIOLOGY/prompt-version-control

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page