Fields are the building blocks of every content type in Alinea. When you define a document or page type usingDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/alineacms/alinea/llms.txt
Use this file to discover all available pages before exploring further.
Config.document or Config.type, you supply a fields object whose values are field instances. Each field describes the data shape of one property — what TypeScript type it produces, how it is stored in the git repository, and which control renders in the dashboard.
All built-in field factories are accessed through the Field namespace, which is a named export of the alinea package. You never import individual field modules directly; everything you need is available from the top-level import.
Importing fields
Field categories
Text & Number
Scalar inputs: text, number, select, check, date, time, code, JSON, and path
Rich Text
Block-based rich text editor with inline marks and custom embedded blocks
Links & Media
Entry references, image picker, file picker, polymorphic links, and URL fields
Layout
Repeating lists, nested objects, tab groups, and SEO metadata
Custom Fields
Define your own field type with a custom React view component
All built-in fields
The table below lists every factory exported from theField namespace, the TypeScript value type it produces, and its primary use case.
| Field factory | Value type | Description |
|---|---|---|
Field.text | string | Single-line or multi-line text input |
Field.number | number | null | Numeric input with optional min, max, and step |
Field.select | string | null | Dropdown of predefined string options |
Field.check | boolean | Boolean checkbox |
Field.date | string | ISO 8601 date string |
Field.time | string | Time string (e.g. "14:30") |
Field.code | string | Code editor with optional language hint |
Field.json | T | Raw JSON value; generic over the stored type |
Field.path | string | URL path segment, optionally derived from another field |
Field.richText | TextDoc<Blocks> | Structured rich text document |
Field.list | Array<Row> | Repeating list of typed rows |
Field.object | object | Nested object with its own fields |
Field.entry | EntryLink | Reference to another content entry |
Field.image | ImageLink | Reference to an image in the media library |
Field.file | FileLink | Reference to a file in the media library |
Field.link | Link | Polymorphic link — entry, URL, or file |
Field.url | UrlLink | URL picker that stores a URL reference |
Field.metadata | Metadata | Structured SEO metadata block |
Field.tabs | (section) | Groups fields under tab controls in the dashboard |
Field.tab | Type | A single tab definition; used inside Field.tabs |
Field.view | (section) | Renders a custom React node in the entry form |
Basic usage example
cms.config.ts
required, readOnly, hidden, shared, initialValue, and validate — are defined on the base FieldOptions interface and are available on every field type.