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
| Framework | Good fit for |
|---|---|
| Astro | Content-first blogs that want near-zero JavaScript and strong Core Web Vitals by default |
| Next.js | Teams already on React who want the blog in the same app, using static export or Server Components |
| Hugo | Very large content sites that want the fastest possible builds |
| Jekyll | Simple, 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:
- Confirm the checklist in Is your blog Lyra-ready?.
- Connect your repository.
- Run onboarding.
What's next
- Is your blog Lyra-ready?: The readiness checklist.
- Blog frontmatter: The frontmatter Lyra learns.
- Migrate from other platforms: Move your existing content.
- Connect your repository: Once your blog is ready.