you Use Sitewright to make a landing page, a dashboard and
a connect page for my coffee roastery, Bean & Barrel.
claude Which modules do you want?
[x] Landing page
[x] Dashboard
[x] Connect to phone
[x] Sign in
[ ] Publishing page
[ ] MFA accounts
you All the ticked ones. Brown and amber, a drop logo.
We call them orders, and the device is a tablet.
claude Got it. Statuses for an order? (new, roasting,
shipped, issue) And one number to total up?
(order total, in £)
// site.json (shortened)
{
"brand": {
"name": "Bean & Barrel",
"logo": { "style": "drop" },
"colors": { "primary": "#7a4a21", "signal": "#e8a33d" }
},
"vocab": { "record": "order", "records": "orders", "device": "tablet" },
"modules": ["landing", "signin", "dashboard", "connect"],
"dashboard": {
"statuses": [ new, roasting, shipped, issue ],
"metrics": [{ "key": "total", "unit": "£" }]
}
}
$ node scaffold.mjs --config site.json --out ./bean-and-barrel
sitewright: wrote 56 files to ./bean-and-barrel
brand Bean & Barrel (bean-and-barrel), logo drop,
primary #7a4a21, signal #e8a33d
modules api, signin, landing, dashboard, connect
(added as dependencies: api)
sign-in password (development only; stored in .env.local)
api key (Bearer token for /api/ingest)
next: cd bean-and-barrel && npm install && npm run dev
$ node verify.mjs --site ./bean-and-barrel
ok landing · mobile: no horizontal scroll after scrolling
ok sign-in · an open redirect in ?next is ignored
ok api · ingest stores a record with its file, and is idempotent
ok dashboard · mobile: a status chip filters
ok dashboard · mobile: dashboard controls are finger-sized
ok connect · mobile: shows the link with the key and copies it
ok hydration · /dashboard hydrates cleanly 6 times
ok console · no browser console errors
All checks passed (screenshots + report.json saved)