Start
Your first notebook
Eight steps. Local files work with no configuration at all; URL capture needs one config file, which flip writes for you. Python 3.12+, two libraries, no services.
-
Install it
A tool install keeps flip off your project's dependency list, which is where it belongs — flip is something you run, not something you import.
uv tool install flip-notebookOr
pipx install flip-notebook, orpip install flip-notebookinside a virtualenv. From source:git clone https://github.com/lavallee/flip && cd flip && uv sync.flip --version -
Tell it who you are
Every event and every entity page records an actor. Set it once in your shell profile and stop thinking about it; agents set it per-invocation so their work is distinguishable from yours.
export FLIP_ACTOR="human:yourname"Precedence is
--actor, thenFLIP_ACTOR, then a detected default. -
Write a starter config, if you want URL capture
Local files always copy with no config. For URLs, this writes a
config.tomlwhoseweblane uses the bundled zero-dependencyflip-fetchhelper, so capture works immediately and you can swap in curl, wget, a headless browser, or your own fetcher later.flip config initThe same file carries a commented
[extractors]stanza — the laneflip extractuses to turn a captured PDF into readable text undersources/text/, keyed by media family. flip ships no extractor and picks no default, because a package that has an opinion about PDF libraries is a package you have to fight.flip's core makes no network calls and no LLM calls. It runs exactly what you configure, and records which tool ran in the provenance ledger.
-
Open a notebook
Pick a profile with
--kind. Ascoutscreens an angle fast and needs one judged source per claim; aresearch-reviewis headed for publication and demands two. You can change your mind later —flip migrateupgrades in place.flip new my-question --kind scout --title "The thing I am trying to find out"Kinds answer to what people actually say:
--kind "literature review"lands onlit-review, whose doctor knows from day one what a finished review must contain.flip kind listshows them all; open-ended is first-class (scout).cd my-question -
Capture something, before you cite it
A local file, a URL, or a DOI. flip copies the bytes in, hashes them, appends a provenance line, and opens a source page at grade
?. From this point the notebook does not depend on that thing still existing anywhere else.flip add-source ./some-report.pdf --note "why I grabbed this"flip add-source https://example.org/a-page -
Read it, then grade it
Capture is custody; grading is judgment, and they are deliberately separate acts. Grading describes the evidence — how independent, what basis, whether the measured quantity is even defined — and the letter grade is derived from the description, never handed out. Until then the source counts toward nothing at all — which is the point, because a source you have not read should not be able to prop up a claim.
flip grade F1 --independence independent --basis official-record --base-defined --notes "why this reading" -
Make a claim, and try to promote it
Claims enter as
asserted. Mark the ones your work would fall over without as--load-bearing, because those are the onesflip doctoraudits. Then find out what your profile demands.flip claim add "The assertion, in one sentence" --source F1 --load-bearingflip claim status C1 verifiedIf it refuses, that is the system working. Add an independent source with
flip claim source add C1 F2, or record a real check withflip claim verify C1 --method adversarial— a skeptic pass that went looking for disconfirming evidence.Two more moves belong here. A claim that is about a document rather than supported by one cites it with
--about, and owes an attribution test instead of a second witness that cannot exist. Andflip claim testrecords a probe that could have come out the other way — the error you hunted, how it would have shown up, and what you would have seen instead — which is the one place a check that found the error can be written down.flip claim exposure C1reads the result back. -
Audit, and see where you are
doctorvalidates after the fact rather than gatekeeping before, which is what makes it safe for a human to edit the same files in a markdown editor.showcomputes the hot view every time; add--jsonand it becomes an agent's context primer.flip doctorflip show
Then what
- Open it in Obsidian.
flip obsidianwrites the vault link config and installs a companion plugin that surfaces doctor findings and the hot view in the sidebar. The notebook was already a valid vault; this just finishes the job. - Point an agent at it.
AGENTS.md is
the five-minute tour and the lineage rules an agent has to honour. Seven
procedural skills ship as plain
SKILL.mdfiles that any runtime can read. - Put many notebooks under one root.
flip ws initbinds each to a short handle you choose, sorecipes:A3resolves from anywhere underneath. - Keep the conversation.
flip session transcriptcaptures the exchange a position was built in, under the same custody a fetched document gets, andflip transcript excerptpins the passage so a claim citesT1§labelrather than a two-hour file. - Render it.
flip export jsonemits theflip-render/1projection for site generators. This site's provenance panel is built from it.
The outputs shown above are real, captured by running these commands against a scratch notebook when this page was built. Ids and timestamps will differ in yours.