# Component CMS

Document-based CMSs describe pages. Croct describes components, which is what makes content
personalizable, testable and safe to change. Content stays modular, typed and consistent across
every channel that renders it.

## How it works

Developers define a schema per component, which encodes the constraints of your design system.
Marketers fill those components with content, and cannot break the layout because the schema
will not let them. A slot marks where a component goes, and Croct decides which content fills it
per visitor.

Components auto-version, so your application can evolve without old content breaking, and
content is delivered through low-latency APIs on the server.

## Features

- **Component schemas.** Typed content that reflects your design system.
- **Auto-versioning.** Components evolve without breaking what is already published.
- **Dynamic content.** Personalization and A/B testing native to the content model.
- **Multi-language content.** Locale-specific content with no extra development.
- **Live preview.** See and share content before approving it.
- **Templates.** Prebuilt starting points applied with a single command.
- **Fault tolerance.** Fallback content keeps the page up during errors and outages.
- **Server-side rendering.** Content resolved before the response is sent.
- **Framework agnostic.** SDKs for the stack you already use.

## Building with it

Croct works alongside the CMS you already run, or on its own. Adoption is gradual: one slot
becomes dynamic, then another, with your current content as the fallback the whole time.

Setup is one command, `npx croct@latest init`, which installs the SDK, wires the provider
and generates TypeScript types for every slot. Official SDKs cover Next.js, React, Vue,
Nuxt, JavaScript, PHP, Laravel, Symfony, Drupal, and Shopify Hydrogen. Most teams are live
the same day, and the forever-free plan needs no credit card or commitment.

## Frequently asked questions

### What is the difference from a document-based CMS?

A document describes a page. A component describes a piece of interface that can vary per
visitor, which is what makes personalization and testing native rather than bolted on.

### Can content editors break the layout?

No. Schemas constrain what can be entered, so autonomy for marketers does not cost developers
their design system.

### Does it replace my current CMS?

Only if you want it to. It works alongside Storyblok, Sanity, Strapi and others just as well.

### What does it cost?

The forever-free plan covers 10,000 monthly active users with 3 content slots and 1
experience or experiment, and needs no credit card. Growth starts at $100 per month billed
annually for 20,000 monthly active users. Scale is custom.
