# databook

Agent-native data notebook CLI. A coding agent answers data questions in a markdown notebook of SQL, Python and .xlsx-model blocks run on DuckDB; every number in the prose is a {{block.col}} reference to the block that computed it.

This file helps AI agents understand and use this documentation site.

## Documentation Surfaces

- [Docs](https://databook-xi.vercel.app/): Documentation section: docs
- [Full documentation context](https://databook-xi.vercel.app/llms.txt): All configured documentation as Markdown
- [Semantic documentation sitemap](https://databook-xi.vercel.app/sitemap.md): High-level documentation map for agent navigation
- Page-level Markdown: append .md or .mdx to a documentation URL

## When to use databook

- Category: Data analysis
- Audience: Coding agents, Analysts and engineers working with data files or databases
Common use cases:

- Answer a data question from CSV, Excel, JSON, SQLite, Parquet files or a read-only database
- Build a checked, reviewable notebook or report instead of a one-off script
- Rerun an analysis on a new data export and list which numbers changed
- Export a self-contained HTML report or one block's result as CSV

## Important Links

- [Docs](https://databook-xi.vercel.app/installation)
- [CLI](https://databook-xi.vercel.app/cli)
- [Examples](https://databook-xi.vercel.app/examples)
- [Agent skill (SKILL.md)](https://github.com/StTronn/databook/blob/main/src/databook/skill/SKILL.md): The workflow the agent follows
- [GitHub repository](https://github.com/StTronn/databook): Source repository

## Agent Instructions

- Install: `npm i -g databook-cli` (or `npx databook-cli <cmd>` without installing), then `databook setup` to add the skill to every detected agent; `databook doctor` shows what is wired. Details: /installation.md.
- The skill's SKILL.md is the workflow to follow; `databook --help` lists commands.
- Workflow: `databook comments` → `init` → `import` → `schema`/`query` → edit `notebooks/<name>.md` → `databook check` until `✓ … 0 error(s)` → `export`.
- Never type a computed number into prose; reference it as `{{block.col | fmt}}` from a block that returns one row.
- Read /concepts/blocks.md for block syntax and /cli.md for every command.
