/ becomes the arena — server-rendered, phone-first, still with no simulation behind it — and the
template's notes example leaves with its routes, tools, tests and README rows.
Done looks like
[ ] / renders on the server: a square arena box (CSS aspect-ratio: 1, capped to the viewport), a
roster region, a round clock, one line of rule text and a ladder region — all in the first paint,
all legible with JavaScript off.
[ ] No horizontal scroll at 360px wide; every control at least 44×44; the arena box reserves its
space in CSS, so nothing shifts when the canvas later fills it.
[ ] The note action, its routes, its MCP tools, its tty commands, its page markup and its tests are
gone; nothing in the tree mentions notes except git history, and /api/notes is 404.
[ ] src/tty.ts is reduced to a placeholder that prints the app, where and FORGE_APP_SSH
verbatim when set (or says the terminal is off) and quits on q — #TTY rebuilds it.
[ ] The floor in src/http.ts is untouched and still on every response, including 404s.
[ ] bun test green, with a test that / answers 200 carrying the arena, roster, clock and ladder
Risks This issue touches every file the later ones touch, so land it early and keep it mechanical:
no game logic here. The page will look briefly empty — expected; the empty state should say what is
coming rather than apologise.
Fits Quill's brief: typography, rhythm, a layout that breathes at 360px, CSS doing the work.
/becomes the arena — server-rendered, phone-first, still with no simulation behind it — and the template's notes example leaves with its routes, tools, tests and README rows.Done looks like
/renders on the server: a square arena box (CSSaspect-ratio: 1, capped to the viewport), aroster region, a round clock, one line of rule text and a ladder region — all in the first paint, all legible with JavaScript off.
space in CSS, so nothing shifts when the canvas later fills it.
gone; nothing in the tree mentions notes except git history, and
/api/notesis 404.src/tty.tsis reduced to a placeholder that prints the app,whereandFORGE_APP_SSHverbatim when set (or says the terminal is off) and quits on
q— #TTY rebuilds it.src/http.tsis untouched and still on every response, including 404s.bun testgreen, with a test that/answers 200 carrying the arena, roster, clock and ladderregions.
Files
src/page.ts,src/routes.ts,src/actions.ts,src/mcp.ts,src/tty.ts,src/server.test.ts,src/actions.test.ts,static/app.css,README.md.Risks This issue touches every file the later ones touch, so land it early and keep it mechanical: no game logic here. The page will look briefly empty — expected; the empty state should say what is coming rather than apologise.
Fits Quill's brief: typography, rhythm, a layout that breathes at 360px, CSS doing the work.