docs: rename Control Flow Patterns to Common Patterns and add new content#846
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📊 Benchmark Results
workflow with no steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) workflow with 1 step💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Express | Next.js (Turbopack) workflow with 10 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Next.js (Turbopack) | Express | Nitro Promise.all with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Next.js (Turbopack) | Express Promise.all with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Next.js (Turbopack) | Express | Nitro Promise.race with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) Promise.race with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) Stream Benchmarks (includes TTFB metrics)workflow with stream💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Next.js (Turbopack) | Express SummaryFastest Framework by WorldWinner determined by most benchmark wins
Fastest World by FrameworkWinner determined by most benchmark wins
Column Definitions
Worlds:
|
🧪 E2E Test Results❌ Some tests failed Summary
❌ Failed Tests🌍 Community Worlds (161 failed)mongodb (40 failed):
redis (40 failed):
starter (41 failed):
turso (40 failed):
Details by Category✅ ▲ Vercel Production
✅ 💻 Local Development
✅ 📦 Local Production
✅ 🐘 Local Postgres
✅ 🪟 Windows
❌ 🌍 Community Worlds
|
There was a problem hiding this comment.
Pull request overview
This PR overhauls the “Worlds” documentation and UI, introduces a new /worlds section with richer CI test/benchmark visualizations, and renames/expands the “Control Flow Patterns” docs into “Common Patterns,” including the new timeout and workflow-composition patterns plus // @setup support in code blocks.
Changes:
- Renames and extends the “Control Flow Patterns” foundations doc into “Common Patterns,” adding examples for timeouts and workflow composition plus support for hidden
// @setuplines in code blocks. - Introduces a new
/worldslanding page, per-world detail pages (including OpenGraph images), and a benchmark comparison view driven by CI artifacts, with updated world metadata and redirects from the old docs URLs. - Adds a benchmark history API backed by GitHub CI artifacts and corresponding UI components (charts, E2E/performance summaries, globe visualization) to surface compatibility and performance data across worlds.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| worlds-manifest.json | Updates Local/Postgres/Vercel world descriptions and adds an example URL for Postgres, supporting richer world metadata in the new Worlds UI. |
| pnpm-lock.yaml | Locks the new cobe and transitive phenomenon dependencies for the globe visualization. |
| docs/package.json | Adds the cobe dependency used by the Worlds globe component. |
| docs/next.config.ts | Adds redirects from legacy world and control-flow-pattern docs URLs to the new /worlds routes and /docs/foundations/common-patterns. |
| docs/lib/worlds-data.ts | Extends the worlds data fetcher to include framework-level E2E details, workflow timing metrics, and a derived benchmark10SeqMs KPI, plus helpers to fetch a single world and all world IDs. |
| docs/content/docs/worlds/meta.json | Removes the old MDX-based /docs/worlds index to be replaced by the new /worlds app route. |
| docs/content/docs/worlds/index.mdx | Removes the old Worlds ecosystem MDX page in favor of the new Worlds dashboard experience. |
| docs/content/docs/foundations/starting-workflows.mdx | Updates the link from “Control Flow Patterns” to the new “Common Patterns” page. |
| docs/content/docs/foundations/meta.json | Replaces control-flow-patterns with common-patterns in the foundations nav metadata. |
| docs/content/docs/foundations/index.mdx | Updates the card to point to /docs/foundations/common-patterns with a new title and description. |
| docs/content/docs/foundations/control-flow-patterns.mdx | Removes the old patterns page in preparation for the new common-patterns.mdx. |
| docs/content/docs/foundations/common-patterns.mdx | New, expanded “Common Patterns” doc including sequential/parallel patterns, timeout patterns, workflow composition, and a full birthday workflow example, using // @setup-annotated declarations. |
| docs/content/docs/deploying/world/vercel-world.mdx | Rewrites Vercel World docs to align with the new Worlds UX, link to observability, and use <WorldTestingPerformance /> for live CI data. |
| docs/content/docs/deploying/world/postgres-world.mdx | Reworks Postgres World docs with clearer installation, configuration, and deployment guidance and adds <WorldTestingPerformance />. |
| docs/content/docs/deploying/world/local-world.mdx | Simplifies Local World docs to emphasize zero-config usage, observability, configuration knobs, and limitations, and adds <WorldTestingPerformance />. |
| docs/content/docs/deploying/world/index.mdx | Replaces the WIP notice with a fuller explanation of the World abstraction, how to choose worlds, and how to build/contribute worlds, linking to the new /worlds ecosystem. |
| docs/components/worlds/types.ts | Extends typings to include per-framework E2E data, new benchmark timing fields (workflow vs wall time, TTFB, slurp), an example URL, and a benchmark10SeqMs KPI, plus a formatTime helper. |
| docs/components/worlds/index.ts | Re-exports new world UI components (detail hero/TOC, instructions, testing/performance, benchmark history) for use across the docs/app. |
| docs/components/worlds/WorldTestingPerformanceMDX.tsx | Wraps WorldTestingPerformance in a context-based MDX component that pulls world data from WorldDataProvider. |
| docs/components/worlds/WorldTestingPerformance.tsx | New client component that renders E2E test summaries, benchmark tables (standard and streaming), and an interactive history chart per world. |
| docs/components/worlds/WorldInstructions.tsx | New component rendering installation/usage and GitHub/docs links for community worlds. |
| docs/components/worlds/WorldDetailToc.tsx | New sticky “On this page” TOC that tracks the active section via IntersectionObserver on world detail pages. |
| docs/components/worlds/WorldDetailHero.tsx | New hero section for /worlds/[id] pages with badges, install snippets (for community worlds), quick E2E/PERF stats, and npm/GitHub/example links. |
| docs/components/worlds/WorldDataProvider.tsx | Provides world and CI metadata via React context for world detail pages and MDX components. |
| docs/components/worlds/WorldCardSimple.tsx | New simplified card used on the /worlds landing page, showing basic info plus condensed E2E and PERF indicators. |
| docs/components/worlds/WorldCard.tsx | Tweaks the existing dashboard card to compute E2E pass percentage excluding skipped tests and removes the unused community emoji and average benchmark summary. |
| docs/components/worlds/Globe.tsx | New animated globe visualization using cobe that adapts to theme and supports pointer drag. |
| docs/components/worlds/BenchmarkHistoryChart.tsx | New dialog-driven chart showing benchmark history over releases/commits using Recharts and linking out to GitHub; powers the per-metric history view in WorldTestingPerformance. |
| docs/components/worlds/BenchmarkChart.tsx | Updates benchmark comparison table/bar to use formatTime for displaying durations in ms/s and to consume the extended benchmark metrics. |
| docs/components/geistdocs/code-block.tsx | Enhances the docs code block to hide any lines containing // @setup in the rendered view while retaining them in the underlying code for type checking. |
| docs/app/worlds/page.tsx | New /worlds landing page with hero, stats, grid of WorldCardSimples, a placeholder provider benchmark visualization, explanation of Worlds, and contribution CTA, backed by getWorldsData(). |
| docs/app/worlds/layout.tsx | Wraps the Worlds routes in the shared HomeLayout with appropriate padding. |
| docs/app/worlds/compare/page.tsx | New (non-indexed) /worlds/compare page that renders the full BenchmarkChart overview and per-benchmark BenchmarkBars using getWorldsData(). |
| docs/app/worlds/[id]/page.tsx | New /worlds/[id] detail page that stitches together the hero, MDX-based official documentation, or templated community docs, plus the sticky TOC, via WorldDataProvider. |
| docs/app/worlds/[id]/opengraph-image.tsx | Adds per-world OpenGraph image generation using getWorldIds/getWorldData for rich link previews. |
| docs/app/layout.tsx | Adds a “Worlds” link to the global navigation bar pointing at the new /worlds section. |
| docs/app/docs/[[...slug]]/page.tsx | Registers WorldTestingPerformance as a no-op in the docs MDX context to avoid mismatch when world MDX pages are statically generated outside /worlds. |
| docs/app/api/benchmark-history/route.ts | New API route that aggregates benchmark history by walking GitHub gh-pages CI artifacts and main/tags history, feeding BenchmarkHistoryChart. |
| .github/scripts/generate-docs-data.js | Extends benchmark parsing to record separate workflow execution times, min/max, TTFB, and slurp metrics used by the Worlds dashboard and history charts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Update title format to '{Name} World | Workflow DevKit'
- Update worlds index page title to 'Worlds | Workflow DevKit'
- Improve world descriptions in worlds-manifest.json for better SEO
- Add dynamic OG image generation at /worlds/[id]/og
- Add openGraph and twitter metadata to world detail pages
- Replace route-based og/route.tsx with opengraph-image.tsx file convention - Remove runtime = 'edge' to allow generateStaticParams for static generation - Simplify page.tsx metadata (Next.js auto-detects opengraph-image.tsx)
…tent - Rename page from control-flow-patterns to common-patterns - Add redirect for old URL to prevent broken external links - Add new Timeout Pattern section (Promise.race with sleep) - Add new Workflow Composition section (direct await vs background execution) - Implement @setup comment marker to hide type declarations in code examples - Update navigation and references to new page name
The Full Example only demonstrates sequential and parallel execution, so it should come before the new Timeout and Workflow Composition patterns.
…s-and-commands * origin/main: fix(@workflow/ai): support provider-executed tools (AI SDK v6) (#734) Publish "workflow" and "@workflow/core" package versions in sync (#870) Add SDK version to workflow run executionContext for observability (#868) Allow recreateRun to accept an optional deploymentId parameter (#869) Add support for top-level `using` declarations inside of step / workflow functions (#866) docs: URL in docs was missing the docs/ prefix, 404 errors (#852) Add "classes" object to `manifest.json` file (#864) Fix Nest workbench app build (#865) Ignore Astro on local dev tests for source map e2e tests (#863) Enable custom class serialization transformations for "client" mode (#860) Submit request bodies with CBOR encoding (#844) [world-vercel] Update queue to use VQS v3 API (#799) NestJS framework support (#840) Fix resolve hook theming and token fetching. (#856) docs: rename Control Flow Patterns to Common Patterns and add new content (#846) docs: revamp World documentation pages (#763) Remove unused `getWritable` stub function (#855) # Conflicts: # packages/core/package.json # pnpm-lock.yaml
Summary
Renames the "Control Flow Patterns" documentation page to "Common Patterns" and expands it with new content.
Changes
Page Rename
control-flow-patterns.mdx→common-patterns.mdxNew Content
Promise.racewithsleep()to add timeouts to steps, hooks, and webhooksCode Block Enhancement
// @setupcomment marker that hides lines from rendered outputuseEffectin the CodeBlock componentTesting