---
title: Documentation
cascade:
  type: docs
---

libfossil is a pure-Go library and CLI for reading and writing Fossil SCM repositories. Zero CGo. Static binaries. WASM-ready.

## What you'll find here

- **[Quickstart](./quickstart)** — install the CLI, clone a repo, and read its history from Go in five minutes.
- **[Architecture](./architecture)** — module layout, storage model, driver layer, and the deterministic simulator.
- **[Migration from Fossil](./migration-from-fossil)** — for upstream Fossil users: what's covered, what isn't, and how the CLI shapes differ.
- **[Extension Points](./extension-points)** — observer interfaces for telemetry, custom SQLite drivers, and the `db.DB` abstraction.
- **[Production patterns](./production)** — error handling, context, telemetry wiring beyond the quickstart's `log.Fatal` shortcuts.
- **[Testing](./testing)** — running the suite, the dual-driver matrix, and DST simulation with seeds and BUGGIFY.
- **[SDK reference](./reference/sdk)** — auto-generated Go API reference, one page per package.
