Carnero.Dev follows Astro’s standard directory conventions with clear separation between UI components, page routes, backend logic, and static assets. Understanding the layout makes it straightforward to locate any feature — from the hero countdown timer to the server-side registration API.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/moradoadrian/carneroDev/llms.txt
Use this file to discover all available pages before exploring further.
Directory Tree
Key Directories
src/components
All UI is broken into focused Astro components. The homepage (
index.astro) imports and assembles them in sequence, from <Hero /> at the top through <Footer /> at the bottom. LoadingScreen.astro renders a full-screen overlay on initial page load. Each component is self-contained with its own markup and scoped styles.src/pages
Contains the two public routes (
/ and /bases) plus the /api/register server endpoint. Astro’s file-based routing maps every .astro and .ts file in this directory directly to a URL path.src/lib
Houses the Supabase client singleton (
supabase.ts). Centralizing the client here ensures a single, consistently configured instance is imported by the API route rather than re-initialized on every request.src/styles
Global CSS with Tailwind v4 config and custom utility classes. Defines the design tokens (burgundy, gold, charcoal color scales), custom keyframe animations (
float, glow-pulse, scanline), and reusable aesthetic utilities such as .glassmorphism, .bg-dot-matrix, and .hex-border.Page Routes
Carnero.Dev exposes two public-facing pages and one server-side API route.| Route | Source File | Description |
|---|---|---|
/ | src/pages/index.astro | Single-page scroll site assembling all Astro components in sequence. This is the primary landing experience. |
/bases | src/pages/bases.astro | Full official rules and regulations page for the hackathon event. |
/api/register | src/pages/api/register.ts | Server-side POST endpoint (prerender: false) that writes team data to Supabase and sends a confirmation email via Resend. |
The
/api/register endpoint requires output: 'server' in astro.config.mjs. It is never pre-rendered — every POST request is handled at runtime by the Node.js adapter.