prompt-blame

Crates.ioprompt-blame
lib.rsprompt-blame
version0.1.0
created_at2026-01-06 20:34:13.242358+00
updated_at2026-01-06 20:34:13.242358+00
descriptionTrack which prompts created or modified code lines
homepage
repositoryhttps://github.com/douglance/prompt-blame
max_upload_size
id2026768
size71,189
doug (douglance)

documentation

README

prompt-blame

Track which prompts created or modified each line of code. prompt-blame stores prompt-to-line mappings in a per-repo SQLite database so you can trace generated or edited code back to the exact prompt.

Install

cargo install prompt-blame

From source:

cargo install --path .

Quickstart

prompt-blame init

prompt-blame record \
  --prompt "Add JWT authentication" \
  --file src/auth.rs \
  --lines 10-25

prompt-blame query src/auth.rs:42
prompt-blame query --verbose src/auth.rs:40-50

Commands

init

Creates .prompt-blame/, runs migrations, and ensures .prompt-blame/ is globally gitignored.

prompt-blame init

record

Record a prompt and the lines it affected.

prompt-blame record \
  --prompt "Add auth" \
  --file src/auth.rs \
  --lines 10-25

Batch from stdin JSON:

echo '{"prompt":"Add auth","session":"abc","files":{"src/auth.rs":[10,11,12]}}' | prompt-blame record --stdin

query

Look up the prompt responsible for one or more lines.

prompt-blame query src/auth.rs:42
prompt-blame query src/auth.rs:40-50
prompt-blame query --format json src/auth.rs:42

Prompt preview lengths:

  • Single-line query: 1000 characters by default
  • Multi-line query: 100 characters by default
  • --verbose: full prompt content

sql

Run raw SQL against the prompt database.

prompt-blame sql "SELECT * FROM prompts"
prompt-blame sql --format json "SELECT file_path, COUNT(*) as lines FROM line_mappings GROUP BY file_path"

sync

Re-map tracked lines after files change.

prompt-blame sync src/auth.rs
prompt-blame sync --all

Configuration

prompt-blame reads prompt-blame.ron from the repo root. If the file is missing, defaults are used.

(
    prompt_summary_length: 100,
    query_single_line_preview_length: 1000,
    query_multi_line_preview_length: 100,
)

Data storage

  • SQLite database: .prompt-blame/prompts.db
  • .prompt-blame/ is added to your global gitignore by prompt-blame init

Development

cargo test
Commit count: 2

cargo fmt