Skip to content

Astro Integration

Astro is the first-class frontend integration. The CMS itself is frontend-agnostic: @kenresoft-cms/astro is a typed client for its public API, plus a same-origin proxy for authentication.

I want to Run
Start a new website npm create @kenresoft-cms@latest my-site -- --astro
Add the CMS to an existing Astro project npx @kenresoft-cms/create astro
Refresh an existing integration npx @kenresoft-cms/create astro --update
Install the CMS itself npm create @kenresoft-cms@latest my-cms (not an Astro command)

These are different commands with different results. The first two create or modify a website. Only the last creates a CMS.

  1. The CMS (API, admin, migrations): pnpm run update, inside the CMS project. It never touches your website.
  2. The Kenresoft integration files in your website: npx @kenresoft-cms/create astro --update, inside the website. It never touches the CMS.
  3. The @kenresoft-cms/astro package: the --update command above moves it to the newest compatible version.

A statically generated site fetches content at build time, so published changes need a rebuild. A server-rendered site (output: 'server' plus an adapter) reads current content on each request, which is what the starter uses and what editors expect. The proxy, sign-in and Live Preview all need on-demand rendering.

Nothing in the client is Astro-specific: it is a thin fetch wrapper. Next.js, Flutter or any other client can call the public API directly. There is no separate framework-generic SDK yet.