CodeBook

Ask a book and its code together.

Put a PDF book, a GitHub repository and a few documentation pages in one workspace and ask questions across them. Answers come back with page numbers and file:line references you can open in place. The agent decides how to search for each question, and the same sources turn into quizzes, flashcards and summaries.

What you get

Cited answers
Every claim points at a page of the book or a file and line range in the code.
The agent picks how to search
Vector search, keywords, the table of contents, the call graph or the web, chosen per question and retried when the first pass is weak.
Code graph
Callers, dependencies and the path between two functions, built from the repository itself.
Study tools
A quiz, flashcards, a mind map or a summary of any source, with the same citations.
Memory
What you tell it about yourself carries over between conversations, and you can edit or clear it.

An exchange

Does Express’s next() chain behave like a replication log, where each layer sees the request in order?

  1. search_sources “router stack next follower log” 42 ms
  2. read_source lib/router/index.js:139–183 11 ms

Not really. Express walks its router’s stack in order and hands the request to each matching layer, which passes control on with next(); nothing is recorded, so a layer that ends the response simply stops the chain1. A replication log is the opposite: every change is appended durably, so a follower that was down can ask the leader for everything after the last transaction it processed and catch up2. The two share only the idea of ordered processing.