diff --git a/docusaurus/docs/cloud/account/account-billing.md b/docusaurus/docs/cloud/account/account-billing.md
index 0a566ef62a..baaba31c12 100644
--- a/docusaurus/docs/cloud/account/account-billing.md
+++ b/docusaurus/docs/cloud/account/account-billing.md
@@ -14,7 +14,11 @@ tags:
import InvoiceStatus from '/docs/snippets/invoices-statuses.md'
-# Account billing & invoices
+# Account billing & invoices
+
+
+Billing details and invoices are managed on the Profile page, where payment methods are updated and invoice history is available.
+
Through the *Profile* page, accessible by clicking on your profile picture on the top right hand corner of the interface then clicking on **Profile**, you can access the [ *Billing*](#account-billing) and [ *Invoices*](#account-invoices) tabs.
diff --git a/docusaurus/docs/cloud/account/account-settings.md b/docusaurus/docs/cloud/account/account-settings.md
index 952476bf01..a00acdad34 100644
--- a/docusaurus/docs/cloud/account/account-settings.md
+++ b/docusaurus/docs/cloud/account/account-settings.md
@@ -15,6 +15,10 @@ pagination_next: cloud/account/account-billing
# Profile settings
+
+Settings of the Profile page include account details, connected accounts, and account deletion options.
+
+
The *Profile* page enables you to manage your account details and preferences. It is accessible by clicking on your profile picture, on the top right hand corner of the interface, and **Profile**.
There are 3 tabs available in the *Profile* interface: [*General*](#general), *Billing* and Invoices (the last 2 are documented in the [Account billing details](/cloud/account/account-billing) section of this documentation).
diff --git a/docusaurus/docs/cloud/advanced/database.md b/docusaurus/docs/cloud/advanced/database.md
index 4a117f7b44..60026aae0a 100644
--- a/docusaurus/docs/cloud/advanced/database.md
+++ b/docusaurus/docs/cloud/advanced/database.md
@@ -15,6 +15,10 @@ pagination_next: cloud/advanced/email
# Database
+
+Default PostgreSQL can be swapped for any supported SQL database by aligning configuration and environment variables.
+
+
Strapi Cloud provides a pre-configured PostgreSQL database by default. However, you can also configure it to utilize an external SQL database, if needed.
:::prerequisites
diff --git a/docusaurus/docs/cloud/advanced/email.md b/docusaurus/docs/cloud/advanced/email.md
index 7dfedb21ce..65aab49458 100644
--- a/docusaurus/docs/cloud/advanced/email.md
+++ b/docusaurus/docs/cloud/advanced/email.md
@@ -14,6 +14,10 @@ tags:
# Email Provider
+
+Third‑party email services integrate through plugins and environment variables to replace the default sender.
+
+
Strapi Cloud comes with a basic email provider out of the box. However, it can also be configured to utilize another email provider, if needed.
:::caution
diff --git a/docusaurus/docs/cloud/advanced/upload.md b/docusaurus/docs/cloud/advanced/upload.md
index cf6490fbdb..f30faef9cb 100644
--- a/docusaurus/docs/cloud/advanced/upload.md
+++ b/docusaurus/docs/cloud/advanced/upload.md
@@ -16,6 +16,10 @@ tags:
# Upload Provider
+
+External storage like S3 or Cloudinary requires plugin setup, security middleware, and Cloud variables.
+
+
Strapi Cloud comes with a local upload provider out of the box. However, it can also be configured to utilize a third-party upload provider, if needed.
:::caution
diff --git a/docusaurus/docs/cloud/cli/cloud-cli.md b/docusaurus/docs/cloud/cli/cloud-cli.md
index 42154ae6e7..5219f08e5a 100644
--- a/docusaurus/docs/cloud/cli/cloud-cli.md
+++ b/docusaurus/docs/cloud/cli/cloud-cli.md
@@ -9,7 +9,11 @@ tags:
pagination_next: cloud/advanced/database
---
-# Command Line Interface (CLI)
+# Command Line Interface (CLI)
+
+
+CLI commands handle login, project deploy, linking, listing, and logout without needing a remote repository.
+
Strapi Cloud comes with a Command Line Interface (CLI) which allows you to log in and out, and to deploy a local project without it having to be hosted on a remote git repository. The CLI works with both the `yarn` and `npm` package managers.
diff --git a/docusaurus/docs/cloud/getting-started/caching.md b/docusaurus/docs/cloud/getting-started/caching.md
index 787d512b4a..a32b494234 100644
--- a/docusaurus/docs/cloud/getting-started/caching.md
+++ b/docusaurus/docs/cloud/getting-started/caching.md
@@ -10,6 +10,10 @@ tags:
# Caching & Performance
+
+Edge caching via Cache-Control headers reduces latency and server load for heavy static content.
+
+
For Strapi Cloud applications with large amounts of cacheable content, such as images, videos, and other static assets, enabling CDN (Content Delivery Network) caching via the can help improve application performance.
CDN caching can help improve application performance in a few ways:
diff --git a/docusaurus/docs/cloud/projects/collaboration.md b/docusaurus/docs/cloud/projects/collaboration.md
index 5244ef9bb5..13e21951a7 100644
--- a/docusaurus/docs/cloud/projects/collaboration.md
+++ b/docusaurus/docs/cloud/projects/collaboration.md
@@ -12,6 +12,9 @@ tags:
# Collaboration on projects
+
+Project owners invite maintainers through the Share button, manage pending invitations, and revoke access.
+
Projects are created by a user via their Strapi Cloud account. Strapi Cloud users can share their projects to anyone else, so these new users can have access to the project dashboard and collaborate on that project, without the project owner to ever have to share their credentials.
diff --git a/docusaurus/docs/cloud/projects/deploys-history.md b/docusaurus/docs/cloud/projects/deploys-history.md
index 56fbb38699..0ce6fea206 100644
--- a/docusaurus/docs/cloud/projects/deploys-history.md
+++ b/docusaurus/docs/cloud/projects/deploys-history.md
@@ -14,6 +14,10 @@ tags:
# Deployment history and logs {#deploy-history-and-logs}
+
+Deployments tab lists every build with status and allows deep inspection of build and runtime logs.
+
+
For each Strapi Cloud project, you can access the history of all deployments that occurred and their details including build and deployment logs. This information is available in the *Deployments* tab.
## Viewing the deployment history {#viewing-deploy-history}
diff --git a/docusaurus/docs/cloud/projects/deploys.md b/docusaurus/docs/cloud/projects/deploys.md
index a25fdff3f8..7ab28acb02 100644
--- a/docusaurus/docs/cloud/projects/deploys.md
+++ b/docusaurus/docs/cloud/projects/deploys.md
@@ -15,6 +15,10 @@ pagination_next: cloud/projects/deploys-history
# Deployments management
+
+Deployment triggers can be manual or automatic on git pushes, with the ability to cancel active builds from dashboard or CLI.
+
+
The creation of a new Strapi Cloud project automatically trigger the deployment of that project. After that, deployments can be:
- manually triggered whenever needed, [from the Cloud dashboard](#triggering-a-new-deployment) or [from the CLI](/cloud/cli/cloud-cli#strapi-deploy),
diff --git a/docusaurus/docs/cloud/projects/notifications.md b/docusaurus/docs/cloud/projects/notifications.md
index 069c687949..905ab29d18 100644
--- a/docusaurus/docs/cloud/projects/notifications.md
+++ b/docusaurus/docs/cloud/projects/notifications.md
@@ -12,6 +12,10 @@ tags:
# Notifications
+
+Bell icon opens a feed of recent deployment events, automatically purged after 30 days.
+
+
The Notification center can be opened by clicking the bell icon in the top navigation of the Cloud dashboard.
It displays a list of the latest notifications for all your existing projects. Clicking on a notification card from the list will redirect you to the *Log details* page of the corresponding deployment (more information in [Deploy history & logs](/cloud/projects/deploys-history#accessing-deployment-details--logs)).
diff --git a/docusaurus/docs/cloud/projects/overview.md b/docusaurus/docs/cloud/projects/overview.md
index 22cd02b37e..ff2088d711 100644
--- a/docusaurus/docs/cloud/projects/overview.md
+++ b/docusaurus/docs/cloud/projects/overview.md
@@ -13,6 +13,10 @@ import ScreenshotNumberReference from '/src/components/ScreenshotNumberReference
# Projects overview
+
+Projects page lists all apps with status and quick actions; selecting one opens a dashboard with metrics and controls.
+
+
The *Projects* page displays a list of all your Strapi Cloud projects. From here you can manage your projects and access the corresponding applications.
+Runtime logs tab streams live server output, though Free plan logs reset when apps scale to zero.
+
+
From a chosen project's dashboard, the *Runtime logs* tab displays the live logs of the project.
:::note
diff --git a/docusaurus/docs/cloud/projects/settings.md b/docusaurus/docs/cloud/projects/settings.md
index 85ea099316..da2eb6d751 100644
--- a/docusaurus/docs/cloud/projects/settings.md
+++ b/docusaurus/docs/cloud/projects/settings.md
@@ -16,6 +16,10 @@ import InvoiceStatus from '/docs/snippets/invoices-statuses.md'
# Project settings
+
+Settings area spans project-level controls (general, billing, plans, invoices) and per-environment configuration.
+
+
From a chosen project's dashboard, the **Settings** button, located in the header, enables you to manage the configurations and settings for your Strapi Cloud project and its environments.
The settings' menu on the left side of the interface is separated into 2 categories: the settings for the entire project and the settings specific to any configured environment for the project.
diff --git a/docusaurus/docs/cms/admin-panel-customization.md b/docusaurus/docs/cms/admin-panel-customization.md
index e258c9956b..b0be2bd974 100644
--- a/docusaurus/docs/cms/admin-panel-customization.md
+++ b/docusaurus/docs/cms/admin-panel-customization.md
@@ -11,6 +11,10 @@ import HotReloading from '/docs/snippets/hot-reloading-admin-panel.md'
# Admin panel customization
+
+The admin panel can be tailored to match your branding, by editing `src/admin/app` and using an `extensions` folder to swap logos, favicon, locales, translations, themes, bundlers, or editors.
+
+
The **front-end part of Strapi** For a clarification on the distinction between:
the Strapi admin panel (front end of Strapi),
the Strapi server (back end of Strapi),
and the end-user-facing front end of a Strapi-powered application,
refer to the [development introduction](/cms/customization). is called the admin panel. The admin panel presents a graphical user interface to help you structure and manage the content that will be accessible through the Content API. To get an overview of the admin panel, please refer to the [Getting Started > Admin panel](/cms/features/admin-panel) page.
From a developer point of view, Strapi's admin panel is a React-based single-page application that encapsulates all the features and installed plugins of a Strapi application.
diff --git a/docusaurus/docs/cms/admin-panel-customization/bundlers.md b/docusaurus/docs/cms/admin-panel-customization/bundlers.md
index 27dbbfbb17..81b485a2db 100644
--- a/docusaurus/docs/cms/admin-panel-customization/bundlers.md
+++ b/docusaurus/docs/cms/admin-panel-customization/bundlers.md
@@ -15,6 +15,10 @@ import FeedbackCallout from '/docs/snippets/backend-customization-feedback-cta.m
# Admin panel bundlers
+
+Supported JavaScript bundlers influence builds and development flow.
+
+
Strapi's [admin panel](/cms/admin-panel-customization) is a React-based single-page application that encapsulates all the features and installed plugins of a Strapi application. 2 different bundlers can be used with your Strapi 5 application, [Vite](#vite) (the default one) and [webpack](#webpack). Both bundlers can be configured to suit your needs.
:::info
diff --git a/docusaurus/docs/cms/admin-panel-customization/homepage.md b/docusaurus/docs/cms/admin-panel-customization/homepage.md
index 6fc6debe1f..9725e46a59 100644
--- a/docusaurus/docs/cms/admin-panel-customization/homepage.md
+++ b/docusaurus/docs/cms/admin-panel-customization/homepage.md
@@ -12,6 +12,10 @@ tags:
# Homepage customization
+
+The admin panel homepage displays default content and profile widgets and supports custom additions through the `app.widgets.register` API.
+
+
The Homepage is the landing page of the Strapi admin panel. By default, it provides an overview of your content with 5 default widgets:
- _Last edited entries_: Displays recently modified content entries, including their content type, status, and when they were updated.
diff --git a/docusaurus/docs/cms/backend-customization.md b/docusaurus/docs/cms/backend-customization.md
index 4434438b01..11905d2536 100644
--- a/docusaurus/docs/cms/backend-customization.md
+++ b/docusaurus/docs/cms/backend-customization.md
@@ -20,6 +20,9 @@ tags:
# Backend customization
+
+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.
diff --git a/docusaurus/docs/cms/backend-customization/controllers.md b/docusaurus/docs/cms/backend-customization/controllers.md
index 733bd47780..d6969725cb 100644
--- a/docusaurus/docs/cms/backend-customization/controllers.md
+++ b/docusaurus/docs/cms/backend-customization/controllers.md
@@ -16,6 +16,10 @@ tags:
# Controllers
+
+Controllers bundle actions that handle business logic for each route within Strapi’s MVC pattern. This documentation demonstrates generating controllers, extending core ones with `createCoreController`, and delegating heavy logic to services.
+
+
Controllers are JavaScript files that contain a set of methods, called actions, reached by the client according to the requested [route](/cms/backend-customization/routes). Whenever a client requests the route, the action performs the business logic code and sends back the [response](/cms/backend-customization/requests-responses). Controllers represent the C in the model-view-controller (MVC) pattern.
In most cases, the controllers will contain the bulk of a project's business logic. But as a controller's logic becomes more and more complicated, it's a good practice to use [services](/cms/backend-customization/services) to organize the code into re-usable parts.
diff --git a/docusaurus/docs/cms/backend-customization/middlewares.md b/docusaurus/docs/cms/backend-customization/middlewares.md
index fc37596220..d7a961dd42 100644
--- a/docusaurus/docs/cms/backend-customization/middlewares.md
+++ b/docusaurus/docs/cms/backend-customization/middlewares.md
@@ -18,6 +18,10 @@ import MiddlewareTypes from '/docs/snippets/middleware-types.md'
# Middlewares customization
+
+Middlewares alter the request or response flow at application or API levels. This documentation distinguishes global versus route middlewares and illustrates custom implementations with generation patterns.
+
+
diff --git a/docusaurus/docs/cms/backend-customization/models.md b/docusaurus/docs/cms/backend-customization/models.md
index f42a37702e..c411878c45 100644
--- a/docusaurus/docs/cms/backend-customization/models.md
+++ b/docusaurus/docs/cms/backend-customization/models.md
@@ -16,6 +16,10 @@ tags:
# Models
+
+Models define Strapi’s content structure via content-types and reusable components. This documentation walks through creating these models in the Content-type Builder or CLI and managing schema files with optional lifecycle hooks.
+
+
As Strapi is a headless Content Management System (CMS), creating a content structure for the content is one of the most important aspects of using the software. Models define a representation of the content structure.
There are 2 different types of models in Strapi:
diff --git a/docusaurus/docs/cms/backend-customization/policies.md b/docusaurus/docs/cms/backend-customization/policies.md
index 90339c0868..251ec3902d 100644
--- a/docusaurus/docs/cms/backend-customization/policies.md
+++ b/docusaurus/docs/cms/backend-customization/policies.md
@@ -16,6 +16,10 @@ tags:
# Policies
+
+Policies execute before controllers to enforce authorization or other checks on routes. Instructions in this documentation cover generating global or scoped policies and wiring them into router configs.
+
+
Policies are functions that execute specific logic on each request before it reaches the [controller](/cms/backend-customization/controllers). They are mostly used for securing business logic.
Each [route](/cms/backend-customization/routes) of a Strapi project can be associated to an array of policies. For example, a policy named `is-admin` could check that the request is sent by an admin user, and restrict access to critical routes.
diff --git a/docusaurus/docs/cms/backend-customization/requests-responses.md b/docusaurus/docs/cms/backend-customization/requests-responses.md
index 37f41f6536..fa2ceba82a 100644
--- a/docusaurus/docs/cms/backend-customization/requests-responses.md
+++ b/docusaurus/docs/cms/backend-customization/requests-responses.md
@@ -10,6 +10,10 @@ tags:
# Requests and Responses
+
+Koa’s context (`ctx`) carries request info, state, and response data through every Strapi endpoint. This documentation details `ctx.request`, `ctx.state`, and `ctx.response`, plus a helper for accessing context anywhere.
+
+
The Strapi back end server is based on . When you send requests through the [REST API](/cms/api/rest), a context object (`ctx`) is passed to every element of the Strapi back end (e.g., [policies](/cms/backend-customization/policies), [controllers](/cms/backend-customization/controllers), [services](/cms/backend-customization/services)).
`ctx` includes 3 main objects:
diff --git a/docusaurus/docs/cms/backend-customization/routes.md b/docusaurus/docs/cms/backend-customization/routes.md
index 41f5e92cae..a72889a199 100644
--- a/docusaurus/docs/cms/backend-customization/routes.md
+++ b/docusaurus/docs/cms/backend-customization/routes.md
@@ -18,6 +18,10 @@ tags:
# Routes
+
+Routes map incoming URLs to controllers and ship pre-generated for each content type. This documentation shows how to add or customize core and custom routers and attach policies or middlewares for extra control.
+
+
Requests sent to Strapi on any URL are handled by routes. By default, Strapi generates routes for all the content-types (see [REST API documentation](/cms/api/rest)). Routes can be [added](#implementation) and configured:
- with [policies](#policies), which are a way to block access to a route,
diff --git a/docusaurus/docs/cms/backend-customization/services.md b/docusaurus/docs/cms/backend-customization/services.md
index e963e4a79b..86c5e7442d 100644
--- a/docusaurus/docs/cms/backend-customization/services.md
+++ b/docusaurus/docs/cms/backend-customization/services.md
@@ -13,6 +13,10 @@ tags:
# Services
+
+Services store reusable functions to keep controllers concise and follow DRY principles. This documentation explains generating or extending services with `createCoreService` and organizing them for APIs or plugins.
+
+
Services are a set of reusable functions. They are particularly useful to respect the "don’t repeat yourself" (DRY) programming concept and to simplify [controllers](/cms/backend-customization/controllers.md) logic.
diff --git a/docusaurus/docs/cms/backend-customization/webhooks.md b/docusaurus/docs/cms/backend-customization/webhooks.md
index a95d0b89d1..c40e959340 100644
--- a/docusaurus/docs/cms/backend-customization/webhooks.md
+++ b/docusaurus/docs/cms/backend-customization/webhooks.md
@@ -15,6 +15,10 @@ tags:
# Webhooks
+
+Webhooks let Strapi notify external systems when content changes, while omitting the Users type for privacy. Configuration in `config/server` sets default headers and endpoints to trigger third-party processing.
+
+
Webhook is a construct used by an application to notify other applications that an event occurred. More precisely, webhook is a user-defined HTTP callback. Using a webhook is a good way to tell third-party providers to start some processing (CI, build, deployment ...).
The way a webhook works is by delivering information to a receiving application through HTTP requests (typically POST requests).
diff --git a/docusaurus/docs/cms/configurations/admin-panel.md b/docusaurus/docs/cms/configurations/admin-panel.md
index 4787fe8586..cd2b5ab324 100644
--- a/docusaurus/docs/cms/configurations/admin-panel.md
+++ b/docusaurus/docs/cms/configurations/admin-panel.md
@@ -16,6 +16,10 @@ tags:
# Admin panel configuration
+
+Options in `/config/admin` let you tweak admin panel behavior and server settings, including custom URLs, host, and port.
+
+
The `/config/admin` file is used to define the [admin panel](/cms/features/admin-panel) configuration for the Strapi application.
The present page acts as a reference for all the configuration parameters and values that you can find in the `/config/admin` file, grouped by topic. For additional information on how each feature works, please refer to links given in the introduction of each sub-section.
diff --git a/docusaurus/docs/cms/configurations/api.md b/docusaurus/docs/cms/configurations/api.md
index 5dc625c779..0c5142ee7e 100644
--- a/docusaurus/docs/cms/configurations/api.md
+++ b/docusaurus/docs/cms/configurations/api.md
@@ -10,6 +10,10 @@ tags:
# 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 |
diff --git a/docusaurus/docs/cms/configurations/cron.md b/docusaurus/docs/cms/configurations/cron.md
index 2dbcf9faf2..e6c251eef0 100644
--- a/docusaurus/docs/cms/configurations/cron.md
+++ b/docusaurus/docs/cms/configurations/cron.md
@@ -10,6 +10,10 @@ tags:
# 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).
:::
diff --git a/docusaurus/docs/cms/configurations/database.md b/docusaurus/docs/cms/configurations/database.md
index 83cd25c4ab..1127c75644 100644
--- a/docusaurus/docs/cms/configurations/database.md
+++ b/docusaurus/docs/cms/configurations/database.md
@@ -17,6 +17,10 @@ import SupportedDatabases from '/docs/snippets/supported-databases.md'
# 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
diff --git a/docusaurus/docs/cms/configurations/environment.md b/docusaurus/docs/cms/configurations/environment.md
index 15186b9b54..3b9ba70794 100644
--- a/docusaurus/docs/cms/configurations/environment.md
+++ b/docusaurus/docs/cms/configurations/environment.md
@@ -12,6 +12,10 @@ import SampleEnv from '/docs/snippets/sample-env.md'
# 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
diff --git a/docusaurus/docs/cms/configurations/features.md b/docusaurus/docs/cms/configurations/features.md
index 7f2454e447..a97d6315d6 100644
--- a/docusaurus/docs/cms/configurations/features.md
+++ b/docusaurus/docs/cms/configurations/features.md
@@ -12,6 +12,10 @@ tags:
# 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.
diff --git a/docusaurus/docs/cms/configurations/functions.md b/docusaurus/docs/cms/configurations/functions.md
index 687661a8f5..9ffb051d3f 100644
--- a/docusaurus/docs/cms/configurations/functions.md
+++ b/docusaurus/docs/cms/configurations/functions.md
@@ -16,6 +16,10 @@ tags:
# 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.
diff --git a/docusaurus/docs/cms/configurations/middlewares.md b/docusaurus/docs/cms/configurations/middlewares.md
index 54831e130d..4458df8baa 100644
--- a/docusaurus/docs/cms/configurations/middlewares.md
+++ b/docusaurus/docs/cms/configurations/middlewares.md
@@ -19,6 +19,10 @@ import MiddlewareTypes from '/docs/snippets/middleware-types.md'
# Middlewares configuration
+
+`/config/middlewares` orders global middleware, enables custom names or resolves, and exposes built-in configuration options.
+
+
The `./config/middlewares.js` file is used to define all the global middlewares that should be applied by the Strapi server.
diff --git a/docusaurus/docs/cms/configurations/plugins.md b/docusaurus/docs/cms/configurations/plugins.md
index 964adb87fe..5209e74138 100644
--- a/docusaurus/docs/cms/configurations/plugins.md
+++ b/docusaurus/docs/cms/configurations/plugins.md
@@ -16,6 +16,10 @@ tags:
# 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 |
diff --git a/docusaurus/docs/cms/configurations/server.md b/docusaurus/docs/cms/configurations/server.md
index 1cb70fe27f..aeaed90192 100644
--- a/docusaurus/docs/cms/configurations/server.md
+++ b/docusaurus/docs/cms/configurations/server.md
@@ -14,6 +14,10 @@ tags:
# 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
diff --git a/docusaurus/docs/cms/configurations/typescript.md b/docusaurus/docs/cms/configurations/typescript.md
index 947272582d..89d7b35419 100644
--- a/docusaurus/docs/cms/configurations/typescript.md
+++ b/docusaurus/docs/cms/configurations/typescript.md
@@ -11,6 +11,10 @@ tags:
# 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).
diff --git a/docusaurus/docs/cms/database-migrations.md b/docusaurus/docs/cms/database-migrations.md
index 4fa3ed20fd..f9f84ab8e2 100644
--- a/docusaurus/docs/cms/database-migrations.md
+++ b/docusaurus/docs/cms/database-migrations.md
@@ -5,6 +5,10 @@ description: Strapi database migrations are ways to modify the database
# Database migrations
+
+Database migrations run one‑time scripts before schema sync to preserve data during upgrades. The experimental API uses alphabetical `up()` files and warns about missing down migrations and potential table deletions.
+
+
Database migrations exist to run one-time queries against the database, typically to modify the tables structure or the data when upgrading the Strapi application. These migrations are run automatically when the application starts and are executed before the automated schema migrations that Strapi also performs on boot.
:::callout 🚧 Experimental feature
diff --git a/docusaurus/docs/cms/database-transactions.md b/docusaurus/docs/cms/database-transactions.md
index 6200338f11..2c32d72940 100644
--- a/docusaurus/docs/cms/database-transactions.md
+++ b/docusaurus/docs/cms/database-transactions.md
@@ -8,6 +8,10 @@ tags:
# Database transactions
+
+Database transactions group several operations so they succeed or roll back as a unit. The experimental `strapi.db.transaction` helper exposes `trx`, commit, and rollback utilities for wrapped service calls.
+
+
:::caution
This is an experimental feature and is subject to change in future versions.
:::
diff --git a/docusaurus/docs/cms/deployment.md b/docusaurus/docs/cms/deployment.md
index 0acd6131bc..b52cc7c6ee 100644
--- a/docusaurus/docs/cms/deployment.md
+++ b/docusaurus/docs/cms/deployment.md
@@ -17,6 +17,10 @@ import InstallPrereq from '/docs/snippets/installation-prerequisites.md'
# Deployment
+
+Deployment options cover hardware/software prerequisites, environment variable setup, and building the admin panel before launch. In the documentation: links to provider‑specific and advanced guides to help pick the right hosting strategy.
+
+
Strapi provides many deployment options for your project or application. Your Strapi applications can be deployed on traditional hosting servers or your preferred hosting provider.
The following documentation covers the basics of how to prepare Strapi for deployment on with several common hosting options.
diff --git a/docusaurus/docs/cms/error-handling.md b/docusaurus/docs/cms/error-handling.md
index 708473d1db..e95fa2b6d1 100644
--- a/docusaurus/docs/cms/error-handling.md
+++ b/docusaurus/docs/cms/error-handling.md
@@ -16,6 +16,10 @@ tags:
# 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:
diff --git a/docusaurus/docs/cms/features/admin-panel.md b/docusaurus/docs/cms/features/admin-panel.md
index 90e30a9134..8dcd6614c9 100644
--- a/docusaurus/docs/cms/features/admin-panel.md
+++ b/docusaurus/docs/cms/features/admin-panel.md
@@ -11,6 +11,10 @@ tags:
# 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.
+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)).
diff --git a/docusaurus/docs/cms/features/audit-logs.md b/docusaurus/docs/cms/features/audit-logs.md
index 2d0ec79558..ec25c8d07e 100644
--- a/docusaurus/docs/cms/features/audit-logs.md
+++ b/docusaurus/docs/cms/features/audit-logs.md
@@ -17,6 +17,10 @@ tags:
+
+Audit Logs captures every administrative action in a searchable, filterable history to aid troubleshooting and compliance. In this documentation, examples show viewing payloads and filtering by user or date.
+
+
The Audit Logs feature provides a searchable and filterable display of all activities performed by users of the Strapi application.
diff --git a/docusaurus/docs/cms/features/content-history.md b/docusaurus/docs/cms/features/content-history.md
index 3bdf044f9c..dd2e389aac 100644
--- a/docusaurus/docs/cms/features/content-history.md
+++ b/docusaurus/docs/cms/features/content-history.md
@@ -12,6 +12,10 @@ tags:
# Content History
+
+Content History stores previous document versions so editors can compare and restore earlier states from the Content Manager. This documentation explains how to browse and restore workflows for quick rollback of mistakes.
+
+
The Content History feature, in the Content Manager, gives you the ability to browse and restore previous versions of documents created with the [Content Manager](/cms/features/content-manager).
diff --git a/docusaurus/docs/cms/features/content-manager.md b/docusaurus/docs/cms/features/content-manager.md
index fa0b89fc9f..f38ee78ba9 100644
--- a/docusaurus/docs/cms/features/content-manager.md
+++ b/docusaurus/docs/cms/features/content-manager.md
@@ -16,6 +16,10 @@ import ScreenshotNumberReference from '/src/components/ScreenshotNumberReference
# Content Manager
+
+The Content Manager is Strapi’s interface for browsing and editing entries. This documentation gives an overview of the Content Manager and explains the views and how to write content in fields, components, dynamic zones and relational fields.
+
+
From the Content Manager, accessible via the main navigation of the admin panel, users can write and manage their content.
diff --git a/docusaurus/docs/cms/features/content-type-builder.md b/docusaurus/docs/cms/features/content-type-builder.md
index 9191416eb4..9437817597 100644
--- a/docusaurus/docs/cms/features/content-type-builder.md
+++ b/docusaurus/docs/cms/features/content-type-builder.md
@@ -16,6 +16,10 @@ import ConditionalFields from '/docs/snippets/conditional-fields.md'
# Content-type Builder
+
+The Content-type Builder is a tool for designing content types and components. This documentation gives an overview of the Content-type Builder and covers field options, relations, component usage, and shares data modeling tips.
+
+
From the Content-type Builder, accessible via the main navigation of the admin panel, users can create and edit their content types.
diff --git a/docusaurus/docs/cms/features/custom-fields.md b/docusaurus/docs/cms/features/custom-fields.md
index 05493e7e80..820be8b2c6 100644
--- a/docusaurus/docs/cms/features/custom-fields.md
+++ b/docusaurus/docs/cms/features/custom-fields.md
@@ -17,13 +17,17 @@ import CustomFieldRequiresPlugin from '/docs/snippets/custom-field-requires-plug
# 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.
- Free feature
- None
- Available and activated by default
- Available in both Development & Production environment
+Free feature
+None
+Available and activated by default
+Available in both Development & Production environment
## Configuration
@@ -85,16 +89,16 @@ In the following example, the `color-picker` plugin was created using the CLI ge
```js title="/src/plugins/color-picker/server/register.js"
module.exports = ({ strapi }) => {
- strapi.customFields.register({
- name: "color",
- plugin: "color-picker",
- type: "string",
- inputSize: {
- // optional
- default: 4,
- isResizable: true,
- },
- });
+strapi.customFields.register({
+ name: "color",
+ plugin: "color-picker",
+ type: "string",
+ inputSize: {
+ // optional
+ default: 4,
+ isResizable: true,
+ },
+});
};
```
@@ -104,16 +108,16 @@ module.exports = ({ strapi }) => {
```ts title="/src/plugins/color-picker/server/register.ts"
export default ({ strapi }: { strapi: any }) => {
- strapi.customFields.register({
- name: "color",
- plugin: "color-picker",
- type: "string",
- inputSize: {
- // optional
- default: 4,
- isResizable: true,
- },
- });
+strapi.customFields.register({
+ name: "color",
+ plugin: "color-picker",
+ type: "string",
+ inputSize: {
+ // optional
+ default: 4,
+ isResizable: true,
+ },
+});
};
```
@@ -127,18 +131,18 @@ The custom field could also be declared directly within the `strapi-server.js` f
```js title="/src/plugins/color-picker/strapi-server.js"
module.exports = {
- register({ strapi }) {
- strapi.customFields.register({
- name: "color",
- plugin: "color-picker",
- type: "text",
- inputSize: {
- // optional
- default: 4,
- isResizable: true,
- },
- });
- },
+register({ strapi }) {
+ strapi.customFields.register({
+ name: "color",
+ plugin: "color-picker",
+ type: "text",
+ inputSize: {
+ // optional
+ default: 4,
+ isResizable: true,
+ },
+ });
+},
};
```
@@ -148,18 +152,18 @@ module.exports = {
```ts title="/src/plugins/color-picker/strapi-server.ts"
export default {
- register({ strapi }: { strapi: any }) {
- strapi.customFields.register({
- name: "color",
- plugin: "color-picker",
- type: "text",
- inputSize: {
- // optional
- default: 4,
- isResizable: true,
- },
- });
- },
+register({ strapi }: { strapi: any }) {
+ strapi.customFields.register({
+ name: "color",
+ plugin: "color-picker",
+ type: "text",
+ inputSize: {
+ // optional
+ default: 4,
+ isResizable: true,
+ },
+ });
+},
};
```
@@ -205,36 +209,36 @@ In the following example, the `color-picker` plugin was created using the CLI ge
import ColorPickerIcon from "./components/ColorPicker/ColorPickerIcon";
export default {
- register(app) {
- // ... app.addMenuLink() goes here
- // ... app.registerPlugin() goes here
-
- app.customFields.register({
- name: "color",
- pluginId: "color-picker", // the custom field is created by a color-picker plugin
- type: "string", // the color will be stored as a string
- intlLabel: {
- id: "color-picker.color.label",
- defaultMessage: "Color",
- },
- intlDescription: {
- id: "color-picker.color.description",
- defaultMessage: "Select any color",
- },
- icon: ColorPickerIcon, // don't forget to create/import your icon component
- components: {
- Input: async () =>
- import('./components/Input').then((module) => ({
- default: module.Input,
- })),
- },
- options: {
- // declare options here
- },
- });
- },
+register(app) {
+ // ... app.addMenuLink() goes here
+ // ... app.registerPlugin() goes here
+
+ app.customFields.register({
+ name: "color",
+ pluginId: "color-picker", // the custom field is created by a color-picker plugin
+ type: "string", // the color will be stored as a string
+ intlLabel: {
+ id: "color-picker.color.label",
+ defaultMessage: "Color",
+ },
+ intlDescription: {
+ id: "color-picker.color.description",
+ defaultMessage: "Select any color",
+ },
+ icon: ColorPickerIcon, // don't forget to create/import your icon component
+ components: {
+ Input: async () =>
+ import('./components/Input').then((module) => ({
+ default: module.Input,
+ })),
+ },
+ options: {
+ // declare options here
+ },
+ });
+},
- // ... bootstrap() goes here
+// ... bootstrap() goes here
};
```
@@ -246,36 +250,36 @@ export default {
import ColorPickerIcon from "./components/ColorPicker/ColorPickerIcon";
export default {
- register(app) {
- // ... app.addMenuLink() goes here
- // ... app.registerPlugin() goes here
-
- app.customFields.register({
- name: "color",
- pluginId: "color-picker", // the custom field is created by a color-picker plugin
- type: "string", // the color will be stored as a string
- intlLabel: {
- id: "color-picker.color.label",
- defaultMessage: "Color",
- },
- intlDescription: {
- id: "color-picker.color.description",
- defaultMessage: "Select any color",
- },
- icon: ColorPickerIcon, // don't forget to create/import your icon component
- components: {
- Input: async () =>
- import('./components/Input').then((module) => ({
- default: module.Input,
- })),
- },
- options: {
- // declare options here
- },
- });
- },
+register(app) {
+ // ... app.addMenuLink() goes here
+ // ... app.registerPlugin() goes here
- // ... bootstrap() goes here
+ app.customFields.register({
+ name: "color",
+ pluginId: "color-picker", // the custom field is created by a color-picker plugin
+ type: "string", // the color will be stored as a string
+ intlLabel: {
+ id: "color-picker.color.label",
+ defaultMessage: "Color",
+ },
+ intlDescription: {
+ id: "color-picker.color.description",
+ defaultMessage: "Select any color",
+ },
+ icon: ColorPickerIcon, // don't forget to create/import your icon component
+ components: {
+ Input: async () =>
+ import('./components/Input').then((module) => ({
+ default: module.Input,
+ })),
+ },
+ options: {
+ // declare options here
+ },
+ });
+},
+
+// ... bootstrap() goes here
};
```
@@ -295,18 +299,18 @@ In the following example, the `color-picker` plugin was created using the CLI ge
```jsx title="/src/plugins/color-picker/admin/src/index.js"
export default {
- register(app) {
- app.customFields.register({
- // …
- components: {
- Input: async () =>
- import('./components/Input').then((module) => ({
- default: module.Input,
- })),
- },
- // …
- });
- },
+register(app) {
+ app.customFields.register({
+ // …
+ components: {
+ Input: async () =>
+ import('./components/Input').then((module) => ({
+ default: module.Input,
+ })),
+ },
+ // …
+ });
+},
};
```
@@ -316,18 +320,18 @@ export default {
```jsx title="/src/plugins/color-picker/admin/src/index.js"
export default {
- register(app) {
- app.customFields.register({
- // …
- components: {
- Input: async () =>
- import('./components/Input').then((module) => ({
- default: module.Input,
- })),
- },
- // …
- });
- },
+register(app) {
+ app.customFields.register({
+ // …
+ components: {
+ Input: async () =>
+ import('./components/Input').then((module) => ({
+ default: module.Input,
+ })),
+ },
+ // …
+ });
+},
};
```
@@ -371,30 +375,30 @@ import * as React from "react";
import { useIntl } from "react-intl";
const Input = React.forwardRef((props, ref) => {
- const { attribute, disabled, intlLabel, name, onChange, required, value } =
- props; // these are just some of the props passed by the content-manager
-
- const { formatMessage } = useIntl();
-
- const handleChange = (e) => {
- onChange({
- target: { name, type: attribute.type, value: e.currentTarget.value },
- });
- };
-
- return (
-
- );
+const { attribute, disabled, intlLabel, name, onChange, required, value } =
+ props; // these are just some of the props passed by the content-manager
+
+const { formatMessage } = useIntl();
+
+const handleChange = (e) => {
+ onChange({
+ target: { name, type: attribute.type, value: e.currentTarget.value },
+ });
+};
+
+return (
+
+);
});
export default Input;
@@ -409,30 +413,30 @@ import * as React from "react";
import { useIntl } from "react-intl";
const Input = React.forwardRef((props, ref) => {
- const { attribute, disabled, intlLabel, name, onChange, required, value } =
- props; // these are just some of the props passed by the content-manager
-
- const { formatMessage } = useIntl();
-
- const handleChange = (e) => {
- onChange({
- target: { name, type: attribute.type, value: e.currentTarget.value },
- });
- };
-
- return (
-
- );
+const { attribute, disabled, intlLabel, name, onChange, required, value } =
+ props; // these are just some of the props passed by the content-manager
+
+const { formatMessage } = useIntl();
+
+const handleChange = (e) => {
+ onChange({
+ target: { name, type: attribute.type, value: e.currentTarget.value },
+ });
+};
+
+return (
+
+);
});
export default Input;
@@ -485,81 +489,81 @@ In the following example, the `color-picker` plugin was created using the CLI ge
// imports go here (ColorPickerIcon, pluginId, yup package…)
export default {
- register(app) {
- // ... app.addMenuLink() goes here
- // ... app.registerPlugin() goes here
- app.customFields.register({
- // …
- options: {
- base: [
- /*
- Declare settings to be added to the "Base settings" section
- of the field in the Content-Type Builder
- */
- {
- sectionTitle: {
- // Add a "Format" settings section
- id: "color-picker.color.section.format",
- defaultMessage: "Format",
- },
- items: [
- // Add settings items to the section
- {
- /*
- Add a "Color format" dropdown
- to choose between 2 different format options
- for the color value: hexadecimal or RGBA
- */
- intlLabel: {
- id: "color-picker.color.format.label",
- defaultMessage: "Color format",
- },
- name: "options.format",
- type: "select",
- value: "hex", // option selected by default
- options: [
- // List all available "Color format" options
- {
- key: "hex",
- defaultValue: "hex",
- value: "hex",
- metadatas: {
- intlLabel: {
- id: "color-picker.color.format.hex",
- defaultMessage: "Hexadecimal",
- },
+register(app) {
+ // ... app.addMenuLink() goes here
+ // ... app.registerPlugin() goes here
+ app.customFields.register({
+ // …
+ options: {
+ base: [
+ /*
+ Declare settings to be added to the "Base settings" section
+ of the field in the Content-Type Builder
+ */
+ {
+ sectionTitle: {
+ // Add a "Format" settings section
+ id: "color-picker.color.section.format",
+ defaultMessage: "Format",
+ },
+ items: [
+ // Add settings items to the section
+ {
+ /*
+ Add a "Color format" dropdown
+ to choose between 2 different format options
+ for the color value: hexadecimal or RGBA
+ */
+ intlLabel: {
+ id: "color-picker.color.format.label",
+ defaultMessage: "Color format",
+ },
+ name: "options.format",
+ type: "select",
+ value: "hex", // option selected by default
+ options: [
+ // List all available "Color format" options
+ {
+ key: "hex",
+ defaultValue: "hex",
+ value: "hex",
+ metadatas: {
+ intlLabel: {
+ id: "color-picker.color.format.hex",
+ defaultMessage: "Hexadecimal",
},
},
- {
- key: "rgba",
- value: "rgba",
- metadatas: {
- intlLabel: {
- id: "color-picker.color.format.rgba",
- defaultMessage: "RGBA",
- },
+ },
+ {
+ key: "rgba",
+ value: "rgba",
+ metadatas: {
+ intlLabel: {
+ id: "color-picker.color.format.rgba",
+ defaultMessage: "RGBA",
},
},
- ],
- },
- ],
- },
- ],
- advanced: [
- /*
- Declare settings to be added to the "Advanced settings" section
- of the field in the Content-Type Builder
- */
- ],
- validator: (args) => ({
- format: yup.string().required({
- id: "options.color-picker.format.error",
- defaultMessage: "The color format is required",
- }),
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ advanced: [
+ /*
+ Declare settings to be added to the "Advanced settings" section
+ of the field in the Content-Type Builder
+ */
+ ],
+ validator: (args) => ({
+ format: yup.string().required({
+ id: "options.color-picker.format.error",
+ defaultMessage: "The color format is required",
}),
- },
- });
- },
+ }),
+ },
+ });
+},
};
```
@@ -571,81 +575,81 @@ export default {
// imports go here (ColorPickerIcon, pluginId, yup package…)
export default {
- register(app) {
- // ... app.addMenuLink() goes here
- // ... app.registerPlugin() goes here
- app.customFields.register({
- // …
- options: {
- base: [
- /*
- Declare settings to be added to the "Base settings" section
- of the field in the Content-Type Builder
- */
- {
- sectionTitle: {
- // Add a "Format" settings section
- id: "color-picker.color.section.format",
- defaultMessage: "Format",
- },
- items: [
- // Add settings items to the section
- {
- /*
- Add a "Color format" dropdown
- to choose between 2 different format options
- for the color value: hexadecimal or RGBA
- */
- intlLabel: {
- id: "color-picker.color.format.label",
- defaultMessage: "Color format",
- },
- name: "options.format",
- type: "select",
- value: "hex", // option selected by default
- options: [
- // List all available "Color format" options
- {
- key: "hex",
- defaultValue: "hex",
- value: "hex",
- metadatas: {
- intlLabel: {
- id: "color-picker.color.format.hex",
- defaultMessage: "Hexadecimal",
- },
+register(app) {
+ // ... app.addMenuLink() goes here
+ // ... app.registerPlugin() goes here
+ app.customFields.register({
+ // …
+ options: {
+ base: [
+ /*
+ Declare settings to be added to the "Base settings" section
+ of the field in the Content-Type Builder
+ */
+ {
+ sectionTitle: {
+ // Add a "Format" settings section
+ id: "color-picker.color.section.format",
+ defaultMessage: "Format",
+ },
+ items: [
+ // Add settings items to the section
+ {
+ /*
+ Add a "Color format" dropdown
+ to choose between 2 different format options
+ for the color value: hexadecimal or RGBA
+ */
+ intlLabel: {
+ id: "color-picker.color.format.label",
+ defaultMessage: "Color format",
+ },
+ name: "options.format",
+ type: "select",
+ value: "hex", // option selected by default
+ options: [
+ // List all available "Color format" options
+ {
+ key: "hex",
+ defaultValue: "hex",
+ value: "hex",
+ metadatas: {
+ intlLabel: {
+ id: "color-picker.color.format.hex",
+ defaultMessage: "Hexadecimal",
},
},
- {
- key: "rgba",
- value: "rgba",
- metadatas: {
- intlLabel: {
- id: "color-picker.color.format.rgba",
- defaultMessage: "RGBA",
- },
+ },
+ {
+ key: "rgba",
+ value: "rgba",
+ metadatas: {
+ intlLabel: {
+ id: "color-picker.color.format.rgba",
+ defaultMessage: "RGBA",
},
},
- ],
- },
- ],
- },
- ],
- advanced: [
- /*
- Declare settings to be added to the "Advanced settings" section
- of the field in the Content-Type Builder
- */
- ],
- validator: (args) => ({
- format: yup.string().required({
- id: "options.color-picker.format.error",
- defaultMessage: "The color format is required",
- }),
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ advanced: [
+ /*
+ Declare settings to be added to the "Advanced settings" section
+ of the field in the Content-Type Builder
+ */
+ ],
+ validator: (args) => ({
+ format: yup.string().required({
+ id: "options.color-picker.format.error",
+ defaultMessage: "The color format is required",
}),
- },
- });
- },
+ }),
+ },
+ });
+},
};
```
@@ -682,10 +686,10 @@ As compared to how other types of models are defined, custom fields' attributes
- Custom field have a `customField` attribute. Its value acts as a unique identifier to indicate which registered custom field should be used, and follows one of these 2 formats:
- | Format | Origin |
- |----------------------|------------------|
- | `plugin::plugin-name.field-name` | The custom field was created through a plugin |
- | `global::field-name` | The custom field is specific to the current Strapi application and was created directly within the `register` [function](/cms/configurations/functions) |
+ | Format | Origin |
+ |----------------------|------------------|
+ | `plugin::plugin-name.field-name` | The custom field was created through a plugin |
+ | `global::field-name` | The custom field is specific to the current Strapi application and was created directly within the `register` [function](/cms/configurations/functions) |
- Custom fields can have additional parameters depending on what has been defined when registering the custom field (see [server registration](#registering-a-custom-field-on-the-server) and [admin panel registration](#registering-a-custom-field-in-the-admin-panel)).
@@ -694,16 +698,16 @@ As compared to how other types of models are defined, custom fields' attributes
```json title="/src/api/[apiName]/[content-type-name]/content-types/schema.json"
{
- // …
- "attributes": {
- "color": { // name of the custom field defined in the Content-Type Builder
- "type": "customField",
- "customField": "plugin::color-picker.color",
- "options": {
- "format": "hex"
- }
+// …
+"attributes": {
+ "color": { // name of the custom field defined in the Content-Type Builder
+ "type": "customField",
+ "customField": "plugin::color-picker.color",
+ "options": {
+ "format": "hex"
}
}
- // …
+}
+// …
}
```
diff --git a/docusaurus/docs/cms/features/data-management.md b/docusaurus/docs/cms/features/data-management.md
index 95c18a983e..4268cb366a 100644
--- a/docusaurus/docs/cms/features/data-management.md
+++ b/docusaurus/docs/cms/features/data-management.md
@@ -14,6 +14,10 @@ tags:
# 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.
diff --git a/docusaurus/docs/cms/features/draft-and-publish.md b/docusaurus/docs/cms/features/draft-and-publish.md
index c03a4ee6d8..8b629c83ed 100644
--- a/docusaurus/docs/cms/features/draft-and-publish.md
+++ b/docusaurus/docs/cms/features/draft-and-publish.md
@@ -14,6 +14,10 @@ tags:
# 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.
diff --git a/docusaurus/docs/cms/features/email.md b/docusaurus/docs/cms/features/email.md
index 3bd95dee4e..11b57b2fee 100644
--- a/docusaurus/docs/cms/features/email.md
+++ b/docusaurus/docs/cms/features/email.md
@@ -14,6 +14,10 @@ tags:
# 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.
diff --git a/docusaurus/docs/cms/features/internationalization.md b/docusaurus/docs/cms/features/internationalization.md
index 558538a8a8..e9d1a762dc 100644
--- a/docusaurus/docs/cms/features/internationalization.md
+++ b/docusaurus/docs/cms/features/internationalization.md
@@ -13,6 +13,10 @@ tags:
# 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".
diff --git a/docusaurus/docs/cms/features/media-library.md b/docusaurus/docs/cms/features/media-library.md
index a33e556b37..8c7f83782a 100644
--- a/docusaurus/docs/cms/features/media-library.md
+++ b/docusaurus/docs/cms/features/media-library.md
@@ -14,6 +14,10 @@ import MediaLibraryProvidersList from '/docs/snippets/media-library-providers-li
# 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 Media Library is the Strapi feature that displays all assets uploaded in the Strapi application and allows users to manage them.
diff --git a/docusaurus/docs/cms/features/preview.md b/docusaurus/docs/cms/features/preview.md
index 2da484d34c..b4c2b59de2 100644
--- a/docusaurus/docs/cms/features/preview.md
+++ b/docusaurus/docs/cms/features/preview.md
@@ -11,6 +11,10 @@ tags:
# Preview
+
+Preview connects the Content Manager to the front end so editors can see changes before publishing. In this documentation: configuration steps to set preview URLs.
+
+
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.
diff --git a/docusaurus/docs/cms/features/rbac.md b/docusaurus/docs/cms/features/rbac.md
index d88fc208c6..c496d84cd2 100644
--- a/docusaurus/docs/cms/features/rbac.md
+++ b/docusaurus/docs/cms/features/rbac.md
@@ -13,6 +13,10 @@ import ScreenshotNumberReference from '/src/components/ScreenshotNumberReference
# 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.
diff --git a/docusaurus/docs/cms/features/releases.md b/docusaurus/docs/cms/features/releases.md
index c8c2af730f..306bdc72b0 100644
--- a/docusaurus/docs/cms/features/releases.md
+++ b/docusaurus/docs/cms/features/releases.md
@@ -13,6 +13,10 @@ tags:
# Releases
+
+Releases group entries into publishable batches to trigger simultaneous publish or unpublish actions across content types and locales. Instructions in this documentation detail creating releases, adding entries, and understanding plan limitations.
+
+
The Releases feature enables content managers to organize entries into containers that can perform publish and unpublish actions simultaneously. A release can contain entries from different content types and can mix locales.
diff --git a/docusaurus/docs/cms/features/review-workflows.md b/docusaurus/docs/cms/features/review-workflows.md
index ce874951e7..57d7991ed2 100644
--- a/docusaurus/docs/cms/features/review-workflows.md
+++ b/docusaurus/docs/cms/features/review-workflows.md
@@ -12,6 +12,10 @@ tags:
# Review Workflows
+
+Review Workflows define custom multi-stage pipelines for content review, facilitating collaboration from draft to publication. This documentation walks through creating workflows and assigning stages.
+
+
The Review Workflows feature allows you to create and manage workflows for your various content-types. Each workflow can consist of any review stages for your content, enabling your team to collaborate in the content creation flow from draft to publication.
diff --git a/docusaurus/docs/cms/features/sso.md b/docusaurus/docs/cms/features/sso.md
index 7d71ae1e15..d072375020 100644
--- a/docusaurus/docs/cms/features/sso.md
+++ b/docusaurus/docs/cms/features/sso.md
@@ -12,6 +12,10 @@ tags:
# Single Sign-On (SSO)
+
+Single Sign-On (SSO) lets administrators authenticate via identity providers such as Azure AD instead of local passwords. Configuration steps in this documentation cover enabling SSO and mapping roles.
+
+
The Single Sign-On (SSO) feature can be made available on a Strapi application to allow administrators to authenticate through an identity provider (e.g. Microsoft Azure Active Directory).
diff --git a/docusaurus/docs/cms/features/users-permissions.md b/docusaurus/docs/cms/features/users-permissions.md
index e093980af4..46ab2b3ee9 100644
--- a/docusaurus/docs/cms/features/users-permissions.md
+++ b/docusaurus/docs/cms/features/users-permissions.md
@@ -11,6 +11,10 @@ tags:
# 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 💡 **What are end users?** End-users are the users who consume the content that is created and managed with a Strapi application and displayed on front-end applications (e.g. websites, mobile applications, connected devices etc.). Unlike the administrators, they do not have access to the admin panel. 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.
diff --git a/docusaurus/docs/cms/plugins-development/admin-panel-api.md b/docusaurus/docs/cms/plugins-development/admin-panel-api.md
index f803eefdde..779f082484 100644
--- a/docusaurus/docs/cms/plugins-development/admin-panel-api.md
+++ b/docusaurus/docs/cms/plugins-development/admin-panel-api.md
@@ -22,6 +22,10 @@ tags:
# Admin Panel API for plugins
+
+The Admin Panel API exposes `register`, `bootstrap`, and `registerTrads` hooks to inject React components and translations into Strapi’s UI. Menu, settings, injection zone, reducer, and hook APIs let plugins add navigation, configuration panels, or custom actions.
+
+
A Strapi plugin can interact with both the [back end](/cms/plugins-development/server-api) and the front end of a Strapi application. The Admin Panel API is about the front end part, i.e. it allows a plugin to customize Strapi's [admin panel](/cms/intro).
The admin panel is a application that can embed other React applications. These other React applications are the admin parts of each Strapi plugin.
diff --git a/docusaurus/docs/cms/plugins-development/content-manager-apis.md b/docusaurus/docs/cms/plugins-development/content-manager-apis.md
index dfeb321cf6..b5d551399d 100644
--- a/docusaurus/docs/cms/plugins-development/content-manager-apis.md
+++ b/docusaurus/docs/cms/plugins-development/content-manager-apis.md
@@ -11,6 +11,10 @@ tags:
# Content Manager APIs
+
+Content Manager APIs add panels and actions to list or edit views through `addEditViewSidePanel`, `addDocumentAction`, `addDocumentHeaderAction`, or `addBulkAction`. Each API accepts component functions with typed contexts, enabling precise control over document-aware UI injections.
+
+
Content-Manager APIs are part of the [Admin Panel API](/cms/plugins-development/admin-panel-api). They are a way to add content or options from plugins to the [Content-Manager](/cms/features/content-manager), so you can extend the Content-Manager by adding functionality from your own plugin, just like you can do it with [Injection Zones](/cms/plugins-development/admin-panel-api#injection-zones-api).
Strapi 5 provides 4 Content-Manager APIs, all accessible through `app.getPlugin('content-manager').apis`:
diff --git a/docusaurus/docs/cms/plugins-development/create-a-plugin.md b/docusaurus/docs/cms/plugins-development/create-a-plugin.md
index 2a5f9d3c93..15e51f1765 100644
--- a/docusaurus/docs/cms/plugins-development/create-a-plugin.md
+++ b/docusaurus/docs/cms/plugins-development/create-a-plugin.md
@@ -11,6 +11,10 @@ tags:
# Plugin creation
+
+The Plugin SDK generates plugins without a Strapi project and links them to an existing app with `watch:link` and yalc. In this documentation: build and verify commands to bundle the plugin for npm or marketplace publishing, and information for monorepos and local setups.
+
+
There are many ways to create a Strapi 5 plugin, but the fastest and recommended way is to use the Plugin SDK.
The Plugin SDK is a set of commands orientated around developing plugins to use them as local plugins or to publish them on NPM and/or submit them to the Marketplace.
diff --git a/docusaurus/docs/cms/plugins-development/plugins-extension.md b/docusaurus/docs/cms/plugins-development/plugins-extension.md
index 7700ea7181..3c5a464bdd 100644
--- a/docusaurus/docs/cms/plugins-development/plugins-extension.md
+++ b/docusaurus/docs/cms/plugins-development/plugins-extension.md
@@ -14,6 +14,10 @@ tags:
# Plugins extension
+
+Existing plugins can be overriden by placing code in `/src/extensions` or using global `register/bootstrap` hooks. Instructions in this documentation cover reshaping plugin content-type schemas or server logic — altough upstream updates may break extensions.
+
+
Strapi comes with plugins that can be installed from the [Marketplace](/cms/plugins/installing-plugins-via-marketplace#installing-marketplace-plugins-and-providers) or as npm packages. You can also create your own plugins (see [plugins development](/cms/plugins-development/developing-plugins)) or extend the existing ones.
:::warning
diff --git a/docusaurus/docs/cms/plugins/documentation.md b/docusaurus/docs/cms/plugins/documentation.md
index d2432e7000..2fc376a0b7 100644
--- a/docusaurus/docs/cms/plugins/documentation.md
+++ b/docusaurus/docs/cms/plugins/documentation.md
@@ -16,6 +16,10 @@ tags:
# 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 .
diff --git a/docusaurus/docs/cms/plugins/graphql.md b/docusaurus/docs/cms/plugins/graphql.md
index 58450f0512..4286c933f6 100644
--- a/docusaurus/docs/cms/plugins/graphql.md
+++ b/docusaurus/docs/cms/plugins/graphql.md
@@ -19,6 +19,10 @@ tags:
# 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.
diff --git a/docusaurus/docs/cms/plugins/installing-plugins-via-marketplace.md b/docusaurus/docs/cms/plugins/installing-plugins-via-marketplace.md
index 065f982103..70b90f153e 100644
--- a/docusaurus/docs/cms/plugins/installing-plugins-via-marketplace.md
+++ b/docusaurus/docs/cms/plugins/installing-plugins-via-marketplace.md
@@ -11,6 +11,10 @@ tags:
# 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
diff --git a/docusaurus/docs/cms/plugins/sentry.md b/docusaurus/docs/cms/plugins/sentry.md
index cdeee8316d..b07d74c69a 100644
--- a/docusaurus/docs/cms/plugins/sentry.md
+++ b/docusaurus/docs/cms/plugins/sentry.md
@@ -10,6 +10,10 @@ tags:
# 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.
diff --git a/docusaurus/docs/cms/templates.md b/docusaurus/docs/cms/templates.md
index c02f5ff138..bc3b203f27 100644
--- a/docusaurus/docs/cms/templates.md
+++ b/docusaurus/docs/cms/templates.md
@@ -10,6 +10,10 @@ tags:
# 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)).
diff --git a/docusaurus/docs/cms/testing.md b/docusaurus/docs/cms/testing.md
index 77c0a37ba8..03f396eb29 100644
--- a/docusaurus/docs/cms/testing.md
+++ b/docusaurus/docs/cms/testing.md
@@ -9,6 +9,10 @@ tags:
# 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 and .
:::
diff --git a/docusaurus/docs/cms/typescript/development.md b/docusaurus/docs/cms/typescript/development.md
index 8427e0ab4d..8060affdf4 100644
--- a/docusaurus/docs/cms/typescript/development.md
+++ b/docusaurus/docs/cms/typescript/development.md
@@ -9,7 +9,11 @@ tags:
- plugins 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/src/components/Tldr.jsx b/docusaurus/src/components/Tldr.jsx
new file mode 100644
index 0000000000..f1d57984fb
--- /dev/null
+++ b/docusaurus/src/components/Tldr.jsx
@@ -0,0 +1,14 @@
+import React from 'react';
+import Icon from './Icon';
+
+export function Tldr({ children, title = 'Page summary', icon = 'newspaper-clipping', className, ...rest }) {
+ return (
+
+
+ {title}:
+
+ {children}
+
+
+ );
+}
\ No newline at end of file
diff --git a/docusaurus/src/scss/__index.scss b/docusaurus/src/scss/__index.scss
index 3243b1af17..01aff3d63c 100644
--- a/docusaurus/src/scss/__index.scss
+++ b/docusaurus/src/scss/__index.scss
@@ -51,4 +51,5 @@
@use 'table.scss';
@use 'tabs.scss';
@use 'table-of-contents.scss';
+@use 'tldr.scss';
@use 'typography.scss';
diff --git a/docusaurus/src/scss/tldr.scss b/docusaurus/src/scss/tldr.scss
new file mode 100644
index 0000000000..e307230a47
--- /dev/null
+++ b/docusaurus/src/scss/tldr.scss
@@ -0,0 +1,25 @@
+@use './tokens.scss' as *;
+@use './mixins' as *;
+
+.tldr {
+ margin: 0 0 var(--strapi-spacing-10) 0;
+ background-color: transparent;
+ // opacity: .9;
+
+ p {
+ color: var(--strapi-neutral-600);
+
+ strong {
+ display: inline-block;
+ padding-bottom: 6px;
+ }
+ }
+}
+
+@include dark {
+ .tldr {
+ p {
+ color: var(--strapi-neutral-700);
+ }
+ }
+}
\ No newline at end of file
diff --git a/docusaurus/src/theme/MDXComponents.js b/docusaurus/src/theme/MDXComponents.js
index e69b4cdaec..b4121ed4cf 100644
--- a/docusaurus/src/theme/MDXComponents.js
+++ b/docusaurus/src/theme/MDXComponents.js
@@ -23,6 +23,7 @@ import { InteractiveQueryBuilder } from '../components/InteractiveQueryBuilder/I
import { AlphaBadge, BetaBadge, FeatureFlagBadge, EnterpriseBadge, GrowthBadge, SsoBadge, CloudEssentialBadge, CloudProBadge, CloudScaleBadge, NewBadge, UpdatedBadge, VersionBadge } from '../components/Badge';
import { SideBySideColumn, SideBySideContainer } from '../components';
import ThemedImage from '@theme/ThemedImage';
+import { Tldr } from '../components/Tldr.jsx';
import {
MultiLanguageSwitcher,
MultiLanguageSwitcherRequest,
@@ -92,6 +93,7 @@ export default {
BreakingChangeIdCard,
IdentityCard,
IdentityCardItem,
+ Tldr,
DebugComponent,
/**
* Reusable annotation components go below👇
diff --git a/docusaurus/static/llms-full.txt b/docusaurus/static/llms-full.txt
index 0a224469a7..11c841cf6c 100644
--- a/docusaurus/static/llms-full.txt
+++ b/docusaurus/static/llms-full.txt
@@ -1,7 +1,7 @@
# Account billing details
Source: https://docs.strapi.io/cloud/account/account-billing
-# Account billing & invoices
+# Account billing & invoices
Through the *Profile* page, accessible by clicking on your profile picture on the top right hand corner of the interface then clicking on **Profile**, you can access the [ *Billing*](#account-billing) and [ *Invoices*](#account-invoices) tabs.
@@ -277,10 +277,10 @@ If you want to create a custom upload provider, please refer to the [Providers](
-# Command Line Interface (CLI)
+# Command Line Interface (CLI)
Source: https://docs.strapi.io/cloud/cli/cloud-cli
-# Command Line Interface (CLI)
+# Command Line Interface (CLI)
Strapi Cloud comes with a Command Line Interface (CLI) which allows you to log in and out, and to deploy a local project without it having to be hosted on a remote git repository. The CLI works with both the `yarn` and `npm` package managers.
@@ -1464,6 +1464,8 @@ Source: https://docs.strapi.io/cms/admin-panel-customization/homepage
# Homepage customization
+The
+
:::note The API requires Strapi 5.13+
@@ -7708,6 +7710,8 @@ Source: https://docs.strapi.io/cms/features/audit-logs
# Audit Logs
+The Audit Logs feature provides a searchable and filterable display of all activities performed by users of the Strapi application.
+
## Usage
@@ -7751,6 +7755,8 @@ Source: https://docs.strapi.io/cms/features/content-history
# Content History
+The Content History feature, in the
+
## Usage
@@ -7790,6 +7796,8 @@ Source: https://docs.strapi.io/cms/features/content-manager
# Content Manager
+
+
From the
@@ -8101,10 +8109,10 @@ As compared to how other types of models are defined, custom fields' attributes
- Custom field have a `customField` attribute. Its value acts as a unique identifier to indicate which registered custom field should be used, and follows one of these 2 formats:
- | Format | Origin |
- |----------------------|------------------|
- | `plugin::plugin-name.field-name` | The custom field was created through a plugin |
- | `global::field-name` | The custom field is specific to the current Strapi application and was created directly within the `register` [function](/cms/configurations/functions) |
+ | Format | Origin |
+ |----------------------|------------------|
+ | `plugin::plugin-name.field-name` | The custom field was created through a plugin |
+ | `global::field-name` | The custom field is specific to the current Strapi application and was created directly within the `register` [function](/cms/configurations/functions) |
- Custom fields can have additional parameters depending on what has been defined when registering the custom field (see [server registration](#registering-a-custom-field-on-the-server) and [admin panel registration](#registering-a-custom-field-in-the-admin-panel)).
@@ -8113,17 +8121,17 @@ As compared to how other types of models are defined, custom fields' attributes
```json title="/src/api/[apiName]/[content-type-name]/content-types/schema.json"
{
- // …
- "attributes": {
- "color": { // name of the custom field defined in the Content-Type Builder
- "type": "customField",
- "customField": "plugin::color-picker.color",
- "options": {
- "format": "hex"
- }
+// …
+"attributes": {
+ "color": { // name of the custom field defined in the Content-Type Builder
+ "type": "customField",
+ "customField": "plugin::color-picker.color",
+ "options": {
+ "format": "hex"
}
}
- // …
+}
+// …
}
```
@@ -8592,6 +8600,8 @@ Source: https://docs.strapi.io/cms/features/releases
# Releases
+The Releases feature enables content managers to organize entries into containers that can perform publish and unpublish actions simultaneously. A release can contain entries from different content types and can mix locales.
+
## Configuration
@@ -8746,6 +8756,8 @@ Source: https://docs.strapi.io/cms/features/review-workflows
# Review Workflows
+The Review Workflows feature allows you to create and manage workflows for your various content-types. Each workflow can consist of any review stages for your content, enabling your team to collaborate in the content creation flow from draft to publication.
+
## Configuration
@@ -8835,6 +8847,8 @@ Source: https://docs.strapi.io/cms/features/sso
# Single Sign-On (SSO)
+The Single Sign-On (SSO) feature can be made available on a Strapi application to allow administrators to authenticate through an identity provider (e.g. Microsoft Azure Active Directory).
+
## Usage
@@ -10680,6 +10694,8 @@ Source: https://docs.strapi.io/cms/plugins-development/plugins-extension
# Plugins extension
+> Existing plugins can be overriden by placing code in `/src/extensions` or using global `register/bootstrap` hooks. Instructions in this documentation cover reshaping plugin content-type schemas or server logic — altough upstream updates may break extensions.
+
Strapi comes with plugins that can be installed from the [Marketplace](/cms/plugins/installing-plugins-via-marketplace#installing-marketplace-plugins-and-providers) or as npm packages. You can also create your own plugins (see [plugins development](/cms/plugins-development/developing-plugins)) or extend the existing ones.
:::warning
@@ -12420,7 +12436,7 @@ 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
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 bfaf1779f7..20f6d9ddba 100644
--- a/docusaurus/static/llms.txt
+++ b/docusaurus/static/llms.txt
@@ -5,8 +5,8 @@
- [Database](https://docs.strapi.io/cloud/advanced/database): Configure your own database on Strapi Cloud.
- [Email Provider](https://docs.strapi.io/cloud/advanced/email): Configure Strapi Cloud to use a third-party email provider.
- [Upload Provider](https://docs.strapi.io/cloud/advanced/upload): Configure Strapi Cloud to use a third-party upload provider.
-- [Command Line Interface (CLI) ](https://docs.strapi.io/cloud/cli/cloud-cli): Strapi Cloud comes with a Command Line Interface (CLI) which allows you to log in and out, and to deploy a local project without it having to be hoste...
-- [Caching & Performance](https://docs.strapi.io/cloud/getting-started/caching): For Strapi Cloud applications with large amounts of cacheable content, such as images, videos, and other static assets, enabling CDN (Content Delivery...
+- [Command Line Interface (CLI)](https://docs.strapi.io/cloud/cli/cloud-cli):
+- [Caching & Performance](https://docs.strapi.io/cloud/getting-started/caching):
- [Strapi Cloud fundamentals](https://docs.strapi.io/cloud/getting-started/cloud-fundamentals): Before going any further into this Strapi Cloud documentation, we recommend you to acknowledge the main concepts below. They will help you to understa...
- [with Cloud dashboard](https://docs.strapi.io/cloud/getting-started/deployment): Learn how to deploy your Strapi application on Strapi Cloud.
- [with Cloud CLI](https://docs.strapi.io/cloud/getting-started/deployment-cli): Learn how to deploy your Strapi application via the CLI.
@@ -102,7 +102,7 @@
- [Breaking changes](https://docs.strapi.io/cms/migration/v4-to-v5/breaking-changes): View the list of all breaking changes introduced between Strapi v4 and v5.
- [Upgrading to Strapi 5 - Introduction and FAQ](https://docs.strapi.io/cms/migration/v4-to-v5/introduction-and-faq): Learn more about how to upgrade to Strapi 5
- [Step-by-step guide to upgrade to Strapi 5](https://docs.strapi.io/cms/migration/v4-to-v5/step-by-step): Follow this step-by-step guide to upgrade from Strapi v4 to Strapi 5
-- [Admin Panel API](https://docs.strapi.io/cms/plugins-development/admin-panel-api): A Strapi plugin can interact with both the [back end](/cms/plugins-development/server-api) and the front end of a Strapi application. The Admin Panel ...
+- [Admin Panel API](https://docs.strapi.io/cms/plugins-development/admin-panel-api):
- [Content Manager APIs](https://docs.strapi.io/cms/plugins-development/content-manager-apis): The Content Manager APIs reference lists the APIs available to plugins for adding actions and options to the Content Manager List view and Edit view.
- [Plugin creation & setup](https://docs.strapi.io/cms/plugins-development/create-a-plugin): Learn how to use the Plugin SDK to build and publish a Strapi plugin
- [Developing plugins](https://docs.strapi.io/cms/plugins-development/developing-plugins): Generation introduction about Strapi plugins development
@@ -111,11 +111,11 @@
- [How to store and access data from a Strapi plugin](https://docs.strapi.io/cms/plugins-development/guides/store-and-access-data): Learn how to store and access data from a Strapi plugin
- [Plugin SDK](https://docs.strapi.io/cms/plugins-development/plugin-sdk): Reference documentation for Strapi's Plugin SDK commands
- [Plugin structure](https://docs.strapi.io/cms/plugins-development/plugin-structure): Learn more about the structure of a Strapi plugin
-- [Plugins extension](https://docs.strapi.io/cms/plugins-development/plugins-extension): Strapi comes with plugins that can be installed from the [Marketplace](/cms/plugins/installing-plugins-via-marketplace#installing-marketplace-plugins-...
+- [Plugins extension](https://docs.strapi.io/cms/plugins-development/plugins-extension): > Existing plugins can be overriden by placing code in `/src/extensions` or using global `register/bootstrap` hooks. Instructions in this documentatio...
- [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):
- [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.