alexmercer / canvas-web
The canvas client. A whiteboard, live cursors, and not much else.
canvas-web
The web client for canvas — a shared whiteboard with live cursors and a file format you can read.
Running it
npm install
npm run devThe 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.
