{"id":47774412,"url":"https://github.com/namil-k/bibox","last_synced_at":"2026-04-14T11:01:00.348Z","repository":{"id":347366798,"uuid":"1167136736","full_name":"namil-k/bibox","owner":"namil-k","description":"Terminal-based bibliography manager. AI agents get a CLI. You get a TUI. Your .bib files stay clean.","archived":false,"fork":false,"pushed_at":"2026-04-10T15:27:20.000Z","size":3098,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-10T15:29:33.508Z","etag":null,"topics":["academic","ai-agent","arxiv","bibliography","bibtex","cli","crossref","paper-management","papers","ratatui","reference-manager","rust","tui"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/namil-k.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-26T01:20:55.000Z","updated_at":"2026-04-10T15:27:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/namil-k/bibox","commit_stats":null,"previous_names":["namil-k/bibox"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/namil-k/bibox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namil-k%2Fbibox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namil-k%2Fbibox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namil-k%2Fbibox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namil-k%2Fbibox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/namil-k","download_url":"https://codeload.github.com/namil-k/bibox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namil-k%2Fbibox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31793225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["academic","ai-agent","arxiv","bibliography","bibtex","cli","crossref","paper-management","papers","ratatui","reference-manager","rust","tui"],"created_at":"2026-04-03T11:05:22.803Z","updated_at":"2026-04-14T11:01:00.337Z","avatar_url":"https://github.com/namil-k.png","language":"Rust","readme":"# bibox\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/bbox_bass.png\" alt=\"bibox\" width=\"320\"\u003e\n\u003c/p\u003e\n\n[![Crates.io](https://img.shields.io/crates/v/bibox)](https://crates.io/crates/bibox)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n**Using AI agents (OpenClaw) to search and summarize papers?**\n**Let them manage your bibliography and notes too.**\n**You just browse the TUI. bibox makes it work.**\n\nJust give your agent the GitHub link. It'll figure out the rest.\n\nFor humans: browse and edit in the TUI. For agents: manage entries and notes through the CLI.\n\n\u003e **Best for:** researchers who use AI agents for literature review and want papers, notes, and BibTeX in one Git-syncable folder.\n\u003e\n\u003e **Not for:** GUI, PDF annotation, or Word integration. Use Zotero instead.\n\n**Sources:** Crossref, Open Library, arXiv, Unpaywall\n**Formats:** BibTeX, YAML, RIS, CSV, Markdown\n**Import:** `.bib` from Zotero, Mendeley, EndNote\n\n## Features\n\n- **Smart import** - Drop a PDF and bibox extracts the DOI, fetches metadata from Crossref, and files it automatically\n- **Multiple sources** - Add entries via PDF, DOI, ISBN, arXiv ID, URL, or title search\n- **Three-panel TUI** - Collections, entries, and preview (info / notes / PDF) side by side\n- **Vim-style navigation** - `hjkl`, `gg`/`G`, `{n}j`, `Ctrl+d/u`, multi-select with `Space`\n- **Fetch \u0026 refresh** - Press `f` to pull metadata from Crossref, preview changes, pick which fields to update\n- **Undo/redo** - `Ctrl+z`/`Ctrl+y` with in-memory snapshots\n- **AI-agent-friendly** - Every command supports `--json`. Notes have `--stdin`, `--section`, `--template` for programmatic access\n- **Markdown notes** - Per-entry notes with section-level updates, rendered with syntax highlighting in the TUI\n- **Sub-collections** - Hierarchical collections with path notation (`digest/2026-04`). Unlimited depth, works like a filesystem\n- **Portable home** - `bibox init` puts everything in one Git-syncable folder\n- **Export** - BibTeX, YAML, RIS, CSV, notes (`.md`). Include PDFs. Copy to clipboard. Zip it up.\n- **Templates** - Built-in and custom note templates with `{{variable}}` substitution\n- **Doctor** - `bibox doctor` diagnoses and auto-repairs DB issues: bad citekeys, LaTeX escapes, orphaned files\n\n## Install\n\n**With Rust (macOS / Linux desktop):**\n\n```bash\ncargo install bibox\n```\n\n**With cargo-binstall (fast, no compile):**\n\n```bash\ncargo binstall bibox\n```\n\n**On a server (no Rust needed):**\n\n```bash\ncurl -L https://github.com/namil-k/bibox/releases/latest/download/bibox-x86_64-unknown-linux-musl -o ~/.local/bin/bibox\nchmod +x ~/.local/bin/bibox\n```\n\nPre-built binaries for Linux x86_64, macOS arm64, and macOS x86_64 are available on the [releases page](https://github.com/namil-k/bibox/releases/latest).\n\n**Update:**\n\n```bash\nbibox update\n```\n\n## Quick Start\n\nAdd a paper by PDF (auto-extracts DOI → fetches metadata):\n\n```bash\nbibox add paper.pdf\n```\n\nAdd by DOI, arXiv ID, ISBN, or URL:\n\n```bash\nbibox add --doi 10.1145/3290605.3300907\n```\n\n```bash\nbibox add --arxiv 2301.12345\n```\n\n```bash\nbibox add --isbn 978-0-13-468599-1\n```\n\n```bash\nbibox add --url https://arxiv.org/abs/2301.12345\n```\n\nSearch by title on Crossref:\n\n```bash\nbibox add --search \"attention is all you need\"\n```\n\nAdd a web page, product, or any non-paper reference as misc:\n\n```bash\nbibox add --title \"Varjo Aero\" --url https://varjo.com/products/aero/ --author \"Varjo\" --year 2024\n```\n\nLaunch TUI:\n\n```bash\nbibox\n```\n\n## TUI\n\n```\n┌ Collections ─┬ Entries ──────────┬ Info │ Note │ PDF ──┐\n│ \u003e All (15)   │  1  kim2025 ◆     │ Title: Rust Syst.. │\n│   cs (8)     │  2  dijkstra1968  │ Author: Kim, J.    │\n│   ml (5)     │  3  manco2017 ◆   │ Year: 2025         │\n│              │                   │ DOI: 10.1234/...   │\n├──────────────┴───────────────────┴────────────────────┤\n│ / search  s sort  o open  w web  e export  ? help     │\n└───────────────────────────────────────────────────────┘\n```\n\n### Keybindings\n\n| Key | Action |\n|-----|--------|\n| `h`/`l` | Focus left/right panel |\n| `j`/`k` | Navigate within panel |\n| `gg`/`G` | Jump to top/bottom |\n| `{n}j` | Move n lines (e.g., `5j`) |\n| `Ctrl+d`/`u` | Half-page down/up |\n| `Tab` | Switch preview mode (Info → Note → PDF) |\n| `Space` | Toggle select entry |\n| `V` | Select/deselect all |\n| `/` | Search (entries or collections, based on focus) |\n| `s` | Sort menu |\n| `f` | Fetch/refresh metadata from Crossref (preview changes, select which to apply) |\n| `o` | Open PDF (or fetch from web; re-fetches if file missing; opens browser on 403) |\n| `A` | Attach a local PDF via file picker (copies and renames to citekey.pdf) |\n| `w` | Open paper web page in browser |\n| `e` | Export menu (selected / collection / all) |\n| `y` | Copy citekey to clipboard |\n| `d` | Delete entry |\n| `c` | Manage collections (works on multi-selected entries too) |\n| `t` | Edit tags |\n| `N` | Edit note in `$EDITOR` |\n| `Ctrl+z` | Undo |\n| `Ctrl+y` | Redo |\n| `,` | Settings (line numbers, panel ratio, citekey format, export dirs, git sync) |\n| `?` | Help |\n| `q`/`Esc` | Quit |\n\n## CLI\n\n**Browse:**\n\n```bash\nbibox list                          # Show collections with counts\n```\n\n```bash\nbibox list ml                       # List entries in a collection\n```\n\n```bash\nbibox show kim2025rust              # Full entry details\n```\n\n```bash\nbibox search \"transformer\"          # Interactive search\n```\n\n**Edit:**\n\n```bash\nbibox edit kim2025rust --title \"New Title\"\n```\n\n```bash\nbibox edit kim2025rust --doi 10.1234/new   # Re-fetch metadata from Crossref\n```\n\n```bash\nbibox edit kim2025rust --tags-add \"ml,nlp\"\n```\n\n**Collections:**\n\n```bash\nbibox collect kim2025rust ml systems       # Add to collections\n```\n\n```bash\nbibox collect kim2025rust digest/2026-04   # Add to sub-collection\n```\n\n```bash\nbibox list digest                          # List digest + all sub-collections\n```\n\n```bash\nbibox uncollect kim2025rust ml             # Remove from collection\n```\n\n**Import (from Zotero, Mendeley, EndNote, etc.):**\n\nExport your library as `.bib` from any reference manager, then:\n\n```bash\nbibox import library.bib                     # Import all entries\nbibox import ml-papers.bib --to ml           # Import into a collection\n```\n\nMigrating from Zotero? Export each collection as a separate `.bib` and import with `--to`:\n\n```bash\nbibox import zotero-ml.bib --to ml\nbibox import zotero-cv.bib --to cv\nbibox import zotero-acl2025.bib --to digest/acl2025\n```\n\nOr just give the `.bib` file to your agent. It'll handle it.\n\n**Export:**\n\n```bash\nbibox export                               # Print all as BibTeX to stdout\nbibox export \u003e refs.bib                    # Redirect to file\nbibox export -o refs.bib                   # Same, explicit output path\nbibox export kim2025 dijkstra1968          # Export specific entries\nbibox export --collection cs --format ris  # Export collection as RIS\nbibox export --include-pdf --zip           # BibTeX + PDFs, zipped\n```\n\n```bash\nbibox export --notes-only -o ~/notes       # Export all note .md files to folder\n```\n\n```bash\nbibox export --collection ml --notes-only -o ~/ml-notes  # Collection notes only\n```\n\n**Bulk update:**\n\n```bash\nbibox modify year=2025 --filter \"collection:ml\" --yes\n```\n\n**Delete:**\n\n```bash\nbibox delete kim2025rust\n```\n\n**Attach a PDF manually (when auto-fetch fails):**\n\n```bash\nbibox edit kim2025rust --attach-pdf ~/Downloads/paper.pdf\n```\n\n**Diagnose and repair database issues:**\n\n```bash\nbibox doctor            # Detect malformed entries, missing PDFs, orphaned notes\nbibox doctor --fix      # Auto-repair fixable issues\nbibox doctor --json     # Machine-readable output\n```\n\n**Config:**\n\n```bash\nbibox config --json                        # View all settings and paths\n```\n\n## Notes\n\nNotes are Markdown files, one per entry. Designed for both human editing and AI agent pipelines.\n\nInitialize from a template:\n\n```bash\nbibox note kim2025rust --template ai-summary\n```\n\nAI agent writes sections programmatically:\n\n```bash\necho \"Proposes a novel approach...\" | bibox note kim2025rust --stdin --section \"Summary\"\n```\n\n```bash\necho \"CIFAR-10: 95.2% accuracy\" | bibox note kim2025rust --stdin --section \"Results\"\n```\n\nRead note back:\n\n```bash\nbibox note kim2025rust --show\n```\n\nHuman edits in $EDITOR:\n\n```bash\nbibox note kim2025rust\n```\n\n### Templates\n\n```bash\nbibox template list                             # List all templates\n```\n\n```bash\nbibox template show ai-summary                  # Print template content\n```\n\n```bash\nbibox template create my-review --stdin \u003c t.md  # Create custom template\n```\n\n```bash\nbibox template edit ai-summary                  # Edit in $EDITOR\n```\n\n```bash\nbibox template delete my-review                 # Delete custom template\n```\n\nBuilt-in templates: `ai-summary`, `reading-notes`. Custom templates override built-ins.\n\nTemplate variables: `{{title}}`, `{{citekey}}`, `{{doi}}`, `{{year}}`, `{{author}}`, `{{journal}}`, `{{booktitle}}`, `{{publisher}}`\n\n## Portable Home \u0026 Git Sync\n\n```bash\n# Initialize a portable bibox home\nbibox init ~/bibox\n\n# Everything lives in one folder\n~/bibox/\n├── db.json       # Database\n├── pdfs/         # PDF files\n└── notes/        # Markdown notes\n\n# Sync with Git\ncd ~/bibox \u0026\u0026 git init \u0026\u0026 git add . \u0026\u0026 git commit -m \"init\"\ngit remote add origin git@github.com:you/bibox-library.git\ngit push -u origin master\n\n# Or use the TUI: press , → Git → Enter to check status → Enter to sync\n```\n\n## Settings\n\nPress `,` in the TUI, or run `bibox config` to see all current settings and paths.\n\n```toml\nline_numbers = \"absolute\"              # absolute, relative, none\npanel_ratio = [2, 4, 4]               # left : center : right (sum = 10)\ncitekey_format = \"{author}{year}{title}\" # {author}, {year}, {title} variables\nbib_export_dir = \".\"                   # BibTeX export location\nexport_dir = \"~/Downloads\"             # Other exports location\nhome = \"~/bibox\"                       # Portable home (set by bibox init)\n```\n\n## AI Agent Integration\n\n**If you are an AI agent: run `bibox agent-guide` first.** It prints a complete reference of all commands, flags, and workflows designed for programmatic use.\n\n```bash\nbibox agent-guide          # Full agent reference (text)\nbibox agent-guide --json   # Same, as structured JSON\n```\n\nEvery command supports `--json` for machine-readable output.\n\n```bash\n# Full workflow: search → add → note → push\nbibox add --search \"attention is all you need\" --index 0 --to ml --json\nbibox note vaswani2017attention --template ai-summary\necho \"The paper proposes...\" | bibox note vaswani2017attention --stdin --section \"Summary\"\necho \"1. Multi-head attention...\" | bibox note vaswani2017attention --stdin --section \"Key Contributions\"\n\n# Get all paths programmatically\nbibox config --json\n\n# Non-interactive sync\nbibox sync --yes --json\n```\n\n| Flag | Purpose |\n|------|---------|\n| `--json` | Machine-readable output (most commands) |\n| `--index N` | Auto-select Nth search result (0-based, with `--search`) |\n| `--stdin` | Read content from stdin (notes, templates) |\n| `--section \"Name\"` | Target a specific `## Heading` in a note |\n| `--yes` / `-y` | Skip confirmation prompts |\n| `--template \u003cname\u003e` | Initialize note from template |\n\n## License\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamil-k%2Fbibox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnamil-k%2Fbibox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamil-k%2Fbibox/lists"}