src/pages/)index.astro owns the primary portfolio homepage, assembling sections into a coherent editorial layout.blog/ owns the blog post index and article reader ([...slug].astro) with automatic Table of Contents & Scrollspy navigation, Libravatar & Robohash kitten avatars, and optional commenter email for avatar resolution.guestbook.astro owns the full-page visitor guestbook with authenticated posting, dynamic Libravatar avatars with Robohash kitten fallback, and Libravatar profile management links.memories.astro owns the public masonry wall of approved community doodles.doodle.astro owns the permanent redirect to /#doodles on the homepage.privacy-policy.astro owns the privacy disclosure, abuse prevention data transparency, and strictly necessary cookie notice.terms.astro owns the platform terms of service, community conduct guidelines, and moderation enforcement policy.admin/ owns the protected administration console, content moderation workflows, security audit views, and the R2 storage cleanup backlog interface (cleanup.astro).api/ owns server API route dispatchers connecting incoming requests to Hono and Better Auth handlers, including /api/docs (Swagger UI OpenAPI documentation viewer) and /api/geo (viewer geolocation and IP telemetry endpoint).export const prerender = false if dynamic request state is needed; static marketing pages should omit or set export const prerender = true.src/layouts/Base.astro (or a specialized sub-layout) to ensure consistent head metadata, SEO, and navigation.blog/[...slug].astro) use export const prerender = true (SSG). They cannot read Cloudflare Worker bindings (cloudflare:workers) at build time. Public client-side values (e.g., PUBLIC_TURNSTILE_SITEKEY) must use Astro’s env schema with context: 'client', access: 'public' so they are baked in at build time. Secret or server-only values must be fetched at runtime via API calls from the client-side island.| Child | Scope |
|---|---|
| admin/AGENTS.md | Protected admin control center, content moderation queues, ban management, and R2 cleanup backlog. |
pnpm dev.