How ontoplano works
Most of this wiki is built rather than written. The reference pages are
generated by scripts/build-docs.mjs from something the running app
enforces — the migration snapshot, the route files, the scope table, the
shortcut map — so a change to the logic changes the page on the next
build, and a page cannot quietly stop being true.
Run yarn docs to rebuild. yarn docs:check fails if what is committed
is out of date, which is what keeps the two honest.
What the app is
Written by hand, in docs/prose/, because no generator can explain why a
thing exists. The tables inside them are still generated.
- Architecture — how a request travels, and where each kind of rule is allowed to live
- The plan — what a block, an occurrence and a todo each are, and how one becomes another
- Ways in — tokens, scopes, streams, webhooks and the calendar link — the whole outside surface
Reference
Generated, every one. Do not edit them.
- Data model — every table and column, from the migration snapshot
- HTTP API — endpoints and the scope each one demands
- Services — the service layer, module by module
- Pages and actions — every address, and the form actions behind it
- Configuration — config.toml, the environment, and per-account settings
- Keyboard — every shortcut, per page
What is not here
The reasoning behind a particular line lives in the comment above that
line, where it moves with the code — the wiki collects those rather than
restating them. The guides for running an instance — deployment, backups,
billing, the Android build — are in docs/ beside this directory, because
they describe things outside this repository that no generator can read.