Imported from thepolarchimps/king-of-caravans (
AGENTS.md). Install upstream withnpx skills add thepolarchimps/king-of-caravans. Copyright stays with the author.
King Of Caravans — agent notes
SvelteKit (plain JS, no TypeScript) static band site, prerendered and deployed to Vercel via @sveltejs/adapter-vercel.
Commands
npm run dev— local dev (port 5173)npm run build— production build (.vercel/output)npm run preview— preview the production build
Layout
src/routes/— pages (/,/releases,/connect,/rebel-and-the-banned) + prerendered/sitemap.xmlsrc/lib/components/—Navigation.svelte,ReleaseShowcase.svelte,RebelBandGallery.svelte,Seo.sveltesrc/lib/data/*.json— release content;schemas/release.schema.jsondocuments the formatsrc/app.css— all styling (single global stylesheet)static/— images, fonts, favicon, robots.txt
Release showcase conventions
- Data files list releases newest first.
- The latest (first) release is always pinned:
"theme": "dark","layout": "art-right"(black background, text left, artwork right). - All other releases must omit
themeandlayout—ReleaseShowcase.sveltethen alternates automatically: light/dark backgrounds and artwork side switch per release as you scroll. - On mobile (≤768px) every release stacks text first, artwork second, regardless of side — handled in
src/app.css; don't override it per release.
Upcoming releases
- Set
"status": "upcoming", a human"releaseDate", and"releaseDateTime"(ISO-8601 instant with UK offset, e.g."2026-08-04T00:00:00+01:00"for a BST midnight). Leave"links": []until streaming links exist. - The site flips from "Out {date}" to "Out now" client-side once the instant passes — no redeploy needed for visitors, though a redeploy refreshes the prerendered HTML for crawlers.
Images
- Pre-generated
-p-{width}responsive variants are registered insrc/lib/images.js; add an entry there when new artwork ships with variants, otherwise<img>renders withoutsrcset. - Keep width/height attributes in sync with the real asset dimensions.