Lyvo is an Astro integration that gives your app a landing page, docs and an API reference in one site, with SEO and LLM-friendly output handled for you.
Live demo: lyvo.mizuchi.dev
This project is a monorepo managed with pnpm workspaces:
packages/lyvo/: The core Astro integration and UI components. This is the main package.apps/demo/: A demo Astro application using thelyvopackage. Use this for local testing and development.
To get started with development:
-
Install dependencies:
pnpm install
-
Start the dev server:
pnpm dev
This will spin up the
apps/demosite where you can preview changes to the package.
- One site for your app: Landing page, MDX guides (
/docs) and API reference (/api) share one theme and one config. - OpenAPI reference: Two-column endpoint pages, linked model pages, code samples and a try-it playground. Multiple specs with nested prefixes (
/api,/api/v2). - SEO on autopilot: Canonicals, hreflang, JSON-LD, sitemap, robots.txt and a generated OG image per page.
- LLM friendly:
llms.txt,llms-full.txt, a Markdown twin of every page and "open in ChatGPT/Claude" page actions. - Landing blocks: Hero, FeatureGrid, FeatureSplit, CodeWindow, BrowserFrame, LogoCloud, InstallCommand and CTA.
- Search and i18n: Offline Pagefind search, locale folders and translated UI strings.
lyvo({
title: "My App",
logo: "logo.svg", // src/assets/logo.svg
repo: { url: "https://github.com/..." },
docs: { sidebar: ["introduction", { title: "Guides", items: ["install"] }, "---"] },
openapi: { input: "public/openapi.json" },
i18n: { locales: ["de"] },
});All options are in the package README.
To build the demo application for production (which also runs the Pagefind indexer):
pnpm buildApache License 2.0 - See LICENSE
Contributions are welcome! Please feel free to submit a Pull Request.