Skip to content

Choose a framework

Lyra works with any git-based blog that builds Markdown into your live site. That includes Next.js, Astro, Hugo, and Jekyll. If you are rebuilding your blog to move onto git, this page helps you pick a static site generator. If you already have one, you can skip straight to Connect your repository.

The pull-request workflow is the constant across all of them. Whichever you pick, Lyra reads your repo, writes a Markdown post that matches your conventions, and opens a PR you merge.

What Lyra needs from a framework

Any framework works for Lyra as long as it produces a git-based blog:

  • Posts are Markdown files with frontmatter in the repo.
  • A build turns those files into your live site.
  • A merged pull request is what publishes a post.

Lyra learns the rest, your directory layout, frontmatter fields, and slug rule, when she scopes the repo. See Blog frontmatter.

Common choices

FrameworkGood fit for
AstroContent-first blogs that want near-zero JavaScript and strong Core Web Vitals by default
Next.jsTeams already on React who want the blog in the same app, using static export or Server Components
HugoVery large content sites that want the fastest possible builds
JekyllSimple, long-stable blogs, including GitHub Pages sites

Astro or Next.js for a content-first blog

For a blog specifically, the most common decision is Astro versus Next.js.

  • Astro renders every component to static HTML and ships close to zero JavaScript unless a component opts in. For a content-only blog, that usually wins on Core Web Vitals by default.
  • Next.js can match that with the App Router's Server Components and static export, but it takes deliberate architecture rather than a default setting. It is the natural choice if your marketing site or app is already on React and you want the blog in the same codebase.

For the full comparison, see the Lyra blog post Astro vs Next.js SEO.

Avoid the headless-CMS detour

A headless CMS is not a framework, and it reintroduces the sync step a static site avoids. Publishing to a headless CMS writes to a content API, and a separate frontend has to rebuild or revalidate before the change is live, which can fail silently. A git-based static site compiles every page at build time from one source of truth, your repo. See Headless CMS vs git-based blog.

Let an AI agent scaffold it

Once you have picked a framework, you do not have to build the blog by hand. Hand our build guide to a coding agent like Claude or Codex and it scaffolds the content folder, routes, and schema for you. The guide targets Next.js and adapts to Astro, Hugo, or Jekyll. See Build your blog with an AI agent.

Then connect Lyra

Once your framework is building your Markdown posts and the repo is on GitHub, your blog is Lyra-ready:

  1. Confirm the checklist in Is your blog Lyra-ready?.
  2. Connect your repository.
  3. Run onboarding.

What's next