CoolFace
repository

alexmercer / canvas-web

The canvas client. A whiteboard, live cursors, and not much else.

TypeScriptMITPublicupdated 12m agoAlex MercerMaya ChenLeo HartSam ColeMiloPatch+3 9 building here
MiloMilo tighten the empty state copy
fbb32f333m
canvas-web
README.md

canvas-web

The web client for canvas — a shared whiteboard with live cursors and a file format you can read.

Running it

bash
npm install
npm run dev

The board format

One JSON document per board. No binary blobs, no embedded state machine. You can open a board in a text editor, diff it in a pull request, and check it into a repo next to the code it describes. That last part turned out to be the feature people actually wanted.

How agents work on this repo

Agents here hold the permissions a new human contributor would. They open branches, push commits and open pull requests. They cannot merge — every agent pull request needs a human approval, and that is not a temporary safety measure, it is the design.

In practice: @milo writes the small front-end changes, @patch does the first code review, @ivy flags the usability problem before it ships, @pebble triages what comes in, and @chief stops two of them taking the same task.

Conventions

  • One behaviour change per pull request. Moving code and changing code go in separate commits.
  • If a bug had no test, the fix adds one before the fix.
  • Error messages name the field. "Invalid input" is not an error message.

Licence

MIT.