// hf-bootstrap.jsx — Bootstrap (PUC-10 / PUC-11) hi-fi. Terminals + runbook.
const { HF_H: B, HF_STARS: B_STARS, HF_DSC: BDS } = window;
const { Eyebrow: BEyebrow, Soul: BSoul, Callout: BCallout } = BDS;
const BMONO = 'ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace';
function BBay({ children, pad = 32 }) {
return
{children}
;
}
function BHead({ kicker, title, sub }) {
return (
{kicker}
{title}
{sub &&
{sub}
}
);
}
function BTerminal({ title, lines, style = {} }) {
return (
{['rgba(155,140,255,.55)', 'rgba(244,199,107,.55)', 'rgba(237,234,255,.32)'].map((c, i) => (
))}
{title}
{lines.map((ln, i) => )}
);
}
function BLine({ ln }) {
const [k, t] = ln;
if (k === 'sp') return ;
if (k === 'cmd') return $ {t}
;
if (k === 'step') return → {t}
;
if (k === 'ok') return ✓ {t}
;
if (k === 'hl') return {t}
;
if (k === 'note') return {t}
;
return {t}
;
}
// 1 · principle ----------------------------------------------------------------
function HFBootPrinciple() {
const steps = [
['Operator starts the app', 'scripts/dev.sh locally · flotilla deploy when deployed', 'lilac'],
['App migrates itself', 'pending .sql migrations apply in order, fail-stop (INV-7)', 'lilac'],
['/healthz goes green', 'process up · DB reachable · migrations current', 'gold'],
['First merchant walks the product', 'sign up → create storefront → admin (PUC-2 / 4 / 6)', 'gold'],
['First rows exist', 'created through the flows alone — nothing placed by hand', 'lilac'],
];
return (
{steps.map(([t, d, c], i) => {
const col = c === 'gold' ? B.gold : B.lilac;
return (
{i + 1}
{i < steps.length - 1 && }
);
})}
);
}
// 2 · runbook (Paper) ----------------------------------------------------------
function HFBootRunbook() {
const envs = [
['localhost', './scripts/dev.sh', 'Docker is the one prerequisite. Brings up Postgres, migrates, serves on :5173.'],
['pre-prod (PPE)', 'flotilla deploy ecomm --env ppe', 'Provisions Cloud SQL, resolves secrets, migrates at startup. Rehearse here first.'],
['production', 'flotilla deploy ecomm --env prod', 'The identical gesture. Day-one prod is simply the bootstrap state.'],
];
return (
docs/BOOTSTRAP.md
the documented gesture
Bringing ecomm up from empty
One gesture, three environments. No hand-seeded data — the first merchant arrives through the product flows alone.
{envs.map(([env, cmd, note]) => (
))}
Empty is a working state — there is no seed.
);
}
// 3 · localhost terminal -------------------------------------------------------
function HFBootDev() {
return (
);
}
// 4 · the OTC channel ----------------------------------------------------------
function HFBootChannel() {
return (
Dev — the code prints to the backend log
Deployed — the code arrives as real email
ecomm <no-reply@ecomm.wiggleverse.org>now
Your ecomm code: 419 204
Enter this code to sign in. It's good for 10 minutes. If you didn't request it, you can ignore this email.
);
}
function ChanLabel({ children, tone }) {
const c = tone === 'gold' ? B.gold : B.lilac;
return
{tone === 'gold' ? '◆' : '◇'}{children}
;
}
// 5 · deploy terminal ----------------------------------------------------------
function HFBootDeploy() {
return (
);
}
Object.assign(window, { HFBootPrinciple, HFBootRunbook, HFBootDev, HFBootChannel, HFBootDeploy });