Update TypeScript AppHost GA docs#1057
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the documentation site’s TypeScript AppHost guidance to reflect the GA-recommended SDK location and to clarify how CLI commands (aspire add, aspire restore) affect TypeScript AppHosts, while keeping historical release-note snippets compiling via updated twoslash virtual file wiring.
Changes:
- Switched current TypeScript AppHost examples/docs from
./.modules/aspire.jsto./.aspire/.modules/aspire.jsacross English + Japanese content. - Expanded CLI reference docs to describe TypeScript AppHost behavior for
aspire addandaspire restore, and broadened--apphostoption wording to include file-based AppHosts. - Updated twoslash configuration to mount the SDK types under both
.aspire/.modules/aspire.ts(current docs) and.modules/aspire.ts(historical release notes).
Reviewed changes
Copilot reviewed 142 out of 143 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/frontend/src/data/twoslash/aspire.d.ts | Updates twoslash type bundle comment to match the new import path used by docs. |
| src/frontend/src/content/docs/reference/cli/includes/option-project.md | Clarifies --apphost accepts file-based AppHosts (TS/C#) and C# project-based AppHosts. |
| src/frontend/src/content/docs/reference/cli/commands/aspire-restore.mdx | Adds TypeScript AppHost-specific restore behavior and an example using apphost.ts. |
| src/frontend/src/content/docs/reference/cli/commands/aspire-init.mdx | Updates TypeScript AppHost scaffolded SDK folder path to .aspire/.modules/. |
| src/frontend/src/content/docs/reference/cli/commands/aspire-add.mdx | Documents how aspire add persists changes for project/file-based C# and TypeScript AppHosts + TS example. |
| src/frontend/src/content/docs/ja/get-started/what-is-aspire.mdx | Updates TypeScript import to ./.aspire/.modules/aspire.js. |
| src/frontend/src/content/docs/ja/get-started/troubleshooting.mdx | Updates troubleshooting guidance to reference .aspire/.modules/. |
| src/frontend/src/content/docs/ja/get-started/resource-mcp-servers.mdx | Updates TypeScript imports to the new .aspire/.modules path. |
| src/frontend/src/content/docs/ja/get-started/faq.mdx | Updates links to the GA TypeScript AppHost page and removes reliance on preview release-notes anchors. |
| src/frontend/src/content/docs/ja/get-started/deploy-first-app.mdx | Updates TypeScript imports to the new .aspire/.modules path. |
| src/frontend/src/content/docs/ja/get-started/aspire-mcp-server.mdx | Updates TypeScript imports to the new .aspire/.modules path. |
| src/frontend/src/content/docs/ja/get-started/app-host.mdx | Updates FileTree to show .aspire/.modules/ layout. |
| src/frontend/src/content/docs/ja/get-started/add-aspire-existing-app.mdx | Updates TypeScript imports and FileTree to .aspire/.modules/ and related prose. |
| src/frontend/src/content/docs/ja/fundamentals/http-commands.mdx | Updates TypeScript imports to the new .aspire/.modules path. |
| src/frontend/src/content/docs/ja/fundamentals/custom-resource-commands.mdx | Updates TypeScript imports to the new .aspire/.modules path. |
| src/frontend/src/content/docs/ja/extensibility/multi-language-integration-authoring.mdx | Updates TypeScript imports (including custom module imports) to .aspire/.modules. |
| src/frontend/src/content/docs/ja/app-host/withdockerfile.mdx | Updates TypeScript imports (and type imports) to .aspire/.modules. |
| src/frontend/src/content/docs/ja/app-host/typescript-apphost.mdx | Updates FileTree + sections to .aspire/.modules and aligns examples to new import path. |
| src/frontend/src/content/docs/ja/app-host/persistent-containers.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/ja/app-host/migrate-from-docker-compose.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/ja/app-host/executable-resources.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/ja/app-host/eventing.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/ja/app-host/container-registry.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/ja/app-host/container-files.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/ja/app-host/certificate-configuration.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/security/keycloak.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/reverse-proxies/yarp.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/overview.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/observability/seq/seq-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/messaging/rabbitmq/rabbitmq-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/messaging/nats/nats-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/messaging/apache-kafka/apache-kafka-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/frameworks/python.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/frameworks/orleans.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/frameworks/nodejs-extensions.mdx | Updates note to point at .aspire/.modules/aspire.ts for missing TS bindings. |
| src/frontend/src/content/docs/integrations/frameworks/javascript.mdx | Updates TypeScript imports across examples to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/frameworks/go/go-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/dotnet/project-resources.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/dotnet/dotnet-tool-resources.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/dotnet/csharp-file-based-apps.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/devtools/dev-tunnels.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/devtools/browser-logs.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/databases/surrealdb/surrealdb-host.mdx | Updates note to reference .aspire/.modules/aspire.ts for missing TS support. |
| src/frontend/src/content/docs/integrations/databases/sql-server/sql-server-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/databases/qdrant/qdrant-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/databases/postgres/postgres-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/databases/mysql/mysql-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/databases/mongodb/mongodb-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/databases/milvus/milvus-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/databases/kurrentdb/kurrentdb-host.mdx | Updates note to reference .aspire/.modules/aspire.ts for missing TS support. |
| src/frontend/src/content/docs/integrations/databases/efcore/azure-sql/azure-sql-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/databases/efcore/azure-cosmos-db/azure-cosmos-db-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/compute/kubernetes.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/compute/docker.mdx | Updates TypeScript imports (and type imports) to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/user-assigned-identity.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/role-assignments.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/overview.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/local-provisioning.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/customize-resources.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/configure-container-apps.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-web-pubsub/azure-web-pubsub-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-virtual-network.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-storage-tables/azure-storage-tables-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-storage-queues/azure-storage-queues-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-storage-datalake.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-storage-blobs/azure-storage-blobs-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-sql-database/azure-sql-database-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-signalr/azure-signalr-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-service-bus/azure-service-bus-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-postgresql/azure-postgresql-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-openai/azure-openai-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-log-analytics.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-key-vault/azure-key-vault-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-functions/azure-functions-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-front-door.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-event-hubs/azure-event-hubs-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-data-explorer.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-cosmos-db/azure-cosmos-db-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-container-registry/azure-container-registry-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-container-registry/azure-container-registry-get-started.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-cache-redis/azure-cache-redis-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-application-insights.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-app-service/azure-app-service-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-app-configuration/azure-app-configuration-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-ai-search/azure-ai-search-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-ai-inference/azure-ai-inference-host.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/azure-ai-foundry/azure-ai-foundry-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/aks/index.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/cloud/azure/ai-compatibility-matrix.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/caching/valkey/valkey-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/caching/redis/redis-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/caching/redis-output/redis-output-host.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/caching/redis-distributed/redis-distributed-host.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/caching/garnet/garnet-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/ai/openai/openai-host.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/ai/ollama/ollama-host.mdx | Updates TypeScript imports and notes to .aspire/.modules. |
| src/frontend/src/content/docs/integrations/ai/github-models/github-models-host.mdx | Updates TypeScript imports and note reference to .aspire/.modules. |
| src/frontend/src/content/docs/get-started/what-is-aspire.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/get-started/troubleshooting.mdx | Updates troubleshooting guidance to reference .aspire/.modules. |
| src/frontend/src/content/docs/get-started/resource-mcp-servers.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/get-started/first-app.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/get-started/faq.mdx | Updates TypeScript AppHost links to the GA project structure page. |
| src/frontend/src/content/docs/get-started/deploy-first-app.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/get-started/aspire-mcp-server.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/get-started/app-host.mdx | Updates FileTree to show .aspire/.modules/ layout. |
| src/frontend/src/content/docs/get-started/add-aspire-existing-app.mdx | Updates prerequisites, prose, FileTree, and TypeScript imports for .aspire/.modules + package-manager guidance. |
| src/frontend/src/content/docs/fundamentals/service-discovery.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/fundamentals/persist-data-volumes.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/fundamentals/networking-overview.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/fundamentals/http-commands.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/fundamentals/health-checks.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/fundamentals/external-parameters.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/fundamentals/custom-resource-commands.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/fundamentals/container-networking.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/extensibility/multi-language-integration-authoring.mdx | Updates TypeScript imports (including custom module import) to .aspire/.modules. |
| src/frontend/src/content/docs/diagnostics/aspiredockerfilebuilder001.mdx | Updates TypeScript imports (and type imports) to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/kubernetes/kubernetes.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/kubernetes/aks.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/kubernetes.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/javascript-apps.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/environments.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/docker-compose.mdx | Updates TypeScript imports (and type imports) to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/deploy-with-aspire.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/azure/container-apps.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/azure/azure-security-best-practices.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/azure/azure-developer-cli.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/azure/app-service.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/deployment/app-lifecycle.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/community/contributor-guide.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/architecture/resource-hierarchies.mdx | Updates TypeScript import to .aspire/.modules. |
| src/frontend/src/content/docs/architecture/multi-language-architecture.mdx | Updates architecture diagram + narrative to .aspire/.modules. |
| src/frontend/src/content/docs/app-host/withdockerfile.mdx | Updates TypeScript imports (and type imports) to .aspire/.modules. |
| src/frontend/src/content/docs/app-host/typescript-apphost.mdx | Updates TypeScript AppHost structure, adds “add/restore” guidance + unsupported scenarios, and aligns imports to .aspire/.modules. |
| src/frontend/src/content/docs/app-host/persistent-containers.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/app-host/migrate-from-docker-compose.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/app-host/executable-resources.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/app-host/eventing.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/app-host/container-registry.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/app-host/container-files.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/content/docs/app-host/certificate-configuration.mdx | Updates TypeScript imports to .aspire/.modules. |
| src/frontend/src/components/SimpleAppHostCode.shared.ts | Updates shared TypeScript snippets to import from .aspire/.modules. |
| src/frontend/scripts/generate-twoslash-types.ts | Keeps generated twoslash header comment aligned with the new import path. |
| src/frontend/config/twoslash.config.mjs | Updates twoslash VFS mappings to support both new (.aspire/.modules) and historical (.modules) import paths. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Document TypeScript AppHost GA support boundaries, CLI restore/add behavior, and the generated .aspire/.modules SDK path across current docs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
5f8996d to
e837288
Compare
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| **いいえ。** .NET は Aspire で特に強力な体験を提供しますが、アプリ モデルは 1 つのフレームワークやランタイムに限定されません。Aspire は複数スタックにまたがるサービス調整を目的に設計されており、TypeScript の AppHost によって既存の JavaScript / TypeScript アプリにも自然に適合します。 | ||
|
|
||
| 詳しくはこちら: [TypeScript AppHost サポート](/ja/whats-new/aspire-13-2/#-typescript-apphost-のサポート-プレビュー) | ||
| 詳しくはこちら: [TypeScript AppHost サポート](/ja/app-host/typescript-apphost/) |
There was a problem hiding this comment.
The link target was updated from the 13.2 preview "what's new" anchor to the GA project-structure page, but the visible label still says "TypeScript AppHost サポート" (Support). The English FAQ was updated to "TypeScript AppHost project structure" — consider updating the Japanese label to match, e.g. [TypeScript AppHost プロジェクト構成](/ja/app-host/typescript-apphost/). Same on line 72.
| ? { | ||
| '.aspire/modules/aspire.mts': source, | ||
| // Keep historical snippets compiling if they import the old generated path. | ||
| '.modules/aspire.ts': source, |
There was a problem hiding this comment.
The comment frames this alias as backward-compat for "historical snippets," but the only place in the repo that still imports from ./.modules/aspire.js is src/frontend/src/components/AppHostBuilder.astro — the live interactive AppHost builder, with ~30 snippet variants. Everywhere else (this PR's typescript-apphost.mdx, add-aspire-existing-app.mdx, SimpleAppHostCode.shared.ts, data/twoslash/aspire.d.ts, the doc-writer skill) uses the GA path ./.aspire/modules/aspire.mjs.
Net effect: users who copy a snippet out of the interactive builder get an import path that doesn't match what aspire init actually generates, so the file won't resolve in their project.
Recommendation: migrate AppHostBuilder.astro to emit ./.aspire/modules/aspire.mjs across all snippet variants and drop this alias. If that's out of scope for this PR, please reword the comment to make the temporary nature explicit, e.g. // Temporary: AppHostBuilder.astro still imports from the pre-GA path; remove this alias once it's migrated to .aspire/modules/aspire.mjs.
Co-authored-by: Mitch Denny <midenn@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Merge main into release/13.4 (#893)
* chore: Update integration data and GitHub stats (5/7/26) (#882)
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Use pnpm instead of npm in check-data-files.mjs (#881)
The repository is configured as a pnpm workspace (pnpm-workspace.yaml,
pnpm-lock.yaml, packageManager: pnpm@10.30.1), but check-data-files.mjs
hardcoded `npm run update:all`. Running npm inside a pnpm workspace
ignores pnpm-lock.yaml, creates an unnecessary package-lock.json, and can
corrupt or destabilize the local development environment.
Fixes #872
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chore: Update integration data and GitHub stats (5/8/26) (#890)
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add Hot Reload and watch guidance (#887)
* Add Hot Reload and watch guidance
Document Aspire watch behavior for AppHost changes, resource-specific restart and rebuild workflows, and IDE-managed hot reload/debugging boundaries.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Clarify dotnet watch AppHost behavior
Document current dotnet watch behavior for Aspire AppHosts and .NET project resources, including restart behavior and known quirks requiring explicit restart or rebuild commands.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Clarify C# projects watch guidance
Rename the project resources tab to C# projects and tighten the dotnet watch wording around C# project behavior.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Refine C# dotnet watch guidance
Lead the C# projects section with dotnet watch support for C# AppHosts and move current experience quirks into an Important note.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Reduce C# watch guidance repetition
Tighten the C# projects section so dotnet watch support and defaultWatchEnabled behavior are not repeated.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update standalone dashboard docs for Aspire CLI (#886)
* Update standalone dashboard docs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Centralize standalone dashboard prerequisites
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Restore dashboard landing quick start
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address dashboard quick start feedback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix terminal tabs regression test source
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix standalone dashboard telemetry limits link
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Show both dashboard quick start options
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address standalone dashboard review feedback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
* [docs] Add command arguments, validation, and visibility to custom-resource-commands (#892)
* docs: add command arguments, validation, and visibility to custom-resource-commands
Documents new features from microsoft/aspire#16710:
- Command arguments (InteractionInput, InputType, InteractionInputCollection)
- Typed argument accessors (GetString, GetBoolean, GetInt32, GetDouble in C#; toArray, value, requiredValue in TypeScript)
- Positional CLI argument passing
- Argument validation (ValidateArguments callback, field-level errors)
- Command visibility (ResourceCommandVisibility.Dashboard, Api, All)
Covers both C# and TypeScript AppHost usage.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: fix ResourceCommandVisibility names and accessor return types
Verified against microsoft/aspire source:
- ResourceCommandVisibility values are None, UI, Api (bit-combinable);
the previously documented names Dashboard and All do not exist.
Use UI | Api for "both" (the default).
- InteractionInputCollection.GetInt32/GetBoolean/GetDouble return
non-nullable values and throw on absent or unparseable input;
only GetString returns string?. Updated comments and prose.
- Replaced "GetInt32(...) ?? 1" in the example, which would not compile
against a non-nullable int return, with int.TryParse against GetString.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: clarify custom command input property types
Update the InteractionInput property table to reflect that Label is optional and that Choice options use the IReadOnlyList/InteractionInputOption shape from the product APIs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
* docs: update Foundry TypeScript role assignment method name (#895)
Rename `withRoleAssignments` to `withFoundryRoleAssignments` in the
TypeScript AppHost example following microsoft/aspire#16886 which uses
integration-specific export names to avoid ATS SDK dump collisions.
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Remove execCommandEnabled from CLI config settings reference (#901)
The aspire exec command was removed in microsoft/aspire#16913.
Remove the associated execCommandEnabled feature flag entry from
the CLI configuration settings reference table.
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: update custom-resource-commands to use new CommandResults.Success displayImmediately overload (#897)
Update the 'Auto-open the result dialog in the dashboard' C# example
to use the new four-argument CommandResults.Success overload added in
microsoft/aspire#16906, replacing the lower-level CommandResultData
object-initializer pattern with the more ergonomic factory call.
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* [docs] aspire update: document --yes required with --non-interactive (#902)
* docs: document --yes required with --non-interactive for aspire update
The aspire update command now validates that --yes is provided when
--non-interactive is specified, matching the existing behavior of
aspire destroy. Add a Non-interactive usage section to the update
command docs to make this requirement explicit.
Documents changes from microsoft/aspire#16829
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* [docs] Document resource-scoped command help and --include-hidden option (#904)
* docs: document resource-scoped command help and --include-hidden option
Documents changes from microsoft/aspire#16921:
- Add section explaining that 'aspire resource <resource> --help' shows
available resource commands discovered from the running AppHost.
- Document the '--include-hidden' option for showing and executing
hidden resource commands.
- Document the '--' delimiter for passing --help to resource commands.
- Add AppHost selection section with clearer structure.
- Add examples for listing available commands and using --include-hidden.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: use apphost source files in resource examples
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
* [docs] Dashboard AI Agents dialog and DisableAgentHelp configuration option (#888)
* docs: document AI Agents dialog and DisableAgentHelp config option
Documents the new AI Agents button added to the Aspire dashboard header
in microsoft/aspire#16869, including:
- New section in ai-coding-agents.mdx describing the header button and
adaptive dialog content
- New Dashboard:UI:DisableAgentHelp config entry in configuration.mdx
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Apply suggestion from @JamesNK
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: James Newton-King <james@newtonking.com>
* [docs] Update aspire resource command docs with named options and command-specific help (#898)
* docs: update aspire resource command with named options and command-specific help
Documents the new named option support for resource command inputs:
- Named options (--option-name) instead of positional values
- Command-specific --help output showing input types, defaults, and allowed values
- Using -- separator to avoid option name collisions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: address aspire resource review feedback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
* [docs] Add AzureRoleAssignmentResource documentation to Azure role assignments guide (#896)
* docs: document AzureRoleAssignmentResource for programmatic role assignment inspection
Add a new section to the Azure role assignments guide documenting the
AzureRoleAssignmentResource type introduced in microsoft/aspire#16888.
The new section explains:
- The three properties exposed by AzureRoleAssignmentResource (TargetAzureResource,
OwnerResource, and IdentityResource)
- How to enumerate role assignment resources from a pipeline step
- The null semantics for global vs. targeted role assignments
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* PR feedback
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
* [docs] Add AspireUseCliBundle opt-in documentation (#894)
* docs: add AspireUseCliBundle opt-in documentation
Document the new AspireUseCliBundle MSBuild property introduced in
microsoft/aspire#16811 that allows AppHost projects to source DCP and
the Aspire Dashboard from the Aspire CLI bundle instead of platform-
specific NuGet packages.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: move CLI bundle opt-in to Aspire SDK page
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: fix Aspire CLI bundle docs rendering
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Revert "[docs] Add AzureRoleAssignmentResource documentation to Azure role assignments guide (#896)"
This reverts commit deed84119119bed961e7f301dd81d048df86cf38.
* docs: clarify CLI bundle dependency wording
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: restore role assignments base content
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
* Draft skeleton What's New for Aspire 13.4 (#914)
* Initial plan
* feat: add skeleton What's New for Aspire 13.4
Agent-Logs-Url: https://github.com/microsoft/aspire.dev/sessions/9761e602-b5d7-47fe-a1e1-4639f2afd3d1
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
* [docs] Add process-backed resource commands documentation (#918)
* docs: add WithProcessCommand / process-backed resource commands
Documents the new experimental WithProcessCommand API introduced in
microsoft/aspire#16923, which lets AppHost authors add custom commands
backed by external processes.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: address review feedback - add ASPIREPROCESSCOMMAND001 diagnostic article, update TS example, conceptualize config sections, vertical array formatting
Agent-Logs-Url: https://github.com/microsoft/aspire.dev/sessions/91ac4d2c-f747-49d2-ade1-2220fd9c5d7b
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
* docs: refine process command documentation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: use node in TypeScript process command sample
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
* [docs] Add Custom process commands docs (withProcessCommand / withProcessCommandFactory) (#923)
* Add docs for withProcessCommand and withProcessCommandFactory polyglot APIs
Documents the TypeScript (polyglot) process-backed resource command APIs
introduced in microsoft/aspire#16972:
- withProcessCommand: static process spec registered at AppHost startup
- withProcessCommandFactory: dynamic spec built from ExecuteCommandContext
arguments at invocation time
Adds fundamentals/process-commands.mdx and registers it in the sidebar
between Custom HTTP commands and Custom resource URLs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Consolidate process command docs
Move the TypeScript process command factory example into the existing custom resource commands page and remove the duplicate standalone page/navigation entry.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
* Add first-class Go hosting docs (#950)
* Add first-class Go hosting docs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Clarify Go publish artifact wording
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Restructure Go integration docs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Allow known Foundry twoslash gap
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Exclude deprecated Go toolkit package
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update Aspire 13.4 release notes (#975)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update Azure Front Door Bicep naming in docs for 13.4 (#965)
Update the generated Bicep snippet in the Azure Front Door integration
docs to reflect the new resource naming introduced in .NET Aspire 13.4
(via Azure.Provisioning.Cdn 1.0.0-beta.2). The profile name length limit
increased from 90 to 260, and child resource names now use PascalCase
Bicep identifier suffixes (e.g., myapiEndpoint) instead of the previous
hyphen-separated lowercase names (e.g., my-api).
Also adds an upgrade caution note warning users upgrading from 13.3.0-preview
that the name change can produce duplicate Azure resources, and explains the
mitigation (delete existing resources or set names explicitly via ConfigureInfrastructure).
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Document AddAzureKubernetesEnvironment ingress + AddCertManager flow (#973)
* Document AddAzureKubernetesEnvironment ingress + AddCertManager flow
Aspire 13.4 ships first-class AKS ingress on top of AddAzureKubernetesEnvironment:
AddLoadBalancer provisions an AGC frontend, AddGateway().WithLoadBalancer()
attaches Aspire gateways to it, and AddCertManager() + AddIssuer().
WithLetsEncryptProduction().WithHttp01Solver() + WithTls(issuer) deliver
automatic HTTPS in a single 'aspire deploy'. Until now docs only covered the
bring-your-own-cluster scenario via the kubernetes-{gateway,ingress}-aks pages.
This change extends deployment/kubernetes/aks.mdx with one continuous
walkthrough that takes the reader from a freshly provisioned AKS cluster to
HTTPS on a custom domain:
- 'Expose your app to the internet' covers AGC subscription prereqs, VNet/
subnet layout (avoiding the 10.0.0.0/16 service CIDR clash), AddLoadBalancer,
AddGateway + WithLoadBalancer + WithRoute, the first HTTP-only deploy on the
auto-assigned *.alb.azure.com FQDN, AddCertManager + AddIssuer +
WithLetsEncryptProduction + WithHttp01Solver, the typed WithTls(issuer)
overload, and the bootstrap-secret + FQDN-swap mechanic.
- 'Use a custom domain' adds WithHostname (string + parameter), the CNAME
setup, and re-deploy/verify steps.
- New troubleshooting entries for stuck certificates, missing gateway FQDNs,
and the cert-manager SSA force-conflicts behaviour AddCertManager handles.
Existing BYO walkthroughs keep their content and gain a top-of-page tip
pointing AddAzureKubernetesEnvironment users at the integrated path. The
Ingress/Gateway API overview gets a similar pointer. The 13.4 what's-new
page calls the new APIs out under the existing 'This release introduces' list.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add troubleshooting items for cert-manager AGC scenarios
Surfaced during live AKS deployment validation:
- Let's Encrypt rejects forbidden / non-public-suffix contact email TLDs
- HTTPS listener InvalidCertificateRef recovery (bootstrap secret restore)
- Plain HTTP returns 404 once WithTls is applied (expected behavior)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Mitch Denny <midenn@orangecake.localdomain>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Mitch Denny <midenn@orangecake.local>
* Optimize Open Graph SEO metadata across every English page (#1007)
* Add seoTitle frontmatter override and route-data og metadata mutation
Introduces an optional seoTitle field on the docs collection so individual
pages can override the composed Open Graph and Twitter card title without
touching the visible H1 or sidebar label. The new resolver path:
- prefers seoTitle verbatim (no · Aspire suffix is appended);
- preserves the existing fallback order for pages that do not opt in;
- exempts the home and splash templates from the suffix as before.
A route-data middleware step now mutates the Starlight-emitted head array
so every English page emits the resolver's og:title and og:description,
avoiding hundreds of per-page head: [...] frontmatter blocks. The
doc-writer skill gains an SEO length-target subsection with the new field.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Render a brand CTA chip on every dynamic Open Graph card
Adds a small Read on aspire.dev → pill anchored to the top-right of
the dynamic 1200x630 social card produced by satori. The chip uses the
brand purple background and Outfit semibold font already loaded by the
renderer, giving every social preview an explicit call-to-action so
LinkedIn, Twitter, and search-engine cards stop flagging the cards as
`Missing a call-to-action in your image`.
The site-wide static /og-image.png fallback is unchanged because the
home page and translated locales still depend on it.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add CI guard test for og:title and og:description lengths
A new Vitest unit test walks every English documentation page through
getOgMetadata and fails when the composed og:title is outside
30-65 characters or the og:description is outside 80-200 characters.
The guard ranges are wider than the target ranges (50-60 / 110-160) so
drafts can land slightly off-target and tighten in follow-ups without
breaking CI on the first commit.
Translated locales, the auto-generated API reference, transcluded CLI
includes, splash templates, the home page, and the 404 page are
allowlisted with comments explaining why.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for whats-new release notes
Rewrites the title and description on every release-notes page so the
composed og:title and og:description land in the SEO optimal ranges
(50-60 / 110-160 chars) while still surfacing the headline features of
each Aspire release. Long descriptions on 13-1, 13-3, 13-4, and 13.0 are
trimmed below the 200-char auto-truncation cap.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for community and root pages
Updates titles and descriptions on community/, the support policy page,
the docs landing page, and the aspire conf splash so each page surfaces
its keywords inside the 50-60 / 110-160 SEO optimal ranges.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for architecture and extensibility docs
Rewrites titles and descriptions across the architecture and extensibility
sections so the composed og:title and og:description land in the SEO
optimal ranges and surface the page's primary concept (resource model,
DAG, custom resources, interaction service, multi-language authoring).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for testing docs
Tightens titles and descriptions across the testing/ section so each
page's composed og:title and og:description land in the SEO optimal
ranges. Covers integration testing overview, first-test walkthrough,
accessing resources, AppHost lifecycle, advanced scenarios, and CI/CD.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for fundamentals docs
Rewrites titles and descriptions for the fundamentals/ section so every
page surfaces its primary concept (annotations, networking, telemetry,
health checks, service discovery, parameters, custom commands) inside
the SEO optimal ranges.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for dashboard docs
Rewrites titles and descriptions across the dashboard/ section so every
page — overview, configuration, telemetry opt-in, standalone deployments,
browser telemetry, AI coding agents, and security — lands in the SEO
optimal ranges with the right Aspire keywords.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for app-host docs
Updates titles and descriptions across the app-host/ section, covering
certificate config, executable resources, container files, eventing,
hot reload, persistent containers, the TypeScript AppHost layout, and
Docker Compose migration. Every page now lands in the SEO optimal range.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for get-started and runtimes docs
Rewrites titles and descriptions across the get-started/ section and the
languages-and-runtimes/ landing page so each onboarding doc — install,
prerequisites, first app, AppHost, MCP server, SDK templates, FAQ,
troubleshooting — surfaces its keywords in the SEO optimal ranges.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for deployment docs
Updates titles and descriptions across deployment/, including the Azure,
Docker Compose, Kubernetes, and AKS pages, so every deployment doc
lands in the 50-60 / 110-160 SEO optimal range and reflects the target,
command surface, and supported environments accurately.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for integrations connect and get-started pages
Adds seoTitle frontmatter to all 'Connect to X' integration pages and to
the handful of integration root and framework landing pages whose visible
title stays short for sidebar density. The seoTitle is the verbatim
og:title and adds the consuming language list (C#, Python, TypeScript)
so social and search snippets convey the page's scope in one line.
Also trims the four overly long 'Get started with the …' integration
titles down to the 50-60 character optimal range, and expands eight
integration descriptions that previously sat below 80 characters.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for diagnostics and reference docs
Adds seoTitle frontmatter to every CLI command reference page and to the
reference overview/samples/install-script pages so social cards present
the full command and Aspire CLI scope (which would feel bloated in the
visible H1). Expands the diagnostics/overview description and gives the
ASPIRE006 page a longer SEO title that includes the error code and the
invalid-resource-name cause. Also expands the get-started/what-is-aspire
page's og:title with a tagline.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph metadata for ASPIRE diagnostic code pages
Adds seoTitle and rewrites the description on every ASPIRE diagnostic
code page in diagnostics/ so the og:title surfaces the code identifier
and a short cause clause, and the og:description names the specific
diagnostic message instead of repeating a generic 'Learn more about
compiler Error …' opener. Every page now lands in the 30-65 / 80-200
guard range and most fall in the 50-60 / 110-160 optimal range.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Optimize Open Graph descriptions for integrations get-started pages
Expand 33 very-short descriptions into the 110-160 character SEO
range across integration get-started pages and CLI command reference,
plus the reference/cli/overview page. Descriptions now describe what
each integration provisions and which .NET client it wires up.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add seoTitle for short-titled integration sub-pages
Add seoTitle overrides on integration host, connect, get-started, and
overview pages whose visible H1 title is intentionally short for
sidebar density. Composed og:title now lands in the 50-60 character
SEO-optimal range while the H1 reads cleanly.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add seoTitle for Connect-to-X integration pages
Wire up seoTitle for 20 integration *-connect pages whose visible H1
title is short for sidebar density (Connect to X). Composed og:title
now lands in the 50-60 character SEO-optimal range.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Revert brand-prefixed H1 titles; route SEO into seoTitle
Reviewer feedback (JamesNK on #1007) flagged that several pages now read
'Aspire X' as the visible H1. SEO research confirms the brand belongs in
the composed <title> (and og:title), not in the H1 itself — the H1
should focus on the page topic.
This commit reverts every visible 'title' frontmatter back to its
release/13.4 value and adds a 50-60 character 'seoTitle' to keep
composed og:title in the optimal SEO range. resolveOgTitle uses
seoTitle verbatim (no '· Aspire' suffix) so the H1 and the social-card
title stay independent.
Also restores the visible title on get-started/install-cli.mdx (matches
the e2e regex /install aspire cli/i) and dashboard/enable-browser-telemetry.mdx
(updates the og-metadata smoke test to the new composed title/description).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <dapine@microsoft.com>
* docs(ts-apphost): document supported AppHost-root package managers and Node engine (microsoft/aspire#17031) (#1000)
* docs(ts-apphost): document supported AppHost-root package managers and Node engine
Addresses microsoft/aspire#17031 by making the supported AppHost-root
package-manager set and the supported Node.js engine constraint explicit
in the TypeScript AppHost documentation.
src/frontend/src/content/docs/app-host/typescript-apphost.mdx
- Reframe '## Package managers' as a support-policy statement scoped to
the AppHost root (the directory containing apphost.ts and
aspire.config.json), and add a Support column.
- Add Yarn Classic (v1) as an explicit 'Not supported' row in the table
so the policy is readable at a glance (the existing Yarn Classic
Aside is kept unchanged for the detection + upgrade-path detail).
- Add a one-sentence note clarifying that this policy applies to the
AppHost root only; guest apps orchestrated by the AppHost can use
any package manager their own tooling requires.
- Add new '### Supported Node.js engine' subsection under
'## package.json' that documents the scaffolded engines.node range
(^20.19.0 || ^22.13.0 || >=24) with one bullet per supported line
(20.19+, 22.13+, 24+) and a caveat about widening the range.
- Cross-link the existing '### Toolchain detection' subsection back to
the new support-policy section.
src/frontend/src/content/docs/get-started/prerequisites.mdx
- Tighten the TypeScript TabItem Node prerequisite from the loose
'Node.js 20 or later' to the exact scaffolded engines.node range
(20.19+, 22.13+, or 24+) and list the supported AppHost-root
package managers (npm default, pnpm, Yarn 4+, Bun), flagging Yarn
Classic (v1) as not supported with a link to the policy section.
Validated:
- pnpm exec astro sync (no errors; pre-existing duplicate-id warnings
on deployment/kubernetes are unrelated).
- pnpm lint (eslint --max-warnings 0, exit 0).
- pnpm test:unit (20 files, 220 tests pass).
Detection mechanics, the per-toolchain commands table, the Yarn Classic
Aside, and the aspire doctor paragraph are intentionally preserved.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Regenerate TS API docs against Aspire CLI 13.4 (XML doc preservation) (#999)
Regenerates src/frontend/src/data/ts-modules/*.json and the twoslash
aspire.d.ts bundle using Aspire CLI 13.4.0-preview.1.26267.3, which
preserves C# XML documentation through aspire sdk dump
(microsoft/aspire#17044).
Generator updates (src/tools/AtsJsonGenerator):
- Models.cs: surface new AtsDumpDocumentation block on capabilities,
handle types, DTOs (top-level + per-property), and enum types; add
AtsDumpEnumValueInfo for per-value enum docs; add Remarks/Returns
on TsFunctionModel, Description on TsParameterModel,
Description/Remarks on TsHandleTypeModel and TsDtoTypeModel,
Description on TsDtoFieldModel, Description/Remarks/MemberDocs on
TsEnumTypeModel, and new TsEnumMemberDocModel for sparse per-value
enum docs.
- AtsTransformer.cs: map the new Documentation fields through to the
docs-site JSON, including per-parameter description lookup,
remarks/returns on capabilities, top-level + per-property docs on
DTOs, and sparse memberDocs on enums. Whitespace-only XML doc
strings are normalized to null so empty entries don't pollute the
output.
Package versions are unchanged (Aspire.Hosting.* at 13.3.0 /
13.3.0-preview.1.26254.5). Doc UI rendering of the new fields is a
follow-up.
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: document run script and Dockerfile conflict for AddJavaScriptApp (#1014)
When AddJavaScriptApp is configured with an explicit runScriptName or
WithRunScript and an existing user-authored Dockerfile is present,
Aspire now fails at publish time with a clear error instead of silently
ignoring the requested run script.
Document the conflict, the error message, and the two resolution paths:
remove/rename the Dockerfile, or use PublishAsDockerFile with an
explicit container entrypoint.
Documents changes from microsoft/aspire#16969.
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Document TypeScript AppHost package manager support (#1025)
* Document TypeScript AppHost package managers
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix invalid Japanese Go integration link
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: document ResourceCommandService support in polyglot (TypeScript) apphosts
PR microsoft/aspire#17330 exposed ResourceCommandService to polyglot
apphosts (TypeScript, Go, Python, Java) so that command callbacks can
now call getResourceCommandService() and executeCommandAsync() in the
same way C# already could.
- Remove the outdated note marking programmatic command execution as a
C#-only feature
- Update the introductory paragraph to mention TypeScript service
provider access
- Wrap the 'Execute commands from a custom command' code block in a
Tabs component and add a TypeScript example showing:
- ctx.serviceProvider() to resolve the service provider
- serviceProvider.getResourceCommandService() to get the service
- commandService.executeCommandAsync(resourceId, commandName, options)
to invoke another command
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: add HTTPS dev certificate guidance for TypeScript AppHost users
TypeScript (and other polyglot) app host users may not have the .NET SDK
on their PATH, so `dotnet dev-certs https --trust` guidance doesn't apply.
Aspire now surfaces `aspire certs trust` in HTTPS error messages for
polyglot hosts (microsoft/aspire#17348).
Add an 'HTTPS development certificates' section to the TypeScript AppHost
project structure page explaining how to resolve the error with
`aspire certs trust`, with a tip for clean+trust recovery and a cross-
reference to the full certificate-configuration docs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: address ResourceCommandService review feedback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add TypeScript AppHost snippet parity (#969)
* Add TypeScript AppHost snippet parity
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address AppHost snippet review feedback
Fix validated review comments by restoring MDX structure, replacing stale TypeScript-unavailable notes with supported TypeScript AppHost snippets, and correcting TypeScript API usage.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Apply AppHost TypeScript doc gap findings
Add TypeScript documentation coverage for confirmed 13.4 AppHost APIs and keep remaining Azure provisioning limitations scoped to direct Azure.Provisioning customization.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix localized Go integration link
Update the Japanese languages-and-runtimes page to point to the current Go integration route after merging release/13.4.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update TypeScript AppHost Node support docs (#968)
* Update TypeScript AppHost Node support docs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add localized Go docs redirect
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Document AsExisting on AzureContainerAppEnvironment and WithAcrPullIdentity (#1045)
* Document AsExisting on AzureContainerAppEnvironment and WithAcrPullIdentity
Adds a 'Use an existing ACA environment' section to the Configure Azure Container Apps page covering AsExisting, the configuration guardrails Aspire enforces (WithDelegatedSubnet, WithAzureLogAnalyticsWorkspace, volume mounts), bringing your own ACR pull identity via WithAcrPullIdentity, and a combination matrix that shows exactly what the env module emits for each new/existing pairing of environment, ACR, and pull identity.
Related to aspire#12977 and aspire#9094.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address PR feedback: split chained asExisting calls in TypeScript examples
The TypeScript SDK's �sExisting returns Promise<IAzureResource> rather
than the specific resource type, so chaining it widens the inferred type
and breaks subsequent calls. Split the calls onto separate �wait lines
to keep the variables strongly typed, matching the pattern used in
azure-container-registry-host.mdx.
Tracked in microsoft/aspire#17386.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* PR feedback
* PR feedback
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: add ExternalServiceResource to withEnvironment union type example (#1048)
Documents microsoft/aspire#17393 — TypeScript withEnvironment now accepts
IResourceBuilder<ExternalServiceResource>, matching the C# overload.
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update TypeScript AppHost documentation (#1049)
* Update TypeScript AppHost docs
Document the new apphost.mts entry point, consolidated .aspire/modules generated SDK path, and nested aspire-apphost layout for TypeScript init.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix generated SDK references in docs
Use the generated .aspire/modules/aspire.mjs module name in notes that tell readers where to inspect TypeScript AppHost APIs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: document deferred restore behavior for aspire update --channel (#989)
The aspire update command now applies all package version edits before
running a single final dotnet restore, preventing NU1103 failures when
switching to channels that add NuGet source mappings (daily, staging, etc.)
Fixes microsoft/aspire#17017
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* [docs] Graduate Azure Container Apps job APIs from experimental (#1001)
* docs: graduate Azure Container Apps job APIs from experimental
The PublishAsAzureContainerAppJob and PublishAsScheduledAzureContainerAppJob
APIs are no longer experimental as of Aspire 13.4 (microsoft/aspire#17219).
- Remove the experimental caution Aside from container-app-jobs.mdx
- Add a note to aspireazure002.mdx indicating these APIs no longer trigger
ASPIREAZURE002 in Aspire 13.4 and later
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Import Aside component in container-app-jobs.mdx
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Mitch Denny <midenn@Mac.localdomain>
* Document ATS service provider services (#1043)
* Document ATS service provider services
Document the TypeScript ATS IServiceProvider helper methods exposed in callback contexts, including examples for logging, model inspection, resource state, user secrets, store access, and eventing.
Also exclude generated API reference routes from link validation since those custom pages are emitted during build and are checked separately.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Rename ATS services examples variable
Use a local services variable in TypeScript samples after awaiting event.services(), matching the accessor name and avoiding a serviceProvider local.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address ATS service provider docs feedback
Clarify async service provider and user secrets accessors, replace the wide service table with a compact linked list, and exclude the root generated API reference route from link validation.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* [docs] Add custom Kubernetes manifest API documentation (#927)
* docs: Add custom Kubernetes manifest API documentation
Documents the new AddManifest API added in microsoft/aspire#16883,
including polyglot examples (TypeScript, Python, Java, Go) and a
configuration reference table.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix C# sample for custom Kubernetes manifests so it compiles
The previous C# sample imported a non-existent ScaledObject type from
Aspire.Hosting.Kubernetes.Resources and would not compile. Replace it
with a sample that derives a ScaledObject from the public
BaseKubernetesResource type, matching what the polyglot addManifest
calls produce. Verified the sample builds against the local
Aspire.Hosting.Kubernetes assembly.
Also clarify the section framing: addManifest is the polyglot API
(KubernetesManifestResource and AddManifest are internal in C#), and
C# AppHosts add BaseKubernetesResource subclasses to AdditionalResources
directly. Scope the methods table to the polyglot manifest handle.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Drop Python/Java/Go tabs from custom manifests section
The kubernetes.mdx file otherwise uses only C# and TypeScript under
syncKey='aspire-lang', matching the rest of the site. Python/Java/Go
AppHosts aren't introduced anywhere else in the docs yet, so this PR
shouldn't be the first place they appear. Restrict the section to
C# + TypeScript and adjust the framing/Aside/methods table to match.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Switch custom manifest example from KEDA ScaledObject to cert-manager Certificate
cert-manager is a CNCF graduated project, vendor-neutral, and the
Certificate CRD is ubiquitous in real-world Kubernetes clusters. Avoids
the perception that the example is Microsoft-adjacent.
Sample compiles against the local Aspire.Hosting.Kubernetes assembly.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Mitch Denny <midenn@orangecake.localdomain>
* Warn TS AppHost users to run `aspire update --self` first in 13.4 release notes (#1067)
* Warn TS AppHost users to run `aspire update --self` first
For TypeScript AppHost projects on Aspire 13.3.x, running `aspire update`
before `aspire update --self` fails mid-flight with
"No code generator found for language: TypeScript" because the 13.3.x CLI
bundles an apphost server that cannot load the 13.4 TypeScript code generator.
The failure leaves `aspire.config.json` pointing at 13.4 packages while the
CLI is still 13.3.x, which breaks `aspire run` and `aspire restore` too.
Add a caution `Aside` to the 13.4 "Upgrade to Aspire 13.4" section and
strengthen the migration step list to call out that `aspire update --self`
is required for TypeScript AppHost users on 13.3.x. Links to
microsoft/aspire#17077 for background.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address PR feedback: clean Aside title and capitalize AppHost
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Mitch Denny <mitchell.denny@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Mitch Denny <midenn@orangecake.localdomain>
* Update ASPIRE_DCP_USE_DEVELOPER_CERTIFICATE docs for cross-platform default
The default changed from false to true in Aspire 13.4, and the feature
now works on macOS and Linux (using cert/key files) in addition to
Windows (thumbprint). Update configuration.mdx table and the
certificate-configuration.mdx DCP section to reflect the new defaults,
cross-platform support, and opt-out behavior.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix(docs): update import paths for createBuilder in TypeScript examples (#1073)
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
* Update TypeScript AppHost GA docs (#1057)
* Update TypeScript AppHost GA docs
Document TypeScript AppHost GA support boundaries, CLI restore/add behavior, and the generated .aspire/.modules SDK path across current docs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Remove unsupported scenarios section
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Restore TypeScript AppHost Node prerequisites
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Mitch Denny <midenn@microsoft.com>
* Address TypeScript AppHost review feedback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
Co-authored-by: Mitch Denny <midenn@microsoft.com>
* [docs] Document async chaining support in TypeScript AppHosts (#1056)
* docs: document async chaining support in TypeScript AppHosts
Documents the async chaining feature introduced in microsoft/aspire#17400.
TypeScript AppHosts can now chain through generated async methods that
return wrapper types with a single await, using the new PromiseLike
thenable wrapper pattern emitted by the code generator.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* docs: document legacy apphost.ts compatibility for TypeScript AppHosts (#1075)
* docs: document legacy apphost.ts compatibility for TypeScript AppHosts
The 13.4 CLI transparently supports TypeScript AppHosts scaffolded by
earlier CLI versions (apphost.ts importing from ./.modules/aspire.js):
it routes generated SDK files to ./.modules/ and rewrites .mts/.mjs
files to .ts/.js (extensions plus inter-module import specifiers) so
existing imports resolve. aspire add/restore/run/start all keep working
without user intervention.
Document this behavior on the TypeScript AppHost page with a new
'Legacy apphost.ts projects (pre-13.4)' section and an opt-in
'Migrating to the new apphost.mts layout' subsection (rename file,
update SDK import, update appHost.path, update tsconfig.apphost.json
includes, delete ./.modules/ and re-restore).
Also add a brief cross-reference in the 13.4 release notes.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Update src/frontend/src/content/docs/app-host/typescript-apphost.mdx
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
* [docs] Add polyglot WithComputeEnvironment examples to Kubernetes and Docker integration pages (#997)
* docs: add polyglot WithComputeEnvironment examples to Kubernetes and Docker integration pages
WithComputeEnvironment is now available in polyglot (TypeScript, Python, Java, Go) app hosts
as of microsoft/aspire#17093. Expand the existing tip asides on the Kubernetes and Docker
integration pages to include C# and TypeScript code examples showing how to call the API.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: address compute environment review feedback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Sebastien Ros <sebastienros@gmail.com>
* Remove platform implementation detail from DCP cert docs per review feedback
Co-authored-by: danegsta <50252651+danegsta@users.noreply.github.com>
* [docs] Add TypeScript publish lifecycle event APIs to eventing docs (#998)
* docs: add TypeScript subscribeBeforePublish/subscribeAfterPublish to eventing page
Documents the new publish lifecycle event APIs for polyglot AppHosts
added in microsoft/aspire#17129. TypeScript AppHosts can now subscribe
to BeforePublishEvent and AfterPublishEvent using subscribeBeforePublish
and subscribeAfterPublish builder methods.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: address eventing review feedback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: avoid stale eventing twoslash data
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Sebastien Ros <sebastienros@gmail.com>
* [docs] Update aspire update docs: CLI version preflight check for guest AppHost projects
Documents the Aspire CLI version preflight check for guest AppHost project updates.
* [docs] Document collection property behavior in polyglot SDK DTOs
Documents DTO collection properties as value-shaped inputs in generated guest SDKs, matching microsoft/aspire#17098.
* [docs] Update ATS docs for polyglot APIs and add ATS diagnostics
Update ATS documentation for XML docs-based polyglot API docs, add ASPIREEXPORT015/016 diagnostics documentation, and fix related navigation/link issues.
* Docs: rename Ingress WithRoute to WithPath (K8s 13.4) (#1060)
* Docs: rename ingress WithRoute to WithPath
Aspire.Hosting.Kubernetes renamed the Ingress routing extension from
WithRoute to WithPath. Gateway API kept WithRoute. Update the only
live code samples that still showed ingress.WithRoute (the 13.3
what's-new ingress sample in English and Japanese) and add a short
breaking-change note to the 13.4 what's-new page.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Docs: add WithPath example to Ingress overview
Add a 'Routing paths to services' section to the Ingress/Gateway
overview showing path-based routing with the new WithPath API,
including a brief note about the WithRoute -> WithPath rename and
that the Gateway API equivalent keeps the original name.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Docs: add callout recommending Gateway API over Ingress
Add a tip callout near the top of kubernetes-ingress.mdx linking to
the upstream Kubernetes Gateway API page and the Gateway API concepts
overview, encouraging readers to prefer AddGateway(...) over
AddIngress(...) for new deployments.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Fix Kubernetes ingress docs samples
Keep the 13.3 what's-new sample historically accurate and declare the Kubernetes environment in the new Ingress routing examples.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Mitch Denny <midenn@orangecake.local>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Sebastien Ros <sebastienros@gmail.com>
* docs: clarify RunSyncOnBackgroundThread applies to async-returning exports (#1079)
Fixes TypeScript AppHost deadlock behavior documented in microsoft/aspire#17508.
The RunSyncOnBackgroundThread option now correctly applies to the
synchronous invocation path of async-returning exports (Task/ValueTask),
not just synchronous exports. Update the ATS-compatible type table and
the ASPIREEXPORT010 diagnostic page to reflect this expanded coverage.
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Document proxyless endpoint requirements
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: expand VS Code Go debugging section in go-host integration guide (#1082)
Document the new native VS Code Go debugging support added in
microsoft/aspire#17406:
- The Aspire VS Code extension detects the golang.go extension and
launches the Go debugger via dlv-dap automatically.
- Build flags (buildTags, ldFlags, gcFlags) configured on the resource
are forwarded to Delve as build flags.
- WithDelveServer and VS Code debugging are mutually exclusive.
- Reorganize the debugging section with VS Code and headless Delve
as separate sub-sections.
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* [docs] Add Blazor hosting integration docs and Dockerfile factory API (#1061)
* docs: Add Blazor hosting integration page and Dockerfile factory APIs
Document the newly polyglot-exported APIs from microsoft/aspire#17420:
- Add Blazor hosting integration page (integrations/dotnet/blazor-hosting.mdx)
covering AddBlazorGateway, WithBlazorClientApp, and AddBlazorWasmProject
with C# and TypeScript code examples
- Update app-host/withdockerfile.mdx to add a 'Generate a Dockerfile with a
factory function' section covering AddDockerfileFactory / WithDockerfileFactory
with C# and TypeScript examples
- Add Blazor hosting entry to the integrations sidebar
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: add blazor get-started and connect pages and align host layout
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
* docs: clarify Dockerfile factory TypeScript support
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: tab Dockerfile factory AppHost samples
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: use fluent Blazor TypeScript samples
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: remove Go Blazor connection sample
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: use fluent Blazor CSharp sample
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Sebastien Ros <sebastienros@gmail.com>
* Document Aspire resource lifetimes (#1084)
* [docs] Document Aspire resource lifetimes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* [docs] Update Japanese resource lifetime links
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* [docs] Enable twoslash for lifetime examples
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* [docs] Update Japanese resource lifetime label
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update src/frontend/src/content/docs/app-host/resource-lifetimes.mdx
Co-authored-by: David Pine <david.pine@microsoft.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
* [docs] Document TypeScript brownfield workspace subdirectory init and script preservation (#1080)
* docs: Document TypeScript brownfield workspace subdirectory init and script preservation
Documents the behavior introduced in microsoft/aspire#17510:
- Workspace subdirectory layout when running aspire init from a subdirectory
- Root package.json delegate scripts (aspire:start, aspire:build, aspire:dev)
- Script preservation: existing aspire:-prefixed scripts are not overwritten
- Package-manager isolation between the AppHost and guest packages
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Sébastien Ros <sebastienros@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* [docs] Clarify connection-string resolution priority for PublishAsMigrationBundle container (#1088)
* docs: clarify connection-string resolution priority for PublishAsMigrationBundle container
Explicitly document that .WithReference() takes priority over .WaitFor()
for connection-string resolution in the generated Dockerfile and bundle
environment variables when publishContainer: true.
Documents behavior fix from microsoft/aspire#16966.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Andriy Svyryd <AndriySvyryd@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* fix(docs): update references from .NET Aspire to Aspire in documentation (#1111)
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
* [docs] Fix pnpm and Bun runtime support for PublishAsPackageScript (#1020)
* docs: document pnpm and Bun runtime support for PublishAsNpmScript
Documents microsoft/aspire#17178 which fixes the pnpm PublishAsNpmScript
Docker runtime. The generated runtime Dockerfile now enables pnpm via
Corepack before running the entrypoint, and Bun reuses the Bun build image
for the runtime stage.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update JavaScript docs for package script API
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
* [docs] Update notification center docs to include canceled command state (#1008)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* [docs] Document Ctrl+C shutdown behavior for aspire run (#1119)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: James Newton-King <james@newtonking.com>
* [docs] aspire logs: document --search option (#948)
* docs: add --search option to aspire logs command reference
Documents the --search / -s option added in microsoft/aspire#17010,
including server-side filtering behavior when connected to a v2+
AppHost auxiliary backchannel.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Apply suggestion from @JamesNK
* Expand --search docs with multi-word AND logic, quoted phrases, and examples
* Simplify --search option description
---------
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: James Newton-King <james@newtonking.com>
* [docs] Add --search option docs to aspire otel telemetry commands (#1081)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: James Newton-King <james@newtonking.com>
* [docs] Update aspire ps and resource command docs for CLI log path (#991)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: James Newton-King <james@newtonking.com>
* [docs] Update aspire ps command docs - remove Logs column, add SDK column (#1064)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
Co-authored-by: James Newton-King <james@newtonking.com>
* Update docs for TypeScript AppHost GA (#1112)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: clarify --channel identity-channel auto-selection for aspire new (#1118)
When --channel is omitted, aspire new now automatically uses the running
CLI's identity channel (daily, staging, pr-N) when it matches a
registered explicit channel. Clarify this behavior in the --channel
option description so pre-release CLI users understand the default
channel selection without needing to pass --channel explicitly.
Documents the fix from microsoft/aspire#17637.
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update aspire ps docs: clarify AppHost-only scope, link to aspire describe (#1109)
Documents the removal of the --resources and --include-hidden options
from aspire ps (microsoft/aspire#17479). The command is now strictly an
AppHost-level summary; users who need per-resource details or streaming
should use aspire describe.
Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix Orleans TypeScript reference samples (#1124)
Update the Orleans integration documentation to use the 13.4 TypeScript AppHost methods for silo and client references.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update API docs for Aspire 13.4 (#1132)
Regenerate the integration catalog, C# API JSON, TypeScript API JSON, and twoslash declarations from the release/13.4 NuGet feed.
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-a…
TypeScript AppHosts are GA in the current docs, so the public guidance needs to describe the supported setup path and generated SDK location consistently.
Summary
aspire addandaspire restoreCLI docs to explain how TypeScript AppHosts updateaspire.config.jsonand regenerate the SDK.apphost.mtsand./.aspire/modules/aspire.mjsgenerated SDK path fromrelease/13.4.Related to microsoft/aspire#17043.
Validation
pnpm --dir ./src/frontend run test:unit:docspnpm --dir ./src/frontend run test:unit:twoslash-blocksNODE_OPTIONS=--max-old-space-size=8192 pnpm --dir ./src/frontend run build:skip-search