Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A demonstration Nuxt port of Kirby's sample site, fetching content with Kirby Query Language from a headless Kirby backend.
Kirby Nuxt Starter Kit is a demonstration boilerplate that ports Kirby CMS's official sample site to Nuxt, using the nuxt-kirby module to fetch content from a headless Kirby backend via Kirby Query Language (KQL).
The Kirby Nuxt Starter Kit is a Nuxt 3 frontend project created by Johann Schopplich. It takes a headless Kirby CMS instance (the Kirby Headless Starter) as its content source and produces a server-side rendered Nuxt website running on localhost:3000 in development. The repository is explicitly a demonstration; the author directs production users to the more advanced Cacao Kit instead. Setup requires just two environment variables: KIRBY_BASE_URL and KIRBY_API_TOKEN, plus a one-time pnpm install.
nuxt-kirby module to query content directly from a headless Kirby backend with KQL.components/Kirby/Block.plugins/site.ts with site-wide data accessible across the app, mirroring Kirby's $site.composables/collections.ts with reusable KQL query collections..vscode/settings.json with editor settings tuned for the project.nuxt.config.ts includes a commented pre-render setup to address data-fetch latency.corepack enable and pnpm install, run pnpm run dev to view the sample site at localhost:3000.pnpm run build to generate a production build of the Nuxt application for any supporting host.The starter fetches content by sending KQL queries to the configured Kirby backend inside Vue Suspense components. This ensures that page state is pre-rendered for both users and search engines. The cost is an additional 50–100 ms of initial server response time per KQL page query, which can be mitigated by pre-rendering routes as shown in nuxt.config.ts.
Yes, data is fetched within Suspense components to guarantee pre-rendered output, which increases initial server response time by about 50–100 ms for the first KQL page query. The docs point to pre-rendering routes as a workaround.
Kirby is a CMS with a flexible file-based content model. The official website, documentation, forum, Discord, and YouTube channel are all linked from the repository's FAQ, making it easy to learn and get support.
No. The repository banner explicitly states it is a demonstration and directs production users to Cacao Kit, which the author describes as a more advanced version and their best-practice solution for Nuxt frontends on Kirby CMS.
You need to enable Corepack (corepack enable), install dependencies with pnpm install, and define the KIRBY_BASE_URL and KIRBY_API_TOKEN environment variables. Then pnpm run dev starts the development server at localhost:3000.
