Skip to main content

Nexus 2.0: A New Chapter

Announcing Nexus 2.0: island architecture, typed content collections, modern image formats and self-hosted fonts.

JM James Mitchell 3 min read
Cover plate for the Company News shelf

Nexus 2.0 is a major update to the template: a new Astro 7 and Tailwind CSS v4 foundation, worlds for rebranding from a single config line, and a larger component library. It reflects months of engineering work, design iteration, and community feedback.

What’s New

Nexus 2.0 is built on Astro 7 and Tailwind CSS v4. Pages render to HTML by default, and client-side JavaScript is opt-in: most interactivity is plain scripts that run on Astro’s astro:page-load lifecycle, and React is used only for the data-visualization islands built on Recharts.

The content experience has been overhauled around Astro content collections with Zod schema validation. Blog posts, author profiles, FAQs, services, and testimonials are typed collections, so a missing field or malformed date fails the build instead of shipping a broken page.

Worlds: Rebrand in One Place

The biggest change in 2.0 is worlds. A world is a design-token preset that re-skins the entire template, including palette, surfaces, radii, density, motion, and display type, from a single line in nexus.config.ts:

world: { preset: "proof" },

Five presets ship today: nexus, the default neutral identity; proof, a photography portfolio; shop, a warm storefront for small-batch goods; editorial, a small magazine; and enterprise, an infrastructure-monitoring product site. Beyond the preset you can adjust radius, density, motion, and material individually. Components read tokens only and never know which world is active, so a rebrand does not mean hunting through component files.

A Larger Component Library

The component library is organized in layers so you can work at the level that fits the job:

  • UI primitives such as Button, Card, Modal, Accordion, Combobox, DataGrid, and DatePicker, each with typed props and CVA variants.
  • Sections such as Hero, Features, Pricing, FAQ, and CTA, for assembling marketing pages quickly.
  • Page compositions for data-heavy screens, including record, dossier, dashboard, and comparison layouts.
  • Charts including area, bar, donut, line, radar, heatmap, and range bar, themed from the same tokens as everything else.

Data components follow a shared set of states (loading, empty, error, and data), so a dashboard never shows a blank panel when a request fails.

Built for Real Projects

Several production foundations come included rather than left as an exercise:

  • Five locales out of the box: English, German, French, Spanish, and Bulgarian, for the main pages and the blog, with translated URL slugs and a language picker.
  • Light and dark themes that follow the visitor’s system setting by default (configurable to dark or light), with a toggle that remembers their choice.
  • Site search powered by Pagefind, an RSS feed, a sitemap, and generated Open Graph images for blog posts.
  • Optional authentication with Better Auth, enabled with a single pnpm auth:enable command.
  • Cookie consent and legal-page foundations that you configure for your own data flows. They are a starting point, not legal advice.

Features are controlled with flags, and the pnpm prune:features command removes whole feature families you do not need, with a dry-run mode that shows the plan before anything changes.

Upgrading

Nexus 2.0 is a substantial restructure, so treat the upgrade as a migration rather than a drop-in update. The most reliable path is to start from a fresh copy of the template, choose a world, and move your content and configuration across. Content collections will tell you immediately if any frontmatter no longer matches the schema.

What’s Next

Next, we will keep expanding the component library and world presets, and improve the documentation for adapting each recipe to your own projects.

Share this article