WebTyp demo app — the platformd shell wired with three CRUD modules,
served from this dedicated repo so the demo never weighs on library go.mods.
The reference demo used by github.com/webtyp/layout
(platformd): a playground to import ANY webtyp package freely and test it
in a running app.
modules/devices— full CRUD (form + list) over an in-memorystorage/memstore vialayout/crudview.modules/medicalhistory— CRUD with aselectsearch/targetdatelist.modules/about— static module.web/client.go— the composition root:platformd.Platform+hiddenModule(exercisesCanView), mock brand/identity,themetoggleuser action, and thefieldsetglobal form skin.
config/lang.go is the demo's one dictionary: it registers the
English→Spanish words the framework's own chrome needs (layout/crudview's
confirm dialog, components/calendarslider's month/weekday names, …) via
webtyp.com/fmt/lang, and activates Spanish
(lang.OutLang(lang.ES)). Libraries never hardcode a language themselves —
they render an English key through lang.Translate(...); this file is what
turns that into Spanish for the demo. web/client.go blank-imports
config so the registration actually runs. Adding a module whose framework
component has its own translatable chrome? Add its words to this same file.
webtyp # from this repo; dev server :8080, MCP :6060
The demo consumes the shell via a local replace while layout is in monorepo development:
replace webtyp.com/layout => ../layout
With no replace, resolution falls back to the published webtyp.com/layout
module. (A clone outside this workspace needs either the published version or
the ../layout checkout next to it.)