Skip to main content

Git for your prompts. Version, diff, rollback, and ship prompts like code.

Project description

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

Project details


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.

Supported by

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