withastro/astro
Astro
Astro is a website build tool for the modern web that combines a powerful developer experience with lightweight, content-first output. It is best known for islands architecture — ship zero JavaScript by default, and opt in to interactive components only where you need them.
This repository is the withastro/astro monorepo. It hosts the core astro package, the create-astro scaffolding CLI, the official framework integrations (React, Preact, Svelte, Vue, Solid, Alpine.js), the official server adapters (Node, Vercel, Netlify, Cloudflare), the @astrojs/db libSQL ORM, the language tooling (VS Code extension, language server, TypeScript plugin) and a long tail of supporting packages (RSS, sitemap, partytown, mdx, markdoc, telemetry, …).
What you get from Astro
- Islands architecture. Pages render to static HTML by default. Components annotated with
client:*directives hydrate on the client only when needed (load,idle,visible,media,only). - A
.astrocomponent model. Components have a frontmatter script that runs on the server and a JSX-like template. The Astro compiler (an external Go-based project,withastro/compiler) lowers this to JavaScript. - A unified Vite-based dev pipeline.
astro devruns Vite with a long stack of internal plugins (packages/astro/src/vite-plugin-*),astro buildruns Rollup via Vite, and the production runtime ships an environment-agnosticAppclass that adapters wrap. - First-class content. Content Collections (
packages/astro/src/content/) pair markdown/MDX/data with a typedgetCollection()API, validated by Zod. The newer Content Layer adds pluggable loaders (packages/astro/src/content/loaders/) for arbitrary sources. - First-class images and fonts.
packages/astro/src/assets/ships a Sharp-based image service, SVG optimizer, and a font subsystem with bunny.net / Google / Adobe / Fontsource providers. - Output modes. Static (default), server (SSR), and selective prerendering. Server islands and view transitions are built on this.
- Adapter ecosystem. Node, Vercel, Netlify, and Cloudflare adapters live in this repo. Deno is a separate read-only stub.
Repository at a glance
| Area | Path | What lives there |
|---|---|---|
| Core framework | packages/astro/ |
Compiler runtime, CLI, Vite plugins, build pipeline, router, content layer, assets, server islands. |
| Project scaffolder | packages/create-astro/ |
The npm create astro@latest wizard. |
| Database ORM | packages/db/ |
@astrojs/db: libSQL-backed studio + ORM. |
| Framework integrations | packages/integrations/{react,preact,vue,svelte,solid,alpinejs} |
Renderers and dev hooks for UI frameworks. |
| Server adapters | packages/integrations/{node,vercel,netlify,cloudflare} |
Output targets for SSR. |
| Auxiliary integrations | packages/integrations/{mdx,markdoc,sitemap,partytown,tailwind,web-vitals} |
Content/build/runtime helpers. |
| Language tooling | packages/language-tools/ |
VS Code extension, language server, TS plugin, @astrojs/check. |
| Markdown | packages/markdown/remark/ |
Astro's remark/rehype configuration shared across the framework. |
| Other publishable packages | packages/{astro-rss, telemetry, upgrade, internal-helpers, underscore-redirects, astro-prism} |
Feed building, telemetry collection, dependency upgrade tool, shared helpers. |
| Examples | examples/ |
24 starter projects used both as docs and smoke tests. |
| Benchmarks | benchmark/ |
Performance harness invoked via pnpm run benchmark and the !bench PR comment. |
| Scripts | scripts/ |
The astro-scripts build/test helper exposed as a workspace package. |
Where to go next
- New to the codebase? Read overview/architecture and then the chosen lens for your work — usually packages/astro plus a systems page.
- Setting up locally? Start with overview/getting-started.
- Looking for a specific feature like sessions, server islands, or i18n? Skim features.
- Working on an adapter or framework integration? Jump to packages/integrations.
- Need vocabulary? Open overview/glossary.
Links
- Documentation: https://docs.astro.build/
- LLM-optimized docs: https://docs.astro.build/llms.txt
- Discord (community + maintainers): https://astro.build/chat
- Compiler source (out of repo): https://github.com/withastro/compiler
- Starlight docs framework (out of repo): https://github.com/withastro/starlight
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.