# Agent guidance for mifi.dev landing ## Purpose This repo is a **one-page static** Linktree-style site for mifi.dev. It is **not** a SPA: output is pure HTML/CSS/JS with no client-side framework runtime. Minimal JS (theme toggle, copy-link, a11y, copyright year) is allowed. ## Stack (locked) - **SvelteKit** with `@sveltejs/adapter-static` (static prerender only) - **TypeScript** (always) - **pnpm** (only); do not use npm or yarn - **PostCSS** for CSS (nesting + preset-env) - **Critical CSS** via post-build script (`scripts/critical-css.mjs`); full build with critical CSS is `pnpm run build:full` (run `pnpm run critical-css:install` once to install Chromium) - **CSP-safe scripts:** Post-build `scripts/externalize-inline-script.mjs` moves SvelteKit’s inline bootstrap script to `_app/immutable/bootstrap.[hash].js` so CSP can use `script-src 'self'` without `unsafe-inline` - **Content:** JSON in `src/lib/data/` (e.g. `links.json`), loaded in `+page.server.ts` at build time - **CSP:** Set by Traefik middleware; do not add CSP in app code ## Conventions - Use **semantic HTML** and **JSON-LD** for SEO; target **WCAG 2.2 AAA** for accessibility. - **No unsafe-inline** scripts; all JS via `