bib
is a command line bibliography manager and explorer. Git meets bib.
Each reference is embedding using an LLM and you can query your entire library using natural language.
The main power of bib
is to allow to create and manage multiple stacks (branches).
Note
BIB requires gum
to be installed and available on your PATH
.
# macOS or Linux
brew tap antonio-leitao/taps
brew install bib
bib
allows for adding and importing bib references, both manually and automatically from arXiv.
git
has branches, bib
has stacks.
This allows you to create separated stacks of references (base
, to_read
etc.) and manage them separately.
The api is done as to mimic git
as close as possible
bib stack
: Lists all stacks including active one.bib stack <NAME>
: Switches to stack namedNAME
.bib stack <NAME> new
: Creates new empty stack namedNAME
.bib stack <NAME> drop
: Deletes the stack namedNAME
.bib stack <NAME> toggle [QUERY]
: Toggles selected paper in/out of stackNAME
.bib stack <NAME> rename <NEW NAME>
: Renames stackNAME
toNEW NAME
.bib stack <NAME> fork <FROM>
: Creates a new stackNAME
with all papers fromFROM
.bib stack <NAME> merge <FROM>
: Adds all papers ofFROM
into stackNAME
.bib unstack
: Work with all references at the same time.
References are always added to the current stack. Unstack before adding if you dont want to assign them to that stack. Or toggle the stack from the reference later.
bib add <ARXIV URL>
: Automatically adds reference given an arxiv url. This will be extended to included other sources.bib add --pdf <PATH>
:Adds paper given a local pdf path. Prompts user to manually add a bibtex reference.bib add --web <URL>
:Adds paper given an online pdf url. Prompts user to manually add a bibtex reference.
bib list <LENGTH>
: Prints all references in the stack. Optionally choose list size.bib open <QUERY>
: Select reference to open.
bib yank <QUERY>
: Copies bibtex of selected reference to clipboard.bib export <FILENAME>
: Export bibfile to standard output of all references or selected stack.