# Strife > Documentation for Strife: tutorials, how-to guides, the technical reference and explanations of key topics for developers, and a user guide for editors in Strife (https://strife.app/docs/user-guide). Every page is markdown at the address below, and [llms-full.txt](https://strife.app/docs/llms-full.txt) has all of them in one file. The same docs are an MCP server at https://strife.app/docs/mcp (Streamable HTTP) with the tools search_docs, get_page and list_pages. ## Start - [Strife developer documentation](https://strife.app/docs/readme.md): This is the home of the Strife documentation. ## Tutorials - [Getting started](https://strife.app/docs/tutorials/getting-started.md): Connect to the Strife API and interact with your data in a few steps: - [Node.js](https://strife.app/docs/tutorials/getting-started/nodejs.md): Connect to the Strife API and interact with your data in a few steps: - [.NET](https://strife.app/docs/tutorials/getting-started/dotnet.md): Connect to the Strife API and interact with your data in a few steps: - [Astro](https://strife.app/docs/tutorials/astro.md): Build fast, flexible, and CMS-powered websites with Strife and Astro. - [Quickstart](https://strife.app/docs/tutorials/quickstart.md) - [Next.js](https://strife.app/docs/tutorials/next.js.md): Build an application using Next.JS and Strife - [Create a dynamic employee list using the Chapters field](https://strife.app/docs/tutorials/create-a-dynamic-employee-list-using-the-chapters-field.md): This tutorial provides step-by-step instructions for implementing the Chapters field using .NET and enabling the live preview. - [Create a blog post list using the Collection field](https://strife.app/docs/tutorials/create-a-blog-post-list-using-the-collection-field.md): In this tutorial, you'll find step-by-step instructions for implementing the Collection field using .NET and enabling the live preview. - [Model binding in C#](https://strife.app/docs/tutorials/model-binding-in-c.md) ## How-to guides - [Strife how-to guides](https://strife.app/docs/how-to-guides/how-to-overview.md): This section contains step-by-step guides showing you how to solve real-world problems in Strife - [How to build a menu](https://strife.app/docs/how-to-guides/menu-how-to.md) - [Known issues](https://strife.app/docs/how-to-guides/known-issues.md) - [Previewing with 100vh sections](https://strife.app/docs/how-to-guides/known-issues/previewing-with-100vh-sections.md): Websites with 100vh sections may appear unnaturally extended in the Strife Studio preview, causing a display issue. - [React, className and class using web components](https://strife.app/docs/how-to-guides/known-issues/react-classname-and-class-using-web-components.md) - [Installing C# SDK](https://strife.app/docs/how-to-guides/installing-c-sdk.md) - [Open in Strife: a toolbar on your site](https://strife.app/docs/how-to-guides/open-in-strife-toolbar.md) - [Snapshots on an Astro site that queries the index](https://strife.app/docs/how-to-guides/snapshots-astro-without-the-sdk.md): Serve snapshots from an Astro site that queries the Content/ByUrl index itself, without the SDK's snapshot middleware or a dedicated snapshot route. - [Use the docs from AI tools](https://strife.app/docs/how-to-guides/use-the-docs-from-ai-tools.md): Search and read the Strife docs from Claude, Cursor, VS Code and other AI tools: the docs MCP server, llms.txt and every page as markdown. ## Reference - [Strife technical reference](https://strife.app/docs/reference/reference-overview.md): This is the reference part of the documentation. Here you will find the technical details of the SDKs, APIs and configuration options. - [SDK overview](https://strife.app/docs/reference/sdk-overview.md) - [Templates](https://strife.app/docs/reference/templates.md): Templates in Strife serve as the foundation for creating structured and consistent content. These predefined templates establish the fields, and structure, for all content stored in the database. - [Defining Templates with JSON](https://strife.app/docs/reference/templates/defining-templates-with-json.md) - [Fields](https://strife.app/docs/reference/fields.md): Fields define the structure and content of your templates. Each field specifies the shape and characteristics of the data that will be stored in the database. - [Text](https://strife.app/docs/reference/fields/text.md): The Text field type is one of the most commonly used fields. It saves a string to the database and provides the Edit view with a simple text input. - [Paragraph](https://strife.app/docs/reference/fields/paragraph.md): The Paragraph field, similar to the Text field, stores a string in the database, but it is specifically designed to facilitate the editing of longer text. - [Rich Content](https://strife.app/docs/reference/fields/rich-content.md): The Rich Content field empowers editors to create dynamic and visually appealing content, which is then stored in the database as HTML. - [Number](https://strife.app/docs/reference/fields/number.md): The Number field is designed for storing, validating, and formatting numeric data, with support for various numerical validation features. - [Date](https://strife.app/docs/reference/fields/date.md): The Date field allows users to input a date via a date picker. The selected date is stored as a string value in the database. - [Date Time](https://strife.app/docs/reference/fields/date-time.md): The Date Time field allows users to input a date including time via a date picker. The selected date is stored as a string value in the database. - [Image](https://strife.app/docs/reference/fields/image.md): The Image field lets you to crop, zoom, and insert images effortlessly. It stores the optimized image URL along with crop data in the database. - [Image Group](https://strife.app/docs/reference/fields/image-group.md): The Image field lets you define a set of images for different media/resolutions to crop, zoom, and insert images effortlessly. It stores the optimized image URLs along with crop data in the database. - [Toggle](https://strife.app/docs/reference/fields/toggle.md): The Toggle field saves a binary value of either 'true' or 'false' in the database. - [Slug~](https://strife.app/docs/reference/fields/slug.md) - [Related](https://strife.app/docs/reference/fields/related.md): Create a document relation - [Assets](https://strife.app/docs/reference/fields/assets.md): Create a lists of assets - [Checkbox](https://strife.app/docs/reference/fields/checkbox.md): The Checkbox field saves a binary value of either 'true' or 'false' in the database. - [Link](https://strife.app/docs/reference/fields/link.md): The Link field enables users to insert links, storing an object in the database containing link text, URL, and target options. - [Chapters](https://strife.app/docs/reference/fields/chapters.md): The Chapters field allows dynamic content creation using predefined templates, storing the content as an array of objects in the database. - [References](https://strife.app/docs/reference/fields/references.md): The References editor lets you connect existing documents from other collections directly into your content, enabling structured reuse instead of duplication. - [Repeatable](https://strife.app/docs/reference/fields/repeatable.md): The Repeatable editor allows editors to add multiple values using the same input type, making it ideal for structured lists and repeatable data patterns. - [Collection](https://strife.app/docs/reference/fields/collection.md): The Collection field allows the user to query and list content using a filter, storing the filter and query as an object in the database. - [Content Template](https://strife.app/docs/reference/fields/content-template.md): The Content Template field instantiates editing of a content template. Stores as an object in the database, including the fields from the chosen content template. - [Combo Box](https://strife.app/docs/reference/fields/combo-box.md): The Combo Box field lets you choose one or multiple values from a preset selection in a searchable drop-down. It stores these selections as an array of values in the database. - [Multi Select](https://strife.app/docs/reference/fields/multi-select.md): The Multi Select field allows, just like the Combo Box, users to add one or more values of a predefined list, storing them as an array in the database. - [Multi Input](https://strife.app/docs/reference/fields/multi-input.md): The Multi Input field allows users to arbitrarily add one or more values of a predefined type, storing them as an array in the database - [Table Input~](https://strife.app/docs/reference/fields/table-input.md): The Table Input field enables users to input data in a tabular format, storing it as an array of objects in the database. - [Rich Content (JSON)~](https://strife.app/docs/reference/fields/rich-content-json.md): The Rich Content field empowers editors to create dynamic and visually appealing content, which is then stored in the database as JSON. - [File~](https://strife.app/docs/reference/fields/file.md) - [Tab Group](https://strife.app/docs/reference/fields/tab-group.md): Tab Groups provide a clean and organized way to group fields within the editor interface. - [Radio Group](https://strife.app/docs/reference/fields/radio-group.md): The Radio Group editor presents a predefined set of options where only one value can be selected at a time. - [Slider](https://strife.app/docs/reference/fields/slider.md): The Slider field lets users select a numeric value within a range by dragging a thumb. It stores a single number in the database. - [Video](https://strife.app/docs/reference/fields/video.md): The Video field lets editors embed a video in a document from a media asset, a direct URL. It stores the source, playback options, and an optional poster image as an object in the database. - [Serp](https://strife.app/docs/reference/fields/serp.md): The SEO field captures the page title, meta keywords, and meta description used to render the search engine result snippet (SERP). It stores all three as a single object in the database. - [Hint](https://strife.app/docs/reference/fields/hint.md): The Hint field displays a collapsible help block inside the editor to guide content authors. It is a UI-only element, it does not store data in the database and does not require a propertyName. - [Field Reference](https://strife.app/docs/reference/field-reference.md): Every fields.* builder from @strifeapp/schema, with its full option set, output type, and wire-format mapping — the code-first counterpart to the Studio-UI Fields reference. - [fields.text()](https://strife.app/docs/reference/field-reference/fields.text.md): Single-line text input. The most commonly used field — stores a plain string. - [fields.paragraph()](https://strife.app/docs/reference/field-reference/fields.paragraph.md): Multi-line plain-text input. Same editor component as html, but stores plain text instead of HTML. - [fields.number()](https://strife.app/docs/reference/field-reference/fields.number.md): Numeric input field. - [fields.switch()](https://strife.app/docs/reference/field-reference/fields.switch.md): Boolean checkbox toggle. Never localizable. - [fields.toggle()](https://strife.app/docs/reference/field-reference/fields.toggle.md): Boolean sliding-toggle switch. Never localizable. - [fields.date()](https://strife.app/docs/reference/field-reference/fields.date.md): Date or date-time input, stored as an ISO-8601 string. - [fields.slug()](https://strife.app/docs/reference/field-reference/fields.slug.md): URL slug input, with locale-suffix and uniqueness validation. - [fields.html()](https://strife.app/docs/reference/field-reference/fields.html.md): Rich-text (HTML) editor with configurable formatting/content availability, plus selectable image, callout, and custom-component presets. - [fields.json()](https://strife.app/docs/reference/field-reference/fields-json.md): Raw JSON field for arbitrary structured data. Deprecated — never rendered by the edit panel; use fields.html() instead. - [fields.slider()](https://strife.app/docs/reference/field-reference/fields.slider.md): Numeric range slider. Never localizable. - [fields.file()](https://strife.app/docs/reference/field-reference/fields.file.md): Single file upload. Never localizable. - [fields.video()](https://strife.app/docs/reference/field-reference/fields.video.md): Video field. Stored shape isn't finalized yet, so the read type is unknown. - [fields.image()](https://strife.app/docs/reference/field-reference/fields.image.md): Single image upload with required dimension and format hints. - [fields.imageGroup()](https://strife.app/docs/reference/field-reference/fields.imagegroup.md): Multiple named image slots in one field. Not localizable in v1. - [fields.chapters()](https://strife.app/docs/reference/field-reference/fields.chapters.md): Repeatable nested-content list, each item shaped by a content template. - [fields.contentTemplate()](https://strife.app/docs/reference/field-reference/fields.contenttemplate.md): Embeds a single content template's fields inline. - [fields.collection()](https://strife.app/docs/reference/field-reference/fields.collection.md): Document-collection query picker — stores a filter/sort config, not resolved documents. Note the Studio-UI editor is marked obsolete. - [fields.repeatable()](https://strife.app/docs/reference/field-reference/fields.repeatable.md): A repeatable list of a single primitive editor. Feature-gated per team. - [fields.select()](https://strife.app/docs/reference/field-reference/fields.select.md): Single- or multi-select combo-box dropdown. Always stores an array of {value, name} objects. - [fields.multiSelect()](https://strife.app/docs/reference/field-reference/fields.multiselect.md): Multi-select field storing a plain array of selected values (distinct from select with multiSelect true). - [fields.labels()](https://strife.app/docs/reference/field-reference/fields.labels.md): Pick from the team's labels, organized by group for browsing — the same picker used for the built-in labels base property. - [fields.multiInput()](https://strife.app/docs/reference/field-reference/fields.multiinput.md): A repeatable list of same-typed primitive values (text, number, email, date, etc). - [fields.tableInput()](https://strife.app/docs/reference/field-reference/fields.tableinput.md): Structured table editor with configurable columns and input types per column. - [fields.assets()](https://strife.app/docs/reference/field-reference/fields.assets.md): Multiple asset references, optionally restricted by kind. - [fields.radioGroup()](https://strife.app/docs/reference/field-reference/fields.radiogroup.md): Single-choice radio group, displayed as a tab-style layout. No default-value option today. - [fields.link()](https://strife.app/docs/reference/field-reference/fields.link.md): Hyperlink reference, either internal (document) or external. - [fields.serp()](https://strife.app/docs/reference/field-reference/fields.serp.md): SEO metadata block (title, keywords, description). No searchable or filterable option, unlike most other fields. - [fields.reference()](https://strife.app/docs/reference/field-reference/fields.reference.md): Reference to other Strife documents, scoped by target type(s). Not localizable. - [fields.references()](https://strife.app/docs/reference/field-reference/fields.references.md): Multi-template document references, sized and scoped by allowed template names. Not localizable. - [fields.hint()](https://strife.app/docs/reference/field-reference/fields.hint.md): UI-only informational hint box. Stores no data — omitted from the generated content type. - [fields.tabs()](https://strife.app/docs/reference/field-reference/fields.tabs.md): Structural tab-group layout. Takes an array, not an options object — the only builder shaped this way. - [Live preview](https://strife.app/docs/reference/live-preview.md): Live Preview allows editors to instantly visualize changes on the live website as they edit content within Strife Studio. - [Web Components](https://strife.app/docs/reference/live-preview/web-components.md): The Strife Web Components are a collection of custom elements that elevate standard HTML tags, enabling them to respond to real-time updates, without the need to reload the page. - [Custom Live Preview implementation](https://strife.app/docs/reference/live-preview/custom-live-preview-implementation.md) - [Working with images](https://strife.app/docs/reference/live-preview/custom-live-preview-implementation/working-with-images.md) - [Snapshots](https://strife.app/docs/reference/snapshots.md): Snapshots let an editor hand someone without a Strife account a short-lived URL that shows a frozen, unpublished version of a document on your own site. - [Versions and History](https://strife.app/docs/reference/versions.md): Every publish leaves behind a Published Version — a stamped RavenDB revision of the document. This is the row model, the three endpoints, and the locale-selective restore that both versions and snapshots share. - [Database](https://strife.app/docs/reference/database.md) - [Index URL](https://strife.app/docs/reference/database/index-url.md) - [Index Search](https://strife.app/docs/reference/database/index-search.md) - [Label Groups](https://strife.app/docs/reference/database/label-groups.md) - [TypeScript](https://strife.app/docs/reference/typescript.md) - [Icons](https://strife.app/docs/reference/icons.md): Complete list of icon names available in Strife. - [CLI](https://strife.app/docs/reference/cli.md): The Strife CLI (@strifeapp/cli) connects a local project to Strife: sign in, link a team, define content types in code, and deploy them — from the command line or as part of CI. - [Commands](https://strife.app/docs/reference/cli/commands.md): Full reference for every strife command — syntax, flags, authentication requirements, and what each one does. - [Schemas](https://strife.app/docs/reference/cli/schemas.md): Define content types in code with defineType and fields, and register them with strife.config.ts — an alternative to building templates by hand in Strife Studio. - [Typegen](https://strife.app/docs/reference/cli/typegen.md): Generate TypeScript types from your defineType schemas, and keep them in sync with a CI check. - [Authentication & Linking](https://strife.app/docs/reference/cli/authentication-and-linking.md): How strife login authenticates, where credentials are stored, and how a local project gets linked to a workspace and team. ## Explanation - [Strife key topics](https://strife.app/docs/explanation/explanation-overview.md): In this section you will find discussions about key topics of Strife aimed to deepen your understanding of the system - [What is Strife?](https://strife.app/docs/explanation/what-is-strife.md) - [RavenDB](https://strife.app/docs/explanation/ravendb.md) ## User guide - [User Guide](https://strife.app/docs/user-guide.md) - [What is Strife?](https://strife.app/docs/user-guide/what-is-strife.md) - [Getting started](https://strife.app/docs/user-guide/getting-started.md) - [Creating an account](https://strife.app/docs/user-guide/getting-started/creating-an-account.md) - [Save as home screen](https://strife.app/docs/user-guide/getting-started/creating-an-account/save-as-home-screen.md): Shortcut in your web web browser - [Browser support](https://strife.app/docs/user-guide/getting-started/creating-an-account/browser-support.md) - [Setting up a Workspace](https://strife.app/docs/user-guide/getting-started/setting-up-a-workspace.md) - [Navigating to a specific workspace](https://strife.app/docs/user-guide/getting-started/setting-up-a-workspace/navigating-to-a-specific-workspace.md) - [Setting up a Team](https://strife.app/docs/user-guide/getting-started/setting-up-a-team.md) - [Personalize Strife](https://strife.app/docs/user-guide/personalize-strife.md) - [Changing themes](https://strife.app/docs/user-guide/personalize-strife/changing-themes.md) - [Command menu](https://strife.app/docs/user-guide/command-menu.md) - [Getting the basics](https://strife.app/docs/user-guide/getting-the-basics.md) - [Content list](https://strife.app/docs/user-guide/getting-the-basics/content-list.md) - [Canvas](https://strife.app/docs/user-guide/getting-the-basics/canvas.md) - [Editor panel](https://strife.app/docs/user-guide/getting-the-basics/editor-panel.md) - [Compose a page](https://strife.app/docs/user-guide/getting-the-basics/compose-a-new-document.md) - [Publish a page](https://strife.app/docs/user-guide/getting-the-basics/publishing-a-page.md) - [Chapters](https://strife.app/docs/user-guide/getting-the-basics/chapters.md): This page describes the nature of Local Chapters & References Chapters and how the concept of Chapters works in Strife. - [Snapshots](https://strife.app/docs/user-guide/getting-the-basics/snapshots.md) - [History](https://strife.app/docs/user-guide/getting-the-basics/history.md) - [Content list and filter](https://strife.app/docs/user-guide/content-list-and-filter.md) - [Changing origin](https://strife.app/docs/user-guide/content-list-and-filter/changing-origin.md) - [Sorting list](https://strife.app/docs/user-guide/content-list-and-filter/sorting-list.md) - [Multiple section](https://strife.app/docs/user-guide/content-list-and-filter/multiple-section.md) - [Labels](https://strife.app/docs/user-guide/content-list-and-filter/labels.md) - [Filter](https://strife.app/docs/user-guide/content-list-and-filter/filter.md) - [Saving a view](https://strife.app/docs/user-guide/content-list-and-filter/saving-a-view.md) - [Canvas and preview](https://strife.app/docs/user-guide/canvas-and-preview.md) - [Canvas preview](https://strife.app/docs/user-guide/canvas-and-preview/canvas-preview.md) - [Zooming in a Canvas](https://strife.app/docs/user-guide/canvas-and-preview/zooming-in-a-canvas.md) - [Pan in a Canvas](https://strife.app/docs/user-guide/canvas-and-preview/pan-in-a-canvas.md) - [Open a page in Strife from your website](https://strife.app/docs/user-guide/canvas-and-preview/open-in-strife-from-your-website.md) - [Working with content](https://strife.app/docs/user-guide/working-with-content.md) - [Compose a document](https://strife.app/docs/user-guide/working-with-content/compose-a-document.md) - [Compose content](https://strife.app/docs/user-guide/working-with-content/compose-content.md) - [Why not on-page editing?](https://strife.app/docs/user-guide/working-with-content/why-not-on-page-editing.md) - [Metadata and SEO](https://strife.app/docs/user-guide/working-with-content/metadata-and-seo.md) - [Rich text editor](https://strife.app/docs/user-guide/working-with-content/rich-text-editor.md) - [Working with video](https://strife.app/docs/user-guide/working-with-content/working-with-video.md) - [Working with pictures](https://strife.app/docs/user-guide/working-with-content/working-with-pictures.md) - [Edit pictures](https://strife.app/docs/user-guide/working-with-content/working-with-pictures/edit-pictures.md) - [Moving a page/document](https://strife.app/docs/user-guide/working-with-content/moving-a-page-document.md) - [Lifecycle of a page](https://strife.app/docs/user-guide/working-with-content/lifecycle-of-a-page.md) - [Improving content](https://strife.app/docs/user-guide/improving-content.md) - [Activity](https://strife.app/docs/user-guide/improving-content/activity.md): The activity log gives you a clear overview of all changes and actions on a page — perfect for collaboration and content analysis. - [Media repository](https://strife.app/docs/user-guide/media-repository.md) - [Uploading media files](https://strife.app/docs/user-guide/media-repository/uploading-media-files.md) - [Copy a media file](https://strife.app/docs/user-guide/media-repository/copy-a-media-file.md) - [Deleting a media file](https://strife.app/docs/user-guide/media-repository/deleting-a-media-file.md) - [Sorting media library](https://strife.app/docs/user-guide/media-repository/sorting-media-library.md)