Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Author themes for Astro like a normal project and export your work as an integration for others to use.
Astro Theme Provider is a developer tool for the Astro framework that turns a standard Astro project into a reusable theme integration for other developers.
Astro Theme Provider takes a normal Astro project—complete with public, src/assets, components, layouts, pages, and styles—and lets the author wrap it with a Zod schema via defineTheme, producing an integration that consumers can install in astro.config.mjs. The tool is currently in Beta and is maintained by the Astrolicious community. It publishes documentation at astro-theme-provider.netlify.app and provides a starter theme template at GitHub.
z.object from astro/zod, and consumers pass validated config through the integration's config option./404 route to false) or overwrite a route to a custom path (mapping /blog to /projects).overrides.components property, such as mapping Hero to a local Custom.astro file.overrides.styles, an array of local stylesheet paths.public, src, and an index.ts entry point.index.ts, import defineTheme from astro-theme-provider and export the result of defineTheme with a Zod schema for configuration.integrations array in astro.config.mjs, passing config, pages, and overrides.The package is in Beta, as shown on its npm badge. The API may change while the maintainers stabilize the design.
Use the overrides.components option, for example mapping the theme's Hero component to a local ./src/Custom.astro file. That replaces every instance of that component with your own.
Yes, set the route to false in the pages option, such as pages: { '/404': false }, which turns that route off for the site.
The documentation is hosted at astro-theme-provider.netlify.app, and there is a theme template at github.com/astrolicious/astro-theme-provider-template.
