Frontmatter

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.

On this page