Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

How-to guides

How-to guides assume that the goal is settled and the missing piece is a procedure. A first encounter with panproto belongs in the tutorials; an exact flag, signature, or grammar belongs in the reference.

First working path

A reader starting from an existing schema file can follow one short sequence: install a surface, define or load a schema, construct a migration with the migration guide, and convert data. Each guide includes a verification step before the next operation changes data or repository state.

Intermediate entry points

These guides assume that you can already load and validate a schema.

GoalStart hereContinue with
Control an inferred spanFind a span between two schemasApply field transforms
Run a lens in both directionsUse lensesWrite lenses in the lens DSL
Inspect or select recordsQuery instancesExpression-language reference
Preserve source formattingRound-trip with format preservationDecorate an abstract schema
Put schema changes under version controlInitialize and commitBranch and merge
Reject incompatible changes automaticallyCreate a breaking-change gateRun it in GitHub Actions

Advanced entry points

These guides cover reusable transformations, language tooling, and protocol extension.

GoalStart hereRelated contract
Reuse one lens across a family of schemasUse protolensesLens combinators
Select an optic from schema structureUse dependent opticsLens combinators
Parse and migrate syntax treesParse full ASTsRust SDK
Translate between schema languagesTranslate across protocolsProtocol catalog
Add a schema languageBuild a custom protocolCrate map
Version data with its schemaVersion data alongside schemasCLI reference

Tasks by area

Setup and schema creation are collected under Install panproto and Define a schema. Migration work begins with Build a migration and extends through field transforms, lenses, protolenses, dependent optics, and the lens DSL.

Data tasks cover conversion, queries, format-preserving round trips, full-AST parsing, and schema decoration. Repository tasks are grouped under Schema version control and Continuous integration; Translate across protocols and Build a custom protocol cover extension across protocol boundaries.