Frontmatter Solo
A build-time tool that transforms a constrained Astro project into explicit Twig or PHP templates. No runtime. No framework lock-in. Just rendering.
What Solo does
Solo scans your Astro project via @withfrontmatter/core, validates it against the Solo contract, reads the IR, and generates a render pack:
- pages/ — one template per Astro page
- layouts/ — base layout templates
- partials/ — one partial per Astro component
- manifest.json — machine-readable variable map
- INTEGRATION.md — per-template documentation for the backend developer
- frontmatter.build.json — build metadata
- preview-php/ — optional local preview (dev only)
What Solo does not do
Solo generates templates and a variable contract. It does not:
- fetch data from a CMS or database
- integrate with a backend framework
- provide routing or authentication
- work as a runtime dependency
Backend integration — connecting fm.data to a real data source — is always explicit and owned by the host application.
Two output adapters
Solo supports two output formats, selected at build time with a single flag:
- Twig — for Symfony, Drupal, Craft CMS, and any Twig-capable backend
- PHP — for WordPress, custom CMS, legacy PHP, and any backend without a templating engine
Same Astro source, same intermediate representation, different output syntax.
Before you start
Solo requires a constrained Astro project. Not all Astro projects are compatible. Run the free validator first:
npx @withfrontmatter/solo-check
If it exits 0, your project is ready. If it reports errors, the error codes reference explains exactly what to fix.
Once your project passes validation, you can purchase Solo and download either the CLI package or the macOS desktop app.