Skip to content

Tooling, Integrations & Production

You’ve learned how Astro renders pages and hydrates islands. This module is the machinery that surrounds that: the config that wires everything together, the integrations that add capabilities, the TypeScript that keeps you honest, the tests that prove it works, and the build that ships it.

None of this is exotic — Astro sits on top of Vite, so most of it is familiar tooling with a thin Astro layer. The goal here is to know which knob does what.

LessonWhat you’ll learn
Config & integrationsastro.config.mjs, the integrations system, and Vite underneath
TypeScript & content typesTyping props and locals, and the types generated from your content schemas
Testing & toolingVitest, the Container API, Playwright, and the Dev Toolbar
Deployment & ecosystemStatic vs on-demand deploys, and the Astro ecosystem
flowchart LR
  config["astro.config.mjs
(integrations, adapter)"] --> build["astro check + astro build"]
  src["src/ (pages, components, content)"] --> build
  build --> dist["dist/ (HTML, assets, server entry)"]
  dist --> deploy["deploy: static CDN or adapter runtime"]
From project to deployed site

Everything flows through the config and the build. Get comfortable with those two and the rest is detail.

What build tool does Astro sit on top of?
Where is a project’s integrations and adapter configured?