The ROFL guide

ROFL keeps a model of your code and answers questions about it with proof. These pages are the documentation for people: what it answers, how to ask, how to write your own rules. Every command output in them is printed by the tool itself when the guide is built, never typed in, so what you read is what runs. They are published at disentinel.github.io/rofl/guide on every merge.

Start here

1WHAT.mdWhat ROFL is and what it answers, on one small example: an answer with its proof, where a "no" stops, and what the model could not see
2INSTALL.md, QUICKSTART.mdInstall it, play the tutorial, write a notebook of your own, point one at your code
3ASKING.mdThe same questions from the command line, for a person or an agent: rofl ask, why, whynot, --json, the kept world, the exit codes

Writing your own

CONCEPTS.mdCells, sentences, facts, rules, asking lines, exit codes; a glossary
WRITING.mdThe sentence form, every rule of it on one page
CHEATSHEET.mdAll of it on one screen
DRAWING.mddraw: a picture of what a notebook concludes
MODELS.mdtranslate: a language model writes a rofl cell from a request in words, and what it may read

For agents and tool authors

AGENTS.mdThe snippet for a project's CLAUDE.md, rofl-nb --json, the exit codes
ADAPTERS.mdWriting an adapter: how a world asks the outside, a database, a program, an MCP server or an HTTP API, and gets facts back

What is new

1.5 (1.5.0 on 24 October 2026, 1.5.1 on 25 October)

On main, not yet in a release

ADAPTERS.md describes the adapter ones already; an installed 1.5.1 has none of these yet.

Further in

The design decisions behind all of this are in docs/, one file a decision, written for the people and agents who work on the engine. The command line's every flag is in docs/cli.md; what changed in each release, and what an agent must do differently, in docs/releases/. The notebook also runs in the browser, nothing to install: disentinel.github.io/rofl.