# Documentation index

Welcome to the `boru/ai` documentation.

This directory is intended to grow beyond the top-level README and provide focused documentation by topic.

## Start here

- [`getting-started.md`](getting-started.md) - installation, bootstrap, first request, streaming, and a first tool example
- [`configuration.md`](configuration.md) - config sections, precedence rules, provider settings, replay settings, persistence settings, and DB knobs
- [`testing.md`](testing.md) - test layers, local `.env` files, and DB-backed integration test setup
- [`chat.md`](chat.md) - fluent chat callbacks and when to use `onEvent()` or event listeners directly

## Core guides

- [`tools.md`](tools.md) - inline tools, class-based tools, legacy compatibility, and runtime tool lifecycle events
- [`conversation-memory.md`](conversation-memory.md) - memory objects, built-in memory tools, config policy knobs, and persistence shape
- [`conversation-forks.md`](conversation-forks.md) - design and behavior for branching or cloning persisted conversations
- [`replay.md`](replay.md) - conversation continuity, replay strategies, and provider-specific replay behavior
- [`assets.md`](assets.md) - provider-agnostic assets, provider bindings, attachment flow, and binding lifecycle policy
- [`persistence.md`](persistence.md) - persistence model, DB-backed persistence, schema settings, and bootstrap wiring
- [`architecture.md`](architecture.md) - runtime, provider, persistence, stream, and chat-application boundaries
- [`cli.md`](cli.md) - interactive chat and inspection commands

## Suggested reading order

If you are new to the library:

1. `getting-started.md`
2. `configuration.md`
3. `chat.md`
4. `tools.md`
5. `conversation-memory.md`
6. `conversation-forks.md`
7. `replay.md`
8. `assets.md`
9. `persistence.md`
10. `architecture.md`
11. `cli.md`

## Relationship to the README

The top-level `README.md` is intended to be a concise landing page.

The `docs/` directory is the place for deeper explanations, examples, and topic-specific reference material.

If you arrived here from the README, start with `getting-started.md` for a practical first pass.
