Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

## Redirects

Redirects from old URLs to new ones are managed via the [`.gitbook.yaml`](./.gitbook.yaml) file. This ensures continued access to content after pages are renamed or relocated.
Redirects from old URLs to new ones are managed via the [`.gitbook.yaml`](https://github.com/shopware/docs/blob/main/.gitbook.yaml) file. This ensures continued access to content after pages are renamed or relocated.

When deleting, moving or renaming pages, compare your branch against `main`, identify the moved files, and add corresponding redirects to `.gitbook.yaml` following the existing patterns.

Expand All @@ -34,19 +34,19 @@

## Workflows

They are defined in the [`.github/workflows`](./.github/workflows/) folder and help the DX team to maintain the documentation. The workflows are triggered by events like `push`, `pull_request`, `schedule` and `workflow_dispatch`. The workflows are used to build, test, and deploy the documentation. If a PR pipeline fails, the PR will be marked as failed, and it won't be possible to merge it. In this case, check the below-mentioned workflows to see what went wrong and where to fix it.
They are defined in the [`.github/workflows`](https://github.com/shopware/docs/tree/main/.github/workflows) folder and help the DX team to maintain the documentation. The workflows are triggered by events like `push`, `pull_request`, `schedule` and `workflow_dispatch`. The workflows are used to build, test, and deploy the documentation. If a PR pipeline fails, the PR will be marked as failed, and it won't be possible to merge it. In this case, check the below-mentioned workflows to see what went wrong and where to fix it.

Check warning on line 37 in README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] README.md#L37

The official name of this software platform is spelled with a capital “H”. (GITHUB[1]) Suggestions: `GitHub` URL: https://en.wikipedia.org/wiki/GitHub Rule: https://community.languagetool.org/rule/show/GITHUB?lang=en-US&subId=1 Category: CASING
Raw output
README.md:37:27: The official name of this software platform is spelled with a capital “H”. (GITHUB[1])
 Suggestions: `GitHub`
 URL: https://en.wikipedia.org/wiki/GitHub 
 Rule: https://community.languagetool.org/rule/show/GITHUB?lang=en-US&subId=1
 Category: CASING

### Grammar and language check

All changed content is checked with Reviewdog for grammar and language. The configuration for Reviewdog can be found in [`.reviewdog.yml`](./.github/workflows/reviewdog.yml). It will create warnings in the pull request if the language or grammar is not correct. A more in-depth explanation can be found in [Language and Grammar](./resources/guidelines/documentation-guidelines/03-language-and-grammar.md) section.
All changed content is checked with Reviewdog for grammar and language. The configuration for Reviewdog can be found in [`.reviewdog.yml`](https://github.com/shopware/docs/blob/main/.github/workflows/reviewdog.yml). It will create warnings in the pull request if the language or grammar is not correct. A more in-depth explanation can be found in [Language and Grammar](./resources/guidelines/documentation-guidelines/03-language-and-grammar.md) section.
Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link label says .reviewdog.yml, but the target points to .github/workflows/reviewdog.yml, and there is no .reviewdog.yml file in the repo. This is misleading and looks like a broken reference for readers—either update the label to match the actual file name/location or link to the real Reviewdog config if it exists elsewhere.

Copilot uses AI. Check for mistakes.

### Markdown check

The markdown files are checked with [markdown-lint](https://github.com/avto-dev/markdown-lint) to identify issues such as formatting errors, style inconsistencies, etc. By doing so, it facilitates the creation of well-structured and consistent Markdown documents.. The configuration for markdown-lint can be found in [`markdown-style-check.yml`](./.github/workflows/markdown-style-check.yml).
The markdown files are checked with [markdown-lint](https://github.com/avto-dev/markdown-lint) to identify issues such as formatting errors, style inconsistencies, etc. By doing so, it facilitates the creation of well-structured and consistent Markdown documents.. The configuration for markdown-lint can be found in [`markdown-style-check.yml`](https://github.com/shopware/docs/blob/main/.github/workflows/markdown-style-check.yml).

Check warning on line 45 in README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] README.md#L45

Two consecutive dots (DOUBLE_PUNCTUATION) Suggestions: `.`, `…` URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-periods Rule: https://community.languagetool.org/rule/show/DOUBLE_PUNCTUATION?lang=en-US Category: PUNCTUATION
Raw output
README.md:45:262: Two consecutive dots (DOUBLE_PUNCTUATION)
 Suggestions: `.`, `…`
 URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-periods 
 Rule: https://community.languagetool.org/rule/show/DOUBLE_PUNCTUATION?lang=en-US
 Category: PUNCTUATION
Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a double period in “Markdown documents..”. Please remove the extra '.' to avoid a typo in the rendered README.

Copilot uses AI. Check for mistakes.

### Spellcheck

The markdown files are checked with [py-spelling](https://facelessuser.github.io/pyspelling/) to rectify spelling errors. The configuration for py-spelling can be found in [`.spellcheck.yml`](./.spellcheck.yml).
The markdown files are checked with [py-spelling](https://facelessuser.github.io/pyspelling/) to rectify spelling errors. The configuration for py-spelling can be found in [`.spellcheck.yml`](https://github.com/shopware/docs/blob/main/.spellcheck.yml).

#### Via Docker

Expand All @@ -64,7 +64,7 @@

#### Excluding words

To exclude a word from being spellchecked, add it to the [`.wordlist.txt`](./.wordlist.txt) file.
To exclude a word from being spellchecked, add it to the [`.wordlist.txt`](https://github.com/shopware/docs/blob/main/.wordlist.txt) file.
Make sure to add the word at the right position, as the file doesn't automatically sort alphabetically.
You can use the following command to sort the file:

Expand All @@ -74,15 +74,15 @@

### Media file format check

The `/docs/assets` folder stores images, videos, and other files linked in markdown. They follow the naming convention outlined in [Methodize Assets](./resources/guidelines/documentation-guidelines/05-methodize-assets.md#visual-diagram-guidelines). The [`file-format-check.yml`](.github/workflows/file-format-check.yml) ensures adherence to these naming guidelines.
The `/docs/assets` folder stores images, videos, and other files linked in markdown. They follow the naming convention outlined in [Methodize Assets](./resources/guidelines/documentation-guidelines/05-methodize-assets.md#visual-diagram-guidelines). The [`file-format-check.yml`](https://github.com/shopware/docs/blob/main/.github/workflows/file-format-check.yml) ensures adherence to these naming guidelines.

Check warning on line 77 in README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] README.md#L77

Did you mean the formatting language “Markdown” (= proper noun)? (MARKDOWN_NNP[1]) Suggestions: `Markdown` URL: https://en.wikipedia.org/wiki/Markdown Rule: https://community.languagetool.org/rule/show/MARKDOWN_NNP?lang=en-US&subId=1 Category: GRAMMAR
Raw output
README.md:77:75: Did you mean the formatting language “Markdown” (= proper noun)? (MARKDOWN_NNP[1])
 Suggestions: `Markdown`
 URL: https://en.wikipedia.org/wiki/Markdown 
 Rule: https://community.languagetool.org/rule/show/MARKDOWN_NNP?lang=en-US&subId=1
 Category: GRAMMAR
Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This refers to a /docs/assets folder, but this repository uses the top-level assets/ directory (and there is no docs/ directory). Consider updating the path in the text to match the actual location to avoid confusing contributors.

Suggested change
The `/docs/assets` folder stores images, videos, and other files linked in markdown. They follow the naming convention outlined in [Methodize Assets](./resources/guidelines/documentation-guidelines/05-methodize-assets.md#visual-diagram-guidelines). The [`file-format-check.yml`](https://github.com/shopware/docs/blob/main/.github/workflows/file-format-check.yml) ensures adherence to these naming guidelines.
The `assets/` folder stores images, videos, and other files linked in markdown. They follow the naming convention outlined in [Methodize Assets](./resources/guidelines/documentation-guidelines/05-methodize-assets.md#visual-diagram-guidelines). The [`file-format-check.yml`](https://github.com/shopware/docs/blob/main/.github/workflows/file-format-check.yml) ensures adherence to these naming guidelines.

Copilot uses AI. Check for mistakes.

### External link check

[Lychee](https://github.com/lycheeverse/lychee) is used to check if external links are working properly or broken. The configuration for lychee can be found in [`validate-external-links.yml`](./.github/workflows/validate-external-links.yml).
[Lychee](https://github.com/lycheeverse/lychee) is used to check if external links are working properly or broken. The configuration for lychee can be found in [`validate-external-links.yml`](https://github.com/shopware/docs/blob/main/.github/workflows/validate-external-links.yml).

### Synced files

Certain files within the `shopware/shopware` repository are duplicated in the `shopware/docs` repository for reference purposes. Any modifications made to the former files will automatically synchronize with the corresponding files in the latter repository by the [`update-adrs`](./.github/workflows/update-adrs.yml) workflow.
Certain files within the `shopware/shopware` repository are duplicated in the `shopware/docs` repository for reference purposes. Any modifications made to the former files will automatically synchronize with the corresponding files in the latter repository by the [`update-adrs`](https://github.com/shopware/docs/blob/main/.github/workflows/update-adrs.yml) workflow.

| `shopware/shopware` files | `shopware/docs` files |
|-----------------------|-------------------------------------------|
Expand Down
2 changes: 1 addition & 1 deletion concepts/commerce/catalog/products.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,6 @@ It is important to understand the difference between those two because both prov

## Configurator

When a variant product is loaded for a [Store API](../../api/store-api)-scoped request, Shopware assembles a configurator object which includes all different property groups and the corresponding variants. This way client applications, such as the [Storefront](../../../guides/plugins/plugins/storefront/) or [Composable Frontends](../../../../frontends/) can display the different variant options of the product.
When a variant product is loaded for a [Store API](../../api/store-api)-scoped request, Shopware assembles a configurator object which includes all different property groups and the corresponding variants. This way client applications, such as the [Storefront](../../../guides/plugins/plugins/storefront/) or [Composable Frontends](https://frontends.shopware.com/) can display the different variant options of the product.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why though? Aren't we migrating away from frontends.shopware.com?


The following section is a detailed understanding on category.
2 changes: 1 addition & 1 deletion concepts/commerce/content/shopping-experiences-cms.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ Since Shopware v6.6.7, you can also intercept the entire CMS resolution pipeline

The CMS is designed in a way that doesn't fix it to a single presentation channel \(also referred to it as "headless"\). What at first might seem like an unnecessary abstraction turns out to give us a lot of flexibility. Each presentation channel can have its own twist on interpreting the content and displaying it to the user. A browser can leverage the [Shopware Storefront](../../../guides/plugins/plugins/storefront/) and display the HTML or use the resulting markup from a single page application that interprets the API responses. A native mobile application can strip out unnecessary blocks and only display texts and images as view components. A smart speaker simply reads out the content of elements with the `voice` type.

By default, Shopware provides the server-side rendered Storefront as a default presentation channel, but [Composable Frontends](../../../../frontends/) also supports CMS pages. Using the CMS through the API, you will have full flexibility in how to display your content.
By default, Shopware provides the server-side rendered Storefront as a default presentation channel, but [Composable Frontends](https://frontends.shopware.com/) also supports CMS pages. Using the CMS through the API, you will have full flexibility in how to display your content.

::: info
All this comes at a price: The admin preview of your content is only as representative of your content presentation as your presentation channel resembles it. **A major implication for headless frontends.**
Expand Down
2 changes: 1 addition & 1 deletion concepts/extensions/apps-concept.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,4 @@ This functionality is available starting with Shopware 6.4.8.0.
This functionality is available starting with Shopware 6.4.12.0.
:::

Your app may introduce custom conditions for use in the [Rule builder](../framework/rules). For additional information refer to [Add custom rule conditions](../../guides/plugins/apps/rule-builder/add-custom-rule-conditions) from the guides.
Your app may introduce custom conditions for use in the [Rule builder](../../guides/plugins/apps/rule-builder/). For additional information refer to [Add custom rule conditions](../../guides/plugins/apps/rule-builder/add-custom-rule-conditions) from the guides.
4 changes: 2 additions & 2 deletions guides/development/integrations-api/search-criteria.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ The `page` and `limit` parameters can be used to control pagination. The `page`

### `filter`

The `filter` parameter allows you to filter results and aggregations using multiple filters and parameters. The filter types are equivalent to the filters available for the DAL. See [Filters Reference](../../../resources/references/core-reference/dal-reference/filters-reference.md)
The `filter` parameter allows you to filter results and aggregations using multiple filters and parameters. The filter types are equivalent to the filters available for the DAL. See [Reading data](../../../guides/plugins/plugins/framework/data-handling/reading-data.md#filtering)

::: info
When you are filtering for nested values - for example, you are filtering orders by their transaction state \(`order.transactions.stateMachineState`\) - make sure to fetch those in your `associations` field before.
Expand Down Expand Up @@ -425,7 +425,7 @@ The aggregation types are equivalent to the aggregations available in the DAL:
}
```

See [Aggregations Reference](../../../resources/references/core-reference/dal-reference/aggregations-reference.md)
See [Reading data](../../../guides/plugins/plugins/framework/data-handling/reading-data.md#aggregations)

## `grouping`

Expand Down
2 changes: 1 addition & 1 deletion guides/plugins/apps/app-scripts/custom-endpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ The possible route scopes are `storefront`, `store-api`, `api` and `administrati
## Custom Endpoints

There are specialized script-execution endpoints for the `api`, `store-api` and `storefront` scopes.
Refer to the [API docs](../../../integrations-api/) for more information on the distinction of those APIs.
Refer to the [API docs](../../../../guides/development/integrations-api/) for more information on the distinction of those APIs.
Those endpoints allow you to trigger the execution of your scripts with an HTTP request against those endpoints.

Custom endpoint scripts need to be located in a folder that is prefixed with the name of the api scope (one of `api-`, `store-api-` or `storefront`).
Expand Down
4 changes: 2 additions & 2 deletions guides/plugins/apps/app-scripts/data-loading.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ All those methods can be used in the same way. First, you pass the entity name t
### Search criteria

The search criteria define how the search is performed and what data is included.
The criteria object that is used inside the app scripts behaves and looks the same as the [JSON criteria used for the API](../../../integrations-api/general-concepts/search-criteria).
The criteria object that is used inside the app scripts behaves and looks the same as the [JSON criteria used for the API](../../../../guides/development/integrations-api/search-criteria).

So please refer to that documentation to get an overview of what features can be used inside a criteria object.

Expand Down Expand Up @@ -113,7 +113,7 @@ One major difference is that when using the `repository` service, your app needs

Refer to the [App Base Guide](../app-base-guide#permissions) for more information on how permissions work for apps.

The `repository` service exposes the same data as the CRUD-operations of the [Admin API](../../../integrations-api/#backend-facing-integrations---admin-api), whereas the `store` service gives access to the same data as the [Store API](../../../integrations-api/#customer-facing-interactions---store-api).
The `repository` service exposes the same data as the CRUD-operations of the [Admin API](../../../../guides/development/integrations-api/#backend-facing-integrations---admin-api), whereas the `store` service gives access to the same data as the [Store API](../../../../guides/development/integrations-api/#customer-facing-interactions---store-api).
Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The updated links use anchors #backend-facing-integrations---admin-api and #customer-facing-interactions---store-api, but guides/development/integrations-api/index.md does not contain headings that generate these anchors (it has ## Admin API / ## Store API). This makes the new links broken; update the anchors (e.g., #admin-api / #store-api) or link directly to the correct section/page.

Suggested change
The `repository` service exposes the same data as the CRUD-operations of the [Admin API](../../../../guides/development/integrations-api/#backend-facing-integrations---admin-api), whereas the `store` service gives access to the same data as the [Store API](../../../../guides/development/integrations-api/#customer-facing-interactions---store-api).
The `repository` service exposes the same data as the CRUD-operations of the [Admin API](../../../../guides/development/integrations-api/#admin-api), whereas the `store` service gives access to the same data as the [Store API](../../../../guides/development/integrations-api/#store-api).

Copilot uses AI. Check for mistakes.

For a full description of the `repository` and `store` service, take a look at the [services reference](../../../../resources/references/app-reference/script-reference/data-loading-script-services-reference).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ public function readData(Context $context): void

So now you'll find all products, that either have the mentioned `id` OR the mentioned `name`. The `OrFilter` can be found here: `Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\OrFilter`.

You can find an example for each of the available filters in our [DAL reference about filters](../../../../../resources/references/core-reference/dal-reference/filters-reference).
You can find an example for each of the available filters in our [Search Criteria documentation](../../../../../guides/development/integrations-api/search-criteria#filter).

#### Post filters

Expand All @@ -177,7 +177,7 @@ This example does not contain any aggregation, since they're only explained late

**Other filters**

There is more than just an `EqualsFilter`, which is the SQL equivalent of `WHERE fieldX = valueX`. You can find all other filters either on [GitHub](https://github.com/shopware/shopware/tree/trunk/src/Core/Framework/DataAbstractionLayer/Search/Filter) or in our [filters reference](../../../../../resources/references/core-reference/dal-reference/filters-reference) with explanation.
There is more than just an `EqualsFilter`, which is the SQL equivalent of `WHERE fieldX = valueX`. You can find all other filters either on [GitHub](https://github.com/shopware/shopware/tree/trunk/src/Core/Framework/DataAbstractionLayer/Search/Filter) or in our [Search Criteria documentation](../../../../../guides/development/integrations-api/search-criteria#filter) with explanation.

#### Associations

Expand Down Expand Up @@ -292,7 +292,7 @@ public function readData(Context $context): void

Important to note here is that you have to remove the `first()` call, because we do **not** need the entity itself but the `EntitySearchResult` here instead. The `AvgAggregation` class can be found here: `Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\AvgAggregation`

A list of all available aggregations can be found on [GitHub](https://github.com/shopware/shopware/tree/trunk/src/Core/Framework/DataAbstractionLayer/Search/Aggregation) or in the [DAL aggregations reference](../../../../../resources/references/core-reference/dal-reference/aggregations-reference).
A list of all available aggregations can be found on [GitHub](https://github.com/shopware/shopware/tree/trunk/src/Core/Framework/DataAbstractionLayer/Search/Aggregation) or in the [Search Criteria documentation](../../../../../guides/development/integrations-api/search-criteria#aggregations).

#### Limiting, paging and sorting

Expand Down
2 changes: 1 addition & 1 deletion products/digital-sales-rooms/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Review the below minimum operating requirements before you install the *Digital
* [pnpm](https://pnpm.io/installation) >= 8
* [Shopware Frontends framework](https://frontends.shopware.com/) based on Nuxt 3.
* Instance of [Shopware 6](../../guides/installation/) (version 6.6.0 and above).
* Recommend installing with [devenv](../../guides/installation/setups/devenv.md)
* Recommend installing with [devenv](../../guides/installation/legacy-setups/devenv-setup.md)
* Third party services:
* [Daily.co](https://www.daily.co/) - Refer to setup instructions for [realtime video call](./setup-3rd-party/realtime-video-dailyco.md)
* [Mercure](https://mercure.rocks/)- Refer to setup instructions for [realtime Mercure service](./setup-3rd-party/realtime-service-mercure.md)
Loading