CharlesCMS CMS for static Astro sites

Docs

CharlesCMS adds a source-backed editor to Astro. The public site can remain static; publishing uses a Cloudflare Worker connector.

Install

Packagenpm install @charlescms/astro
Astro configintegrations: [charlesCMS({ editablePaths: ["/demo"] })]
Buildnpm run build

Connector

The connector is a small Cloudflare Worker. It stores Git credentials as Worker secrets and accepts writes only for configured origins and repositories.

npx charlescms setup
  • GitHub uses a GitHub App ID and private key.
  • GitLab uses a Project Access Token.
  • The setup state is restartable through `.charlescms/connector/setup-state.json`.

Edit

Open the CMS route, connect the Worker URL, then edit the demo page.

/cms?next=/demo Open CMS demo