+> Strapi’s back end is a Koa-based server where requests pass through global middlewares, routes, controllers, services, and models before the Document Service returns responses.
+
+
:::strapi Disambiguation: Strapi back end
As a headless CMS, the Strapi software as a whole can be considered as the "back end" of your website or application.
But the Strapi software itself includes 2 different parts:
@@ -6595,6 +6606,9 @@ Source: https://docs.strapi.io/cms/configurations/api
# API configuration
+> `/config/api` centralizes response privacy and REST defaults such as prefix, pagination limits, and max request size.
+
+
General settings for API calls can be set in the `./config/api.js` file:
| Property | Description | Type | Default |
@@ -6621,6 +6635,9 @@ Source: https://docs.strapi.io/cms/configurations/cron
# Cron jobs
+> Cron jobs schedule custom functions at specific times via `node-schedule`, activated through server config and optional task files.
+
+
:::prerequisites
The `cron.enabled` configuration option should be set to `true` in the `./config/server.js` (or `./config/server.ts` for TypeScript projects) [file](/cms/configurations/server).
:::
@@ -6720,6 +6737,9 @@ Source: https://docs.strapi.io/cms/configurations/database
# Database configuration
+> `/config/database` defines connections, clients, and pooling for supported databases like SQLite, MySQL, and PostgreSQL.
+
+
The `/config/database.js|ts` file is used to define database connections that will be used to store the application content.
:::strapi Supported databases
@@ -6865,6 +6885,9 @@ Source: https://docs.strapi.io/cms/configurations/environment
# Environment configuration and variables
+> Strapi-specific environment variables and `.env usage` enable per-environment configs, with `env()` helpers for casting values.
+
+
Strapi provides specific environment variable names. Defining them in an environment file (e.g., `.env`) will make these variables and their values available in your code.
:::tip
@@ -6904,6 +6927,9 @@ Source: https://docs.strapi.io/cms/configurations/features
# Features configuration
+> Future flags in `/config/features` toggle experimental Strapi features, allowing early testing at your own risk.
+
+
The `config/features.js|ts` file is used to enable feature flags. Currently this file only includes a `future` object used to enable experimental features through **future flags**.
Some incoming Strapi features are not yet ready to be shipped to all users, but Strapi still offers community users the opportunity to provide early feedback on these new features or changes. With these experimental features, developers have the flexibility to choose and integrate new features and changes into their Strapi applications as they become available in the current major version as well as assist us in shaping these new features.
@@ -6937,6 +6963,9 @@ Source: https://docs.strapi.io/cms/configurations/functions
# Functions
+> `src/index` hosts global register, bootstrap, and destroy functions to run logic during application lifecycle.
+
+
The `./src/index.js` file (or `./src/index.ts` file in a [TypeScript-based](/cms/typescript) project) includes global [register](#register), [bootstrap](#bootstrap) and [destroy](#destroy) functions that can be used to add dynamic and logic-based configurations.
@@ -7002,6 +7031,9 @@ Source: https://docs.strapi.io/cms/configurations/middlewares
# Middlewares configuration
+> `/config/middlewares` orders global middleware, enables custom names or resolves, and exposes built-in configuration options.
+
+
:::tip
@@ -7159,6 +7191,9 @@ Source: https://docs.strapi.io/cms/configurations/plugins
# Plugins configuration
+> `/config/plugins` enables or disables plugins and overrides their settings, with examples for local plugin development.
+
+
Plugin configurations are stored in `/config/plugins.js|ts` (see [project structure](/cms/project-structure)). Each plugin can be configured with the following available parameters:
| Parameter | Description | Type |
@@ -7186,6 +7221,9 @@ Source: https://docs.strapi.io/cms/configurations/server
# Server configuration
+> `/config/server` manages host, port, URL, proxy, cron, and more; changes require rebuilding the admin panel.
+
+
The `/config/server.js` file is used to define the server configuration for a Strapi application.
:::caution
@@ -7221,6 +7259,9 @@ Source: https://docs.strapi.io/cms/configurations/typescript
# TypeScript configuration
+> TypeScript configuration explains the project’s tsconfig files, output directories, and an optional config/typescript.js|ts that auto-generates types on server restart. This documentation explains which folders store compiled code and how to toggle this experimental feature.
+
+
[TypeScript](/cms/typescript)-enabled Strapi projects have a specific project structure and handle TypeScript project configuration through [`tsconfig.json` files](#project-structure-and-typescript-specific-configuration-files).
Strapi also has dedicated TypeScript features that are configured [in the `config/typescript.js|ts` file](#strapi-specific-configuration-for-typescript).
@@ -7481,6 +7522,9 @@ Source: https://docs.strapi.io/cms/error-handling
# Error handling
+> Strapi’s APIs return errors in a consistent structure and let backend code throw custom exceptions for controllers, services, policies, or lifecycles. This documentation lists error classes, context helpers, and examples for crafting meaningful responses.
+
+
Strapi is natively handling errors with a standard format.
There are 2 use cases for error handling:
@@ -7582,6 +7626,9 @@ Source: https://docs.strapi.io/cms/features/admin-panel
# Administration panel
+> The admin panel acts as Strapi’s back office for managing content types, entries, and both administrator and end‑user accounts. This documentation gives an overview of the admin panel before focusing on profile settings that manage interface language and mode, login and personal information, and logo for branding.
+
+
The admin panel is the back office of your Strapi application. From the admin panel, you will be able to manage content-types and write their actual content, but also manage users, both administrators and end users of your Strapi application.
### Modifying profile information (name, email, username)
@@ -7675,6 +7722,9 @@ Source: https://docs.strapi.io/cms/features/api-tokens
# API Tokens
+> API tokens provide scoped authentication for REST and GraphQL requests without exposing user credentials. This documentation explains token types, creation, expiration, and secure usage within the admin panel.
+
+
API tokens allow users to authenticate REST and GraphQL API queries (see [APIs introduction](/cms/api/content-api)).
@@ -7784,6 +7834,9 @@ Source: https://docs.strapi.io/cms/features/content-manager
# Content Manager
+> ...
+
+
From the
@@ -8005,6 +8058,9 @@ Source: https://docs.strapi.io/cms/features/custom-fields
# Custom Fields
+> Custom Fields extend Strapi with new field types that behave like native fields in the Content‑type Builder and Content Manager. Instructions in this documentation cover building or installing fields via plugins and registering them programmatically.
+
+
Custom fields extend Strapi’s capabilities by adding new types of fields to content-types and components. Once created or added to Strapi via plugins, custom fields can be used in the Content-Type Builder and Content Manager just like built-in fields.
@@ -8128,6 +8184,9 @@ Source: https://docs.strapi.io/cms/features/data-management
# Data Management
+> Data Management handles CLI-based import, export, and transfer of content between Strapi instances with partial configuration in the admin panel. Step-by-step commands and prerequisite settings explained in this documentation ensure safe migrations.
+
+
The Data Management feature can be used to import, export, or transfer data. Data Management is CLI-based only, but is partly configured in the admin panel.
@@ -8157,6 +8216,9 @@ Source: https://docs.strapi.io/cms/features/draft-and-publish
# Draft & Publish
+> Draft & Publish separates drafts from live entries, allowing editors to stage content before release. This documentation shows how to enable it per content type and manage publish or unpublish actions.
+
+
The Draft & Publish feature allows to manage drafts for your content.
@@ -8170,6 +8232,9 @@ Source: https://docs.strapi.io/cms/features/email
# Email
+> The Email feature sends transactional messages through local SMTP or external providers like SendGrid. Setup guidance in this documentation covers provider configuration and extending delivery via controllers or hooks.
+
+
The Email feature enables Strapi applications to send emails from a server or an external provider.
@@ -8229,6 +8294,9 @@ Source: https://docs.strapi.io/cms/features/internationalization
# Internationalization (i18n)
+> Internationalization manages content in multiple locales directly from the admin panel. This documentation explains how to add locales, translate entries, and control locale-specific permissions.
+
+
The Internationalization feature allows to manage content in different languages, called "locales".
@@ -8242,6 +8310,9 @@ Source: https://docs.strapi.io/cms/features/media-library
# Media Library
+> Media Library centralizes all uploaded assets with search, filters, and folder organization. This documentation includes provider options, upload workflows, and explanations on inserting media into content.
+
+
The
@@ -8332,6 +8403,9 @@ Source: https://docs.strapi.io/cms/features/preview
# Preview
+> Preview connects the Content Manager to your front end so editors can see changes before publishing. Configuration steps set preview URLs and explain Live Preview availability for higher plans.
+
+
With the Preview feature, you can preview your front end application directly from Strapi's admin panel. This is helpful to see how updates to your content in the Edit View of the Content Manager will affect the final result.
@@ -8435,6 +8509,9 @@ Source: https://docs.strapi.io/cms/features/rbac
# Role-Based Access Control (RBAC)
+> Role-Based Access Control (RBAC) manages administrator roles and granular permissions in the admin panel. This documentation covers creating roles, assigning rights, and securing administrative workflows.
+
+
The Role-Based Access Control (RBAC) feature allows the management of the administrators, who are the users of the admin panel. More specifically, RBAC manages the administrators' accounts and roles.
@@ -8785,6 +8862,9 @@ Source: https://docs.strapi.io/cms/features/users-permissions
# Users & Permissions
+> Users & Permissions manages end-user accounts, JWT-based authentication, and role-based access to APIs. This documentation explains how to create roles, configure permissions, and issue API tokens for secure access control.
+
+
The Users & Permissions feature allows the management of the end-users of a Strapi project. It provides a full authentication process based on JSON Web Tokens (JWT) to protect your API, and an access-control list (ACL) strategy that enables you to manage permissions between groups of users.
@@ -10988,6 +11068,9 @@ Source: https://docs.strapi.io/cms/plugins/documentation
# Documentation plugin
+> The Documentation plugin auto-generates OpenAPI/Swagger docs for your API by scanning content types and routes. This documentation walks you through installation, customizing settings, and restricting access to the docs.
+
+
The Documentation plugin automates your API documentation creation. It basically generates a swagger file. It follows the
@@ -11253,6 +11336,9 @@ Source: https://docs.strapi.io/cms/plugins/graphql
# GraphQL plugin
+> The GraphQL plugin adds a GraphQL endpoint and Apollo-based sandbox for crafting queries and mutations. Options in config/plugins let you tune depth, item limits, and other Apollo Server settings which are explained in this documentation.
+
+
By default Strapi create [REST endpoints](/cms/api/rest#endpoints) for each of your content-types. The GraphQL plugin adds a GraphQL endpoint to fetch and mutate your content. With the GraphQL plugin installed, you can use the Apollo Server-based GraphQL Sandbox to interactively build your queries and mutations and read documentation tailored to your content types.
@@ -11622,6 +11708,9 @@ Source: https://docs.strapi.io/cms/plugins/installing-plugins-via-marketplace
# Using the Marketplace
+> The in-app Marketplace lists plugins and providers with badges, search, and “More” links to detailed Strapi Market pages. This documentation outlines browsing cards and following provider-specific instructions to install new integrations.
+
+
Strapi comes with built-in plugins such as [Documentation](/cms/plugins/documentation), [GraphQL](/cms/plugins/graphql), and [Sentry](/cms/plugins/sentry). The Marketplace is where users can find additional plugins to customize Strapi applications, and additional providers to extend plugins. The Marketplace is located in the admin panel, indicated by _Marketplace_. In the Marketplace, users can browse or search for plugins and providers, link to detailed descriptions for each, and submit new plugins and providers.
:::note strapi In-app Marketplace vs. Market website
@@ -11668,6 +11757,9 @@ Source: https://docs.strapi.io/cms/plugins/sentry
# Sentry plugin
+> The Sentry plugin connects Strapi to Sentry to report errors and attach debugging metadata. This documentation details installation, environment-based configuration, and ways to disable or skip sending events outside production.
+
+
This plugin enables you to track errors in your Strapi application using Sentry.
@@ -11987,6 +12079,9 @@ Source: https://docs.strapi.io/cms/templates
# Templates
+> Templates are full Strapi apps that bootstrap new projects via CLI flags such as `--template`, `--template-path`, and `--template-branch`. Instructions in this documentation cover referencing templates from GitHub and turning any Strapi project into a reusable template.
+
+
Templates in Strapi 5 are standalone, pre-made Strapi applications designed for specific use cases.
Strapi 5 templates are folders that include all files and folders that you would find in a typical Strapi application (see [project structure](/cms/project-structure)).
@@ -12024,6 +12119,9 @@ Source: https://docs.strapi.io/cms/testing
# Unit testing
+> Testing uses Jest and Supertest with a temporary SQLite database to run unit and API checks. Walkthroughs generate a Strapi instance, verify endpoints like `/hello`, and authenticate users to ensure controllers behave as expected.
+
+
:::strapi
The Strapi blog has a tutorial on how to implement
@@ -12353,7 +12451,10 @@ Source: https://docs.strapi.io/cms/typescript
# TypeScript development
Source: https://docs.strapi.io/cms/typescript/development
-# TypeScript development with Strapi
+# TypeScript development with Strapi
+
+> TypeScript development showcases Strapi typings for autocompletion, schema type generation with `ts:generate-types`, and programmatic server starts via `strapi()` or `strapi.compile()`. This documentation addresses plugin builds and managing generated type definitions.
+
While developing a [TypeScript](/cms/typescript)-based application with Strapi, you can:
diff --git a/docusaurus/static/llms.txt b/docusaurus/static/llms.txt
index 211d616051..e804190fbf 100644
--- a/docusaurus/static/llms.txt
+++ b/docusaurus/static/llms.txt
@@ -115,7 +115,7 @@
- [Server API for plugins](https://docs.strapi.io/cms/plugins-development/server-api): Strapi's Server API for plugins allows a Strapi plugin to customize the back end part (i.e. the server) of your application.
- [Documentation plugin](https://docs.strapi.io/cms/plugins/documentation): By using Swagger UI, the API documentation plugin takes out most of your pain to generate your documentation.
- [GraphQL plugin](https://docs.strapi.io/cms/plugins/graphql): Use a GraphQL endpoint in your Strapi project to fetch and mutate your content.
-- [Installing Plugins via the Marketplace](https://docs.strapi.io/cms/plugins/installing-plugins-via-marketplace): Strapi comes with built-in plugins such as [Documentation](/cms/plugins/documentation), [GraphQL](/cms/plugins/graphql), and [Sentry](/cms/plugins/sen...
+- [Installing Plugins via the Marketplace](https://docs.strapi.io/cms/plugins/installing-plugins-via-marketplace): > The in-app Marketplace lists plugins and providers with badges, search, and “More” links to detailed Strapi Market pages. This documentation outline...
- [Sentry plugin](https://docs.strapi.io/cms/plugins/sentry): Track errors in your Strapi application.
- [Project structure](https://docs.strapi.io/cms/project-structure): Discover the project structure of any default Strapi application.
- [Quick Start Guide - Strapi Developer Docs](https://docs.strapi.io/cms/quick-start): Get ready to get Strapi, your favorite open-source headless cms up and running in less than 3 minutes.