Skip to main content

Prompt Vault CLI

Dual Python + Go implementation with Docker support

Save, tag, search, and version your best prompts with a unified CLI.

Features

  • 🔐 Save prompts – Store with name, tags, and auto-versioning
  • 🔍 Fuzzy search – Find prompts by keyword or tag
  • 📋 Clipboard copy – One command to copy prompt ready to paste
  • 📚 Version history – Git-based versioning with diff and revert
  • 📦 Export/Import – Backup and restore your vault
  • 🐍 Python version – Typer CLI with Rich output
  • 🐹 Go version – Fast single binary, no dependencies
  • 🐳 Docker ready – Pre-configured containers for both
  • 🖥️ Interactive TUI – Run without arguments for menu-driven interface

Quick Start

Python Version

cd prompt_vault/python
pip install -r requirements.txt

# Interactive TUI (no arguments)
python3 vault_cli.py

# Or use CLI commands
python3 vault_cli.py create --name "my-prompt" --tags "demo,test"
python3 vault_cli.py get "my-prompt"

Go Version

cd prompt_vault/go
go mod download
go build -o vault

# Interactive TUI (no arguments)
./vault

# Or use CLI commands
./vault create --name "my-prompt" --tags "demo,test"
./vault get "my-prompt"

Docker

# Build and run Python version
docker build -f Dockerfile.python -t prompt-vault:python .
docker run -v $(pwd)/data:/app/data prompt-vault:python create --name "my-prompt"

# Build and run Go version
docker build -f Dockerfile.go -t prompt-vault:go .
docker run -v $(pwd)/data:/app/data prompt-vault:go create --name "my-prompt"

# Or use docker-compose
docker-compose run python create --name "my-prompt"
docker-compose run go create --name "my-prompt"

Commands

Run vault without arguments to open the Interactive TUI.

Command Python Go Description
(tui) vault_cli.py vault Interactive menu (default)
create vault_cli.py create -n "name" vault create -n "name" Create a new prompt
get vault_cli.py get "name" vault get "name" Get prompt (copies to clipboard)
search vault_cli.py search "query" vault search "query" Fuzzy search prompts
list vault_cli.py list vault list List all prompts
tags vault_cli.py tags vault tags List all tags
version vault_cli.py version "name" vault version "name" View version history
export vault_cli.py export vault export Export vault
import vault_cli.py import file.yaml vault import file.yaml Import prompts
delete vault_cli.py delete "name" vault delete "name" Delete a prompt

Interactive TUI

Run without arguments to open the interactive terminal UI:

# Python
python3 vault_cli.py

# Go
./vault

TUI Menu:

╔══════════════════════════════════════════╗
║         Prompt Vault                     ║
║  Save, tag, search, version prompts      ║
╚══════════════════════════════════════════╝

Main Menu:
  1 - List all prompts
  2 - Create new prompt
  3 - Search prompts
  4 - View tags
  5 - Get prompt (copy to clipboard)
  6 - Delete prompt
  q - Quit

Navigate with number keys, enter text when prompted, and press Enter to continue between screens.

Examples

Create a prompt with tags

# Python
python vault_cli.py create --name "code-review" --tags "code,review,analysis"

# Go
./vault create --name "code-review" --tags "code,review,analysis"

Get a prompt (copies to clipboard)

# Python
python vault_cli.py get "code-review"

# Go
./vault get "code-review"

Search prompts

# Python
python vault_cli.py search "code analysis"
python vault_cli.py search --tag "python"

# Go
./vault search "code analysis"
./vault search --tag "python"

View version history

# Python
python vault_cli.py version "code-review"
python vault_cli.py version "code-review" --revert 2

# Go
./vault version "code-review"
./vault version "code-review" --revert 2

Export/Import backup

# Export
python vault_cli.py export --output backup.yaml
./vault export --output backup.yaml

# Import
python vault_cli.py import backup.yaml
./vault import backup.yaml

Architecture

prompt_vault/
├── python/                     # Python implementation
│   ├── vault_cli.py           # Main CLI entry (Typer)
│   ├── core/
│   │   ├── vault.py           # CRUD operations (SQLite)
│   │   ├── search.py          # Fuzzy search (thefuzz)
│   │   ├── versioning.py      # Git versioning (GitPython)
│   │   └── config.py          # Config handling (TOML/YAML)
│   ├── utils/
│   │   ├── clipboard.py       # Cross-platform clipboard
│   │   └── output.py          # Rich formatting
│   └── tests/
│       └── test_vault.py      # Unit tests
│
├── go/                         # Go implementation
│   ├── main.go                # Main entry
│   ├── cmd/                   # Cobra commands
│   │   ├── root.go
│   │   ├── create.go
│   │   ├── get.go
│   │   └── ...
│   └── internal/vault/        # Core logic
│       ├── vault.go           # CRUD (SQLite)
│       ├── search.go          # Fuzzy search
│       └── versioning.go      # Version management
│
└── data/                       # Shared data directory
    ├── prompts.db             # SQLite database
    └── versions/              # Version history

Configuration

Environment Variables

Variable Description Default
PROMPT_VAULT_DATA Data directory ~/.prompt_vault
PROMPT_VAULT_CONFIG Config file path ~/.prompt_vault/config.toml

Config File (TOML)

data_dir = "~/.prompt_vault"
default_tags = ["general"]
auto_copy = true
auto_version = true
search_limit = 10
list_limit = 50

Running Tests

Python

cd prompt_vault/python
pip install pytest
pytest tests/ -v

Go

cd prompt_vault/go
go test ./internal/vault/ -v

Performance Comparison

Operation Python Go
Startup time ~200ms ~10ms
Create prompt ~50ms ~5ms
Search (1000 prompts) ~100ms ~10ms
Binary size N/A ~15MB

License

MIT

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests for both Python and Go
  5. Submit a pull request

Metadata

Release files for prompt-vault-cli 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-vault-cli 0.1.0
File Size Uploaded Provenance Actions
prompt_vault_cli-0.1.0.tar.gz 18.1 kB Without provenance Details for prompt_vault_cli-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for prompt-vault-cli 0.1.0
File Interpreter ABI Platform Actions
prompt_vault_cli-0.1.0-py3-none-any.whl Python 3 none any Details for prompt_vault_cli-0.1.0-py3-none-any.whl

Total release size: 36.6 kB

Release files / prompt_vault_cli-0.1.0.tar.gz

Download URL prompt_vault_cli-0.1.0.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7dd5d6a62da4f5a38cac530b400b7fa9b9957992e9614c8133619efb961ac911
BLAKE2b-256 checksum
How to use checksums
07de6089d8d56d8952b78ed5c9ec6f173c1586d311077581ac1670e591fae6d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

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

Download URL prompt_vault_cli-0.1.0-py3-none-any.whl
Size 18.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f2af56cebc2df5cd2251cbb57305b9150f83596d09554bc59e44e16ae203626
BLAKE2b-256 checksum
How to use checksums
6612b3fad901a1deb59841157dacf70ab3cefc6c58d5b37d6b6f072a2ffb3510
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Security for prompt-vault-cli 0.1.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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