Genesis journal
Waters above, waters below, and layered architecture
A Genesis-inspired model for separating content, rendering, styling, runtime behavior, and deployment concerns.
The firmament as a boundary
The second day introduces a boundary that makes the world navigable. For a website template, boundaries are equally practical. Content should not be mixed into layout internals. Deployment should not leak into widgets. Dynamic behavior should be local to routes that need it.
Astro Genesis uses these boundaries:
src/contentfor durable editorial content.src/datafor structured demo data and navigation.src/componentsfor reusable presentation.src/pagesfor route ownership and rendering mode.docsfor maintenance knowledge.
Static and dynamic can coexist
Astro 6 makes this especially clean. The repository uses server output with the Node adapter, while most marketing, blog, tag, docs, and legal pages opt into prerendering. Dynamic routes then demonstrate request-aware rendering, Actions, Sessions, and Live Content Collections.
What to change in real projects
Most teams should replace the data and MDX first. Only change routing and shared components when the product truly needs a new information architecture.