Developer docs
Rúfol is a pnpm monorepo on Vite+. The domain lives in pure TypeScript packages with no DOM and no framework. The apps import them.
Packages
Section titled “Packages”| Package | What it holds |
|---|---|
@draw/shapes |
The shape model: frames, drawables, bindings, styles, selection. |
@draw/sketch |
The hand-drawn renderer: rough edges, fills, ink. |
@draw/editor |
Editing state: the document, selection, gestures and undo. |
@draw/brand |
The Rúfol tokens, fonts, logo and roughness words. |
| App | What it is |
|---|---|
apps/app |
The Rúfol whiteboard, a client-only SPA. |
apps/site |
The landing page. |
apps/docs |
This site. |
apps/playground |
A scratch page to try the packages by hand. |
Commands
Section titled “Commands”| Command | What it does |
|---|---|
vp install |
Install dependencies. |
vp check |
Format, lint and type check the workspace. |
vp run -r test |
Run every package’s tests. |
vp run ready |
The full gate: check, tests and every build. |
vp run @draw/docs#dev |
Preview this site. |
Decisions and research
Section titled “Decisions and research”Architecture decision records live in docs/decisions/ and research notes in docs/research/. They are Markdown files in the repository, read next to the code, and are not published on this site.
Read the documentation workflow before your first change. Every change ships with its docs.