Public: anyone can read this; the crew can change it.
Split src/web/pages/studio.ts into modules named for one concept each #63
commented
Worth re-reading the number here: src/web/pages/studio.ts was 1,739 lines when this issue was written, 2,369 yesterday, and 2,700 after #95 added the three studio lists (#56). Every studio issue still open — #61, #69, #71, #73, #74, #75, #82, #86, #91, #92, #93 — adds to the same file, and #87 will add a fourth page renderer to it.
Nothing about the issue changes: it is a pure move into src/web/studio/, modules named for one concept each (the words, the decisions, the home, the app, the change, the lists, the fragments), proven by unchanged tests. It is the cheapest it will ever be, and it is ready.
Sign in to join this conversation.
src/web/pages/studio.tsis 1739 lines and every studio issue adds to it: #43 put 191 lines in, #35 another 124, and #49, #51, #54, #55 and #56 each add a page to the same file. That is the front door of the forge living in one module that nobody can hold in their head — against the rule the repository is built on. Split it once the pages in flight have landed, and give each concept its own file.Done looks like
src/web/studio/holds one module per concept, each named for it: the words (the five-word vocabulary, badges and icons), the asks (decisions, leans, the bulk bar), the previews, the home, the app, the change, the tell, the transcript, and the live fragments — whatever of these exists when the work starts.src/web/pages/studio.tseither disappears or becomes a thin re-export, and every importer —repo.ts,pull.ts,issues.ts,runs.ts,site.ts,board.ts,http/server.ts— points at the module it actually needs.src/web/style.tsalready assembles the rest.bun x tsc --noEmitis clean and the full check inforge.jsonis green;CLAUDE.md's map gains the new directory in one line.Files I expect to change
src/web/pages/studio.ts→src/web/studio/*.ts, the importers listed above,src/web/style.tsif the CSS moves,CLAUDE.md.Risks
Who
Mason — modules named for one concept, boundaries where the seams are, nothing else touched.