Modern band landing page with a dark monochrome aesthetic. Built with Next.js 16, React 19, Tailwind CSS 4, TypeScript, and Vercel Blob.
Design and project rules live in AGENTS.md. Vercel is the only supported deployment target.
Connect the checkout to its Vercel project and pull the Development environment:
npm install
npx vercel link
npx vercel env pull .env.local
npm run devThe local admin uses the development namespace in the connected Blob stores, so it cannot overwrite production content. Open http://localhost:3000 and sign in at /admin.
Generate new admin credentials with:
npm run auth:generateCopy the generated ADMIN_PASSWORD_HASH and AUTH_SECRET into the appropriate Vercel environments. Do not commit them.
- Shows, merch, and the capped audit log live in the private content Blob store.
- Admin photos upload directly to the public media Blob store and render through
next/image. - Site identity and social links live in
src/config/site.ts. - Translations live in
src/i18n/translations.ts. - Hero images live in
public/slideshow/; keepsrc/config/slideshow.tsin sync when changing them.
Production intentionally starts empty. Add the first shows and merch through /admin after deployment.
npm run lint
npm run typecheck
npm test
npm run format:check
npm run buildAfter linking the project, use npx vercel build for a platform-level build check.
Pushes and pull requests deploy through Vercel's Git integration. There are no supported VPS, container, systemd, or custom deploy-script paths.
See docs/deployment.md for Blob stores, environment scopes, Preview behavior, the required login rate-limit rule, domains, and rollback.
Code is MIT licensed under LICENSE. Brand assets under public/logos/, public/slideshow/, and other band artwork are proprietary and covered by LICENSE.ASSETS.