Skip to content

Replace polyglot AppHost with TypeScript AppHost, fork getting started paths#556

Merged
IEvangelist merged 8 commits intorelease/13.2from
typescript-apphost
Mar 19, 2026
Merged

Replace polyglot AppHost with TypeScript AppHost, fork getting started paths#556
IEvangelist merged 8 commits intorelease/13.2from
typescript-apphost

Conversation

@davidfowl
Copy link
Contributor

Summary

Fork the getting started funnel into C# and TypeScript AppHost paths. A TypeScript developer can now go from zero to running an Aspire app without ever encountering .NET SDK as a prerequisite.

Changes

Path forking (the big narrative shift)

  • Prerequisites page — Added PivotSelector with C#/TypeScript options. TypeScript path requires only Node.js + Docker + VS Code with Aspire extension (no .NET SDK, no C# extension)
  • Install CLI page — Removed ".NET 10.0 SDK required" framing. CLI is presented as a standalone tool
  • What is Aspire page — Added TypeScript AppHost code example tab alongside C#. Changed "type-safe C#" → "type-safe code"
  • AppHost explainer — Added TypeScript AppHost structure tab. Updated LearnMore link
  • SimpleAppHostCode component — Added typescript variant with three-tier architecture example

Renames and redirects

  • Renamed polyglot-apphost.mdxtypescript-apphost.mdx (+ migration + troubleshooting)
  • Added redirects from old /app-host/polyglot-* URLs to new /app-host/typescript-apphost-* URLs
  • Updated sidebar: "Polyglot" → "TypeScript AppHost"
  • Added (Preview) to TypeScript AppHost page titles

Terminology

  • Replaced "polyglot" → "multi-language" across all docs, metadata, SEO keywords, and localized pages
  • Removed polyglotSupportEnabled from config examples (feature is on by default)

CLI accuracy fixes

  • Fixed aspire run --debugaspire run --log-level Debug (the --debug flag doesn't exist)
  • Removed stale config flags from settings table: dotnetSdkInstallationEnabled, minimumSdkCheckEnabled, orphanDetectionWithTimestampEnabled, packageSearchDiskCachingEnabled, runningInstanceDetectionEnabled, stagingChannelEnabled

Files changed (34 files)

  • 3 renamed (polyglot-*typescript-apphost-*)
  • Config: redirects.mjs, sidebar/docs.topics.ts, astro.config.mjs, head.attrs.ts
  • Components: SimpleAppHostCode.astro
  • Getting started: prerequisites.mdx, install-cli.mdx, what-is-aspire.mdx, app-host.mdx, first-app.mdx, add-aspire-existing-app.mdx
  • Reference: cli/configuration.mdx, config-settings-table.md, cli/overview.mdx
  • What's new: aspire-13.mdx, aspire-13-1.mdx, aspire-13-2.mdx
  • Other: index.mdx, resource-model.mdx, aspireats001.mdx, integrations/index.mdx, videos.mdx, thanks.mdx, localized index pages (fr/de/da/ja)

Testing

  • Verified all pages render correctly using the Astro dev server
  • Ran Playwright-based audit from a "TypeScript developer who has never used .NET" persona across all key pages
  • Verified CLI commands referenced in docs match actual aspire CLI 13.2.0 flags
  • Confirmed redirect from /app-host/polyglot-apphost//app-host/typescript-apphost/ works

davidfowl and others added 6 commits March 18, 2026 23:24
…d paths

- Rename polyglot-apphost/migration/troubleshooting docs to typescript-apphost-*
- Add redirects from old polyglot URLs to new typescript-apphost URLs
- Fork prerequisites page with C# AppHost / TypeScript AppHost pivot
  - TypeScript path: Node.js + Docker + VS Code (no .NET required)
  - C# path: .NET SDK + Docker + VS Code/VS/Rider
- Add TypeScript AppHost code example to 'What is Aspire' page
- Add TypeScript AppHost structure tab to AppHost explainer page
- Add TypeScript variant to SimpleAppHostCode component
- Remove .NET SDK requirement from CLI install page
- Replace 'polyglot' with 'multi-language' across all docs
- Remove polyglotSupportEnabled from config examples (on by default)
- Update sidebar: Polyglot -> TypeScript AppHost
- Update all cross-references and link text site-wide
- Add (Preview) to TypeScript AppHost page titles

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Remove stale config flags from settings table and JSON example:
  dotnetSdkInstallationEnabled, minimumSdkCheckEnabled,
  orphanDetectionWithTimestampEnabled, packageSearchDiskCachingEnabled,
  runningInstanceDetectionEnabled, stagingChannelEnabled,
  polyglotSupportEnabled
- Fix aspire run --debug (doesn't exist) to aspire run --log-level Debug

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The VS Code C# extension was showing for both C# and TypeScript
paths on the prerequisites page. Now only shown for C#.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Change 'type-safe C#' to 'type-safe code' since the section
now shows both C# and TypeScript AppHost examples.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a language switcher to the interactive AppHost code builder on the
landing page. TypeScript variants use Express for the API service
(addNodeApp) while C# uses AddProject, matching each ecosystem's
natural patterns. All 31 toggle combinations work in both languages.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Member

@IEvangelist IEvangelist left a comment

Choose a reason for hiding this comment

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

LGTM, just a few nits/questions.

…word

- Remove .aspire/settings.json from TypeScript AppHost file tree
  (only aspire.config.json is needed)
- Add polyglot back as an SEO keyword alongside multi-language
  to preserve search ranking

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Contributor Author

@davidfowl davidfowl left a comment

Choose a reason for hiding this comment

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

Addressed both review comments in c365999:

SEO keywords: Good call — added polyglot back as an SEO keyword alongside multi-language so we don't lose search ranking. Both terms are now in the keywords meta tag.

TS AppHost file tree: Fixed — removed .aspire/settings.json from the file tree. Now only shows aspire.config.json as the root config file.

@IEvangelist IEvangelist merged commit 4e60658 into release/13.2 Mar 19, 2026
1 check passed
@IEvangelist IEvangelist deleted the typescript-apphost branch March 19, 2026 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants