Getting started

Install scribe-cms, define your schema, write content, validate, and read it at runtime.

1. Install

Add scribe-cms and its peer dependencies to your project.

2. Create scribe.config.ts

Define content types with Zod schemas at your project root. Use `field.translatable()` for fields that should be translated, `field.structural()` for EN-only fields, and `field.relation()` for references between documents.

3. Write content

Create `.mdx` files under `content/`. The file name is the English slug. Frontmatter is validated against your schema at load time.

4. Validate

Run `scribe validate` before your build to catch schema errors, broken relations, and translation store inconsistencies.

5. Read at runtime

Import `createScribe` from `scribe-cms/runtime`, pass your config, and use typed accessors like `scribe.blog.list()` and `scribe.blog.resolve(slug, locale)`.

See the Examples page for copy-paste snippets.

Getting started · Scribe