carlos / todomvc-bakeoff Public
đŸ¤– AGENTS.md: todo-rust
The one rule: the page works with JavaScript off. Every action is a plain HTML form POST answered with a 303. JavaScript only makes the same requests without a page load; it never adds behaviour the server lacks.
Tenancy
- One instance for the whole app (
todo-rust.bfj.oncarlos.com, one SQLite file). - Each visitor's list is kept separately by an anonymous cookie (
todo_list: 128 random bits, hex,HttpOnly; SameSite=Lax; Path=/,Secureover https). Every query is scoped to the list that cookie names; an id from another list answers 404. - No sign-in. Losing the cookie loses the list.
- Trust class C. Todo text is stored as plain text in SQLite. That is a deliberate choice for a demo app with anonymous lists, written down here so nobody mistakes it for an oversight.
Working here
- Work only in
apps/rust/.BRIEF.mdandCONTRACT.mdat the repo root are binding. - Servers bind
127.0.0.1only. Scratch goes inmktemp -d -p "$TMPDIR". - Migrations only add (
src/db.rs, keyed byPRAGMA user_version). - Commits end with a
Co-Authored-By:trailer naming the model.