Plug-In mode
For existing Astro repos. Add the integration, annotate elements, expand from there.
Both paths use the same free, MIT-licensed @caretcms/core package. Pick whichever matches where you are today.
The repo also contains a fuller reference app in src/. That app is useful for exploring the broader product vision, but most adopters should think first in terms of Plug-In mode vs Starter mode.
Plug-In mode
For existing Astro repos. Add the integration, annotate elements, expand from there.
Starter mode
For greenfield projects. Clone a baseline, customize the template, add collections.
Choose this when:
Fastest path: npx @caretcms/caretize init then npx @caretcms/caretize to wire CaretCMS and tag existing markup. See Caretize CLI.
Benefits:
caretLoader in src/caret.config.ts (stable on Astro 6, experimental on Astro 5.10+)import { defineConfig } from 'astro/config';import caret from '@caretcms/core';
// Static site (recommended for marketing / brochure):export default defineConfig({ integrations: [caret({ delivery: 'static' })],});
// Server delivery — edits visible to visitors immediately:export default defineConfig({ output: 'server', integrations: [caret()],});Choose this when:
Minimal CMS-ready landing page. The smallest possible implementation to copy from.
git clone https://github.com/web-stacked/caretcmscd caretcms && npm installnpm run dev:starterContent-first or editorial site. Demonstrates shared site content plus page-level content with scoped bindings.
git clone https://github.com/web-stacked/caretcmscd caretcms && npm installnpm run dev:content| You are… | Path |
|---|---|
| Adding CMS to an existing Astro app | Plug-In — annotate a few elements, expand from there |
| Launching a new project | Starter — clone, customize, add more collections as needed |