librarian-cli CLAUDE.md

A set of project instructions for working on librarian-cli, a local tool that turns books into clean Markdown chapters.

In plain words
What is it for?
Use it when developing or reviewing librarian-cli, running its tests, processing books, or checking that its repeatable “golden” outputs remain unchanged.
Why use it?
It gives contributors the project layout, commands, design rules, and testing expectations needed to change the code safely.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/terobyte/librarian-cli/claude-md
Clone the repo
git clone --depth 1 https://github.com/Terobyte/librarian-cli
Per session 1,724 This file is loaded in full into every session.
When invoked 1,724 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01724 $0.01724
Opus 5 $0.00862 $0.00862
Sonnet 5 $0.00345 $0.00345
Haiku 4.5 $0.00172 $0.00172

Measured yesterday against content hash 861c78f455f9, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

librarian-cli CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 91 lines

How it starts

The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md — libby / librarian

librarian — детерминированный конвейер «книга → Markdown-главы» для работы с LLM. Любой формат (FB2, EPUB, DOCX, HTML, TXT/MD, PDF с текстовым слоем) → каталог чистых глав с подсчётом токенов. Без сети, без LLM, без случайности: одинаковый вход → побайтово идентичный выход.

Раскладка

  • Git-корень — этот каталог (libby/), он же корень пакета: с M7 librarian/{pyproject.toml, src,tests,scripts,uv.lock} сплющены прямо сюда (репо на GitHub — librarian-cli), все команды запускать отсюда, без cd.
  • README.md — англ. пользовательская дока (канон, её видит PyPI: команды, установка, квота качества, лимиты). README.ru.md — русская версия того же.
  • docs/MILESTONES.md — история вех M1–M7 и сквозной список отклонений от спеки (почему код расходится с дизайном). Читать перед правкой спорного места.
  • librarian-spec-v2.2.md — канон дизайна (спека). docs/superpowers/ — дизайн-доки/планы.

Команды

uv run pytest -q                      # весь набор (~330 тестов, ~19с)
uv run pytest tests/test_golden.py    # только golden (детерминизм выхода)
uv run lib ingest книга.epub          # обработать в ./library
uv run lib find маятник               # FTS5-поиск; --json для машинного вывода
uv run lib serve                      # MCP-сервер (stdio); mcp — основная зависимость
uv build                              # wheel; офлайн-установка не требует сети

Корень библиотеки: --library <путь> / LIB_HOME / по умолчанию ./library. Данные → stdout, диагностика → stderr. Exit: 0 успех, 1 ошибка выполнения, 2 ошибка использования.

Критический инвариант: golden не трогать

Выход детерминирован побайтово. tests/golden/ — эталон. Любая правка, меняющая выходные байты, валит test_golden.py. Это не «обнови golden» — это осознанное решение:

  • Меняешь выходные байты намеренно → подними PIPELINE_VERSION (src/librarian/__init__.py) и регенерируй golden явно. Иначе — дефект: чини код, а не эталон.
  • .search.db и .lock — производные, вне контракта (исключены из tree_bytes в conftest).
  • PDF-фикстуры недетерминированы при генерации (pymupdf пишет случайный /ID) — коммитятся байтами один раз; scripts/make_fixtures.py перезаписывает только с регенерацией golden.
  • Сеть в тестах заблокирована (pytest-socket); stdio/unix-socket разрешены (для MCP-смоука).

Read the full file on GitHub · 91 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 91 lines · 1,724 tokens per session scan A 861c78f455f9

Subscribe to this mod's changes

librarian-cli CLAUDE.md is an instructions file published in the GitHub repository Terobyte/librarian-cli (0 stars, last pushed 1mo ago), licensed MIT. It adds 1,724 tokens to every session, about $0.0086 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.