FAQ

Short answers to the questions newcomers ask most, each pointing at the page or repository document that carries the full context.

Getting started

What is Nabu, and who is it for?

Nabu is personal research infrastructure: a local, searchable, citable library of ancient-text corpora — the Greek and Latin canons, documentary papyri, cuneiform, Sanskrit, Old English, the Slavic canon, and more — built for scholars who want to hold their sources rather than query a service. It is a command-line pipeline and database, not a website or a reading application. What it is and why it exists is set out on About; worked walk-throughs for ten scholarly personas are on Examples, and the full set of 25 research desks — one scholarly hat per field, each with its own shelves and recipes — is the reader’s-eye map of the whole collection.

How do I try it in minutes?

Clone the repository, run bundle install, then bin/nabu quickstart — one command that syncs a curated four-source starter shelf (about 690 MB on disk, measured 2026-07-13) and prints the first commands to try: a Gospel verse aligned across seven witnesses, search by dictionary lemma, and a full LSJ entry with resolved citations. The complete walkthrough is Quickstart.

What does it need?

Ruby 3.3 or newer, git, and disk space: about 1 GB covers the starter shelf (canonical files plus derived databases), while a full library build occupied roughly 45 GB canonical plus 43 GB derived SQLite on the reference machine as of 2026-07-22 — growth is entirely at your discretion, shelf by shelf. There are no cloud requirements at runtime and the dependency set is deliberately small. Details and per-shelf sizes are on Quickstart.

Which platforms does it run on?

macOS (Apple Silicon) is the development platform, and the honest answer is that no other platform is exercised. Nothing in the core is known to be Mac-specific — it is plain Ruby, git, and SQLite — but Linux and Windows users should expect to be the first to try. A report either way is welcome as a GitHub issue.

Does it work offline?

Yes, once a shelf is synced: fetching a source needs the network, but everything after — search, alignment, dictionary lookup, the MCP server — runs against local files and local SQLite with no network access at all. The library is designed to outlive the services it draws from, so offline operation is a design goal rather than a side effect; see the principles on the home page.

Why does Hebrew (or pointed, accented text) look wrong in my terminal?

Two layers are involved, and only one is Nabu’s. Nabu’s display layer (config/display.yml, the --display flag) decides which marks to draw: by default it strips Hebrew cantillation accents and Old Church Slavonic titla at render time — announced in a footer, with --display full always showing every stored byte, and the stored text itself never altered. Text direction and fonts, though, belong to the terminal: iTerm2 has an experimental right-to-left toggle (Settings → General → Experimental), macOS Terminal.app has no bidi support at all, and pointed Hebrew wants a scholarly font such as Ezra SIL. The full setup guide — what Nabu strips, what the terminal must do, and a per-script table — is docs/display.md.

How does Nabu relate to Perseus and Scaife?

It complements rather than competes: Perseus and the Scaife Viewer are reading environments served from institutional infrastructure, while Nabu ingests Perseus’s openly licensed editions (among some two dozen other corpora) into a library on your own disk, under one query surface, one citation scheme, and one license model. If Perseus restructures or goes offline, a Nabu library keeps working. The shelf survey is on The Library.

The library

What is included?

As of 19 September 2026: 2,274,296 documents and 106,902,485 passages across 159 registered, synced sources, plus 1,998,589 dictionary entries and 21.9 million gold lemma annotations in 45 languages — the Islamicate library (OpenITI, the corpus’s largest holding — Classical Arabic and Persian, added 22 July 2026), the classical Chinese library and the Buddhist canon, classical Greek and Latin, papyri, Latin inscriptions, cuneiform and the Ancient Near East, Sanskrit and the Pali canon, Hebrew and Aramaic, Egyptian, Coptic, Japanese, Old English and the wider Germanic wave (Old Norse, Old Saxon, Middle High German, and the runestones, added 22 July 2026), Slavic, Celtic, biblical editions, and a reference shelf of 114 dictionary shelves. The full survey is The Library; the authoritative living inventory is docs/library.md. On your own install, bin/nabu list --sources prints the one-page version: every source with a one-line description, grouped by language family.

Why is the TLG (or Brill, or another paywalled resource) not included?

Licensing, plainly: the TLG is a subscription service with no export or redistribution grant, and Brill’s dictionaries are in copyright (the de Vaan etymological shelf, for instance, carries only the linked-data skeleton its publisher permitted, not the entries). Nabu ingests only sources with a verifiable open or research-usable license, and records the blocked ones honestly, with the specific terms and possible unlock paths, in docs/02-sources.md. Requests for anything openly licensed are genuinely welcome — request a source, leading with the license evidence.

Can I add my own texts and PDFs?

Yes, since 14 July 2026: nabu ingest FILE files your own material — scanned grammars, offprints, articles — into a local-library shelf; it also accepts http(s) URLs, downloading first and recording the address in the catalogue entry. The file is copied in (never moved), metadata is derived mechanically and confirmed interactively, with AI assistance, or fully scripted; the document is then catalogued, page-cited where it carries a text layer, and searchable beside the rest of the library. Everything on this shelf defaults to the strictest access class (research_private): it is never served to AI clients without an explicit opt-in and never redistributed. The command is described under Stewardship on Tools; for a structured corpus the better path is still a per-source adapter, per CONTRIBUTING.md.

How current are the sources kept?

Per source, by posture: live sources re-fetch on every sync (non-destructively — texts an upstream deletes are retained and honestly labelled), completed datasets are refetched manually and deliberately, and frozen upstream releases are never expected to change. nabu health checks the collection’s invariants, and its remote probes watch upstream reachability and license drift between syncs. The posture and license of every source are on Sources; operations are documented in docs/ops.md.

What happens when I sync a source?

Four things, in order: the upstream snapshot is fetched into the canonical store non-destructively (anything upstream deleted is kept in an attic, and a circuit-breaker aborts a sync that would gut the source); every document is parsed and upserted into the catalog by its URN, with malformed files quarantined and counted rather than silently dropped; whatever the source derives — dictionary entries, reference links, annotations — is refreshed; and the search indexes are brought up to date incrementally, touching only that source’s rows rather than re-indexing the whole collection. The sync’s report says exactly what changed, down to the per-source indexed count. Syncing a notes or dossier shelf is instant, because those shelves feed no search index — there is simply no index work to do. A full re-index from scratch remains available as nabu rebuild, which regenerates the entire database from canonical data.

Licenses and use

What do the license classes mean?

Every document carries one of four classes, recorded at ingestion and shown on every surface. open is public domain or CC0 — no restrictions; attribution is the CC BY / CC BY-SA family — redistributable with credit (together with open, roughly 99% of documents); nc is the CC BY-NC-SA family — licensed for non-commercial research use and never redistributed by the tooling; research_private covers terms stricter than all of these (CC BY-ND, scholarly-use grants without a redistribution clause) — held for personal research only. The full model is on Sources.

Can I redistribute texts I got through Nabu?

It depends on the passage’s class, which is labelled on every search hit, alignment row, and export precisely so this is never guesswork. open texts: yes, freely; attribution texts: yes, crediting the upstream edition per its terms (share-alike where the license says so); nc and research_private texts: no — they are for your own research, and the tooling itself never redistributes anything. Per-source terms are on Sources and in docs/02-sources.md.

Is this a commercial product?

No. The code is MIT-licensed, nothing is paid, and no one’s data is hosted or resold — the data licenses belong to the upstream projects, not to Nabu. The nc and research_private classes exist so that restricted grants are technically enforced in the software, not merely promised. See About.

What does Nabu store, and where?

A verbatim canonical copy of each synced source, as plain files under git, plus derived SQLite databases — all under the library’s own directory on your machine. Nothing leaves that machine: there is no telemetry, no account, and no server component beyond the local, read-only MCP process you may choose to run. The storage design is described under “How it is built” on About.

AI

How do AI assistants use the library?

Through a local Model Context Protocol (MCP) server, which exposes the library’s tools — search, retrieval by URN, alignment, dictionary lookup, the etymology walk, intertext — to clients such as Claude Code and Claude Desktop. The surface is structurally read-only (the SQLite engine itself is opened read-only), and every passage in every response carries its URN, language, and license class, so an assistant can quote and cite but never alter or launder a text. Registration recipes and the tool reference are in docs/mcp.md.

Which content is excluded from AI serving, and why?

The research_private and restricted classes are excluded from every MCP tool by default — they never appear in search results and retrieval withholds them — because material held under scholarly-use or no-derivatives grants (the Freising Manuscripts edition, for instance) should not surface casually in a conversation. A caller who understands and will honor the terms can opt in per call. The stance is specified in docs/mcp.md; the classes themselves are explained on Sources.

Was Nabu built with AI assistance?

Yes, extensively: development proceeds by a documented agent loop — work packets executed by Claude language models under test-driven ground rules, with owner-reviewed phase gates — and all code, including every ingestion adapter, is open for inspection in the repository. The process is described in docs/dev-loop.md and summarized on About.

Contributing and contact

How do I request a corpus or feature, or report a wrong reading?

Each request has a prepared GitHub issue form: request a source (lead with the license evidence, quoted verbatim), request a feature (the scholarly question first), and report a wrong reading (the URN, what nabu shows, what the source shows). Anything else fits a new issue of any shape; the house rules are in CONTRIBUTING.md.

How do I cite Nabu?

The repository carries citation metadata in CITATION.cff, and versioned releases begin with v1.0.0 (July 2026) — cite the tagged version you used, or the site and repository with your access date: Nabu: a local library of the ancient world, https://arvicco.github.io/nabu (repository: github.com/arvicco/nabu), adding the version tag or commit hash where precision matters. Each release carries a DOI — v1.0.0: 10.5281/zenodo.21361957. Texts you quote from the library should be cited to their upstream editions, which every passage’s URN and license label identify — see Sources.

Who maintains it?

Ar Vicco <arvicco@nabu.ac>, whose research needs drive the backlog. Questions, corrections, and conversation are welcome through GitHub issues; more on the project’s shape and history is on About.