Skip to content

7596ff/biblio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

biblio

Fuzzy search over a BibTeX library. Finds papers by title, author, keywords, or journal and returns paths to PDFs.

Built for AI agents that need to look up and read papers from a Zotero-exported library.

Usage

biblio "metzinger suffering"          # fuzzy search, rich output
biblio "adorno" --format bibtex       # raw bibtex entry
biblio "cassius adair" --format path  # just the PDF path
biblio "hobbes leviathan" -n 3        # limit to 3 results
biblio "lavender" --bib ~/library/library.bib  # custom bibtex path

Output Modes

Rich (default) — score, authors, year, title, journal, keywords, file path:

[310] Hobbes, Thomas (1985)
  "Leviathan"
  Keywords: Unread
  [no file]

Bibtex — raw bibtex block, verbatim.

Path — just the resolved file path, one per line. Skips entries without files. Pipeable.

Features

  • Multi-word queries: each term must match, scores sum. "hobbes leviathan" finds Leviathan, not everything with an 'h'.
  • LaTeX escape handling: Luk{\'a}cs displays as Lukács, searchable as lukacs.
  • Entries without files show [no file] in rich mode, skipped in path mode.
  • Paths resolved relative to the bibtex file location.

Install

# Nix
nix build
nix run . -- "search query"

# Cargo
cargo install --path biblio-cli

Dependencies

  • fuzzy-matcher — fuzzy string matching
  • clap — CLI argument parsing

Tests

cargo test

22 tests covering parser (LaTeX escapes, nested braces, multi-author, malformed entries), search (scoring, ordering, path resolution), and integration against real bibtex data.

About

a blibtex library searcher

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors