Files
webstudio/docs
Oleg Isonen d78e770d82 perf: Keep article indexing out of publish API requests (#6427)
Ref #6416

The publish workflow was doing too much work in one short-lived API
request. This moves content indexing into the build runner and keeps
article bodies out of hosted/SSR sync.

## What changed

- The build-bundle API can return the lightweight project bundle without
preparing a full content index.
- The CLI downloads required assets directly from storage and builds the
index locally for SSG. Asset downloads remain bounded to 10 concurrent
requests.
- Hosted/SSR sync skips Markdown and MDX article downloads and does not
compile an article index. It still downloads regular assets needed by
the build.
- Markdown body queries use stored frontmatter and fetch only the
requested article at runtime. MDX still needs source downloads and
compilation for SSG.
- Public MCP and content-engine docs explain the Markdown/MDX tradeoff.

This removes article parsing and article-body transfer from the tRPC
request. SSG still downloads article sources from storage and compiles
MDX in the build runner. Hosted runtime article reads remain on demand.

## Checklist

- [x] Keep the tRPC bundle request limited to project metadata and
necessary records.
- [x] Prepare SSG content indexes in the build runner; keep hosted
article bodies out of sync.
- [x] Cover no-body query preparation, direct asset reads, and
SSG-versus-hosted sync behavior with regression tests.
- [x] Update public CLI, MCP, and content-engine guidance.
- [x] Regenerate and verify fixtures.
- [x] Run workspace tests, typechecks, lint, formatting,
package-boundary, generated API/docs, and fixture-size checks.
- [ ] Verify the deployed publish flow has comfortable margin below the
hosted API timeout.

## Verification

- `pnpm -r --workspace-concurrency=1 test`: passed, including all 3,082
Builder tests and 1,150 CLI tests.
- `pnpm -r typecheck`, `pnpm lint`, `pnpm check:package-boundaries`,
`pnpm check:generated-api`, `pnpm check:generated-docs`, `pnpm
check:fixture-sizes`, and `pnpm exec oxfmt --check`: passed.
- The new hosted article-download regression test was confirmed to fail
with the old behavior and pass after the fix.
- A deployed end-to-end publish timing check is still needed, so this PR
remains draft.
2026-09-26 11:56:37 +02:00
..

description
description
New to Webstudio?

👋 Welcome

Our getting started guide will help you navigate through building your first Webstudio website. It covers the essentials of creating web designs and integrating third-party tools. You'll learn how to utilize Webstudio's unique features like Design tokens and Components, and how to contribute to the project.

Get started


{% content-ref url="basics/building-your-first-site.md" %} building-your-first-site.md {% endcontent-ref %}

{% content-ref url="university/foundations/" %} foundations {% endcontent-ref %}

{% content-ref url="university/core-components/" %} core-components {% endcontent-ref %}

{% content-ref url="university/cli.md" %} cli.md {% endcontent-ref %}

{% content-ref url="university/inception.md" %} inception.md {% endcontent-ref %}

{% content-ref url="university/radix/" %} radix {% endcontent-ref %}

{% content-ref url="university/marketplace.md" %} marketplace.md {% endcontent-ref %}

{% content-ref url="university/self-hosting/" %} self-hosting {% endcontent-ref %}

{% content-ref url="university/how-tos/" %} how-tos {% endcontent-ref %}

{% content-ref url="university/integrations/" %} integrations {% endcontent-ref %}

{% content-ref url="university/craft.md" %} craft.md {% endcontent-ref %}

{% content-ref url="basics/FAQ.md" %} FAQ.md {% endcontent-ref %}

Looking to contribute to Webstudio?

{% content-ref url="contributing/contributions.md" %} contributions.md {% endcontent-ref %}

{% content-ref url="contributing/marketplace.md" %} marketplace.md {% endcontent-ref %}