| Crates.io | prompt-blame |
| lib.rs | prompt-blame |
| version | 0.1.0 |
| created_at | 2026-01-06 20:34:13.242358+00 |
| updated_at | 2026-01-06 20:34:13.242358+00 |
| description | Track which prompts created or modified code lines |
| homepage | |
| repository | https://github.com/douglance/prompt-blame |
| max_upload_size | |
| id | 2026768 |
| size | 71,189 |
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.
cargo install prompt-blame
From source:
cargo install --path .
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
Creates .prompt-blame/, runs migrations, and ensures .prompt-blame/ is globally gitignored.
prompt-blame init
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
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:
--verbose: full prompt contentRun 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"
Re-map tracked lines after files change.
prompt-blame sync src/auth.rs
prompt-blame sync --all
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,
)
.prompt-blame/prompts.db.prompt-blame/ is added to your global gitignore by prompt-blame initcargo test