Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 9, 2026

  • Add multi-language code samples to SimpleAppHostCode component
  • Add mermaid diagrams with language-specific logos
  • Add architecture explanations under each language section
  • Explain the code model, relationships, and dependencies
  • Add deep links to first-app with ?lang=csharp and ?lang=python query strings
  • Replace Tabs/TabItem with Pivot/PivotSelector components
  • Fix API resource descriptions to match displayed code for each language
  • Add Go and Java pivots with Community Toolkit callouts and integration links
  • Normalize code sample line counts across all languages for consistent mark/collapse
  • Put API type descriptions behind pivots to reduce reader confusion
  • Refactor SimpleAppHostCode to accept lang prop, move pivots to consuming MDX
  • Change "Select your programming language" to "Select your API platform"

Changes

Updated app-host.mdx PivotSelector title from "Select your programming language" to "Select your API platform" since Node.js is a runtime, not a programming language.

Screenshot

Select your API platform

Original prompt

Add samples for other languages in AppHost page
https://aspire.dev/get-started/app-host/
As I glanced over the AppHost page today, I realized that we are lacking the samples for the other languages. It would be nice to have them as well, as this would clearly message to anyone - "Hey, we welcome everyone".


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits January 9, 2026 12:52
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Copilot AI changed the title [WIP] Add samples for other languages in AppHost page Add multi-language samples to AppHost page Jan 9, 2026
Copilot AI requested a review from IEvangelist January 9, 2026 13:01
@IEvangelist
Copy link
Member

This is a great start - but for the mermaid diagrams, let's update those to as well. Add tabs around them for each language, and then change the logos accordingly, is should simply be replacing logos:dotnet with logos:python and logos:nodejs accordingly.

@IEvangelist
Copy link
Member

Hey @copilot, please address my feedback.

@IEvangelist IEvangelist marked this pull request as ready for review January 9, 2026 13:13
Copilot AI review requested due to automatic review settings January 9, 2026 13:13
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR enhances the AppHost page by adding multi-language samples that demonstrate Aspire's capability to orchestrate applications across different programming languages. Previously, only C# examples were shown.

  • Introduces tabbed interface showing .NET, Python, and Node.js orchestration scenarios
  • Maintains consistent three-tier architecture (PostgreSQL → API → Frontend) across all examples
  • Uses language-appropriate methods (AddProject, AddUvicornApp, AddNodeApp) for each scenario

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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

Copilot AI commented Jan 9, 2026

This is a great start - but for the mermaid diagrams, let's update those to as well. Add tabs around them for each language, and then change the logos accordingly, is should simply be replacing `logos...

Added tabbed mermaid diagrams with language-specific logos in commit ddd2a9a. Both architecture diagrams now sync with the code sample tabs using logos:python and logos:nodejs-icon for the respective tabs.

Python API tab with updated diagram

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/CommunityToolkit/Aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/CommunityToolkit/Aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/microsoft/aspire.dev
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/microsoft/aspire.dev/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • learn.microsoft.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
  • telemetry.astro.build
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js preview --port 4321 �� %aE ���� --follow /home/REDACTED/.local/share/pnpm/.tools/pnpm/10.25.0_tmp_3350/node_modules/pnpm/dist/node-gyp-bin/[:lower:] ect.md --follow tend/node_module--pretty=format:������������ %H �� %aI �� %s �� %D �� %b �� %aN �� %aE ���� git log �� %aE ���� --follow s/.bin/git ands/aspire-do.msh --follow cal/bin/git git (dns block)
  • vimeo.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@IEvangelist IEvangelist enabled auto-merge (squash) January 9, 2026 13:43
@IEvangelist
Copy link
Member

Hey @copilot, under each tab explain the architecture of the diagrams. Then for the code explain how it's model, the relationships/dependencies, etc. Make it obvious the changing the tab changes the API, but regardless we're demonstrating a PostgreSQL database and a React frontend. Provide deep links back to first-app passing the ?lang={csharp|python} query string (use csharp for .NET, and python for both Python). No Node.js or JS example yet.

…irst-app

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

Copilot AI commented Jan 10, 2026

Hey @copilot, under each tab explain the architecture of the diagrams. Then for the code explain how it's model, the relationships/dependencies, etc. Make it obvious the changing the tab changes the A...

Done in commit 70b8e0d. Changes include:

  • Removed the Node.js tab (only .NET and Python now)
  • Added architecture explanations under each diagram tab
  • Added deep links to /get-started/first-app/?lang=csharp for .NET and ?lang=python for Python
  • Explained the code model: WithReference() establishes dependencies, WaitFor() ensures startup order
  • Made it clear that switching tabs changes only the API while PostgreSQL database and React frontend remain the same

AppHost page with .NET and Python tabs

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/CommunityToolkit/Aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/CommunityToolkit/Aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/microsoft/aspire.dev
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/microsoft/aspire.dev/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • learn.microsoft.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
  • telemetry.astro.build
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js preview --port 4321 �� %aE ���� --follow /snap/bin/git ect.md --follow .0_tmp_3374/node--pretty=format:������������ %H �� %aI �� %s �� %D �� %b �� %aN �� %aE ���� git log %D �� %b �� %aN src/frontend/src/content/docs/uk/index.mdx --follow s/.bin/git ands/aspire-do.msh ire.dev.git .0_tmp_3374/nodepagefind --site ../../../../../../dist git (dns block)
  • vimeo.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@IEvangelist
Copy link
Member

I think you misunderstood me @copilot, I want you to re-add the JavaScript tabs. I was saying that you didn't need to link out to the first-app/?lang=javascript as that's still not ready yet, but by all means, please explain conceptually how it would work here.

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

Copilot AI commented Jan 10, 2026

I think you misunderstood me @copilot, I want you to re-add the JavaScript tabs. I was saying that you didn't need to link out to the first-app/?lang=javascript as that's still not ready yet, but by...

Re-added the Node.js/JavaScript tabs in commit 9a9ed73. All three tabs now show:

  • .NET API — with deep link to first-app/?lang=csharp
  • Python API — with deep link to first-app/?lang=python
  • Node.js API — conceptual explanation only (uses AddNodeApp() with WithNpm(), no tutorial link)

Each tab explains the architecture and how it connects to PostgreSQL and the React frontend.

AppHost page with all three tabs

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/CommunityToolkit/Aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/CommunityToolkit/Aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/microsoft/aspire.dev
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/microsoft/aspire.dev/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • learn.microsoft.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
  • telemetry.astro.build
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js preview --port 4321 �� %aE ���� --follow cal/share/pnpm/.tools/pnpm/10.25.0_tmp_3367/node_modules/pnpm/dist/node-gyp-bin/git ect.md REDACTED git /usr/lib/git-cor--follow remo�� �� %aE ���� REDACTED tend/node_modules/.bin/git ands/aspire-do.msh --follow /home/REDACTED/.dopagefind --site ../../../../../../dist git (dns block)
  • vimeo.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

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

Copilot AI commented Jan 10, 2026

Getting better for sure! I just noticed @copilot - that the description under the Adding an API resource and declaring a dependency code for Python is still describing different code. Please verify ...

Fixed in commit 1606ea9. The "Adding an API resource and declaring a dependency" description is now wrapped in <Pivot> blocks so each language shows the correct explanation:

  • C#: AddProject<Projects.Api>("api")
  • Python: AddUvicornApp("api", "../api", "main:app") with WithUv()
  • Node.js: AddNodeApp("api", "../api", "server.js") with WithNpm()

Python API description matching code

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/CommunityToolkit/Aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/CommunityToolkit/Aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/microsoft/aspire.dev
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/microsoft/aspire.dev/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • learn.microsoft.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
  • telemetry.astro.build
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js preview --port 4321 �� %aE ���� --follow cal/share/pnpm/.tools/pnpm/10.25.0/bin/git ect.md --follow .0/bin/git git log �� %aE ���� --follow tnet/tools/git ands/aspire-do.msh --follow tend/node_modulepagefind --site ../../../../../../dist git (dns block)
  • vimeo.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@IEvangelist
Copy link
Member

Come to think of it @copilot, let's add Go and Java pivots as well. And add callouts to the community toolkit NuGet packages, and site relative links to /integrations/frameworks/go-apps/ and /integrations/frameworks/java/ accordingly, likewise you can add links to /integrations/frameworks/javascript/ and /integrations/frameworks/python/. For the new pivots, base your code on the corresponding integration articles.

…n links

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

Copilot AI commented Jan 10, 2026

Come to think of it @copilot, let's add Go and Java pivots as well. And add callouts to the community toolkit NuGet packages, and site relative links to /integrations/frameworks/go-apps/ and `/inte...

Done in commit 1324ae8. Added Go and Java pivots with:

Go tab with Community Toolkit callout

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/CommunityToolkit/Aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/CommunityToolkit/Aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/microsoft/aspire.dev
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/microsoft/aspire.dev/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • learn.microsoft.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
  • telemetry.astro.build
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js preview --port 4321 �� %aE ���� --follow tend/node_modules/.bin/git ion.md --fix-thin s/.bin/git e/git log �� %aE ���� --follow rgo/bin/git ands/aspire-execsh --follow st/node-gyp-bin/pagefind --site ../../../../../../dist git (dns block)
  • vimeo.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@IEvangelist
Copy link
Member

Hey @copilot, can we make each language's code be the same number of lines to ensure that our mark/collapse callouts are consistent across pivots? Also, anything we could do about the well of text here:

.NET API: Uses AddProject<Projects.Api>() to reference a .NET project
Python API: Uses AddUvicornApp() with WithUv() for ASGI apps like FastAPI
Node.js API: Uses AddNodeApp() with WithNpm() for Node.js applications
Go API: Uses AddGolangApp() for Go applications
Java API: Uses AddSpringApp() for Spring Boot applications

Let's put these behind a pivot to not confuse the reader.

…d pivots

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

Copilot AI commented Jan 10, 2026

Hey @copilot, can we make each language's code be the same number of lines to ensure that our mark/collapse callouts are consistent across pivots? Also, anything we could do about the well of text her...

Done in commit 75bcc54. Changes:

  1. Normalized code sample line counts: Each language now has consistent line structure with .WithUv(), .WithNpm(), etc. on their own lines so mark/collapse callouts work consistently across pivots.

  2. Put API type descriptions behind pivots: Replaced the bullet list with pivoted descriptions showing only the relevant method for the selected language (e.g., "Uses AddProject<Projects.Api>() to reference a .NET project." for C#).

C# tab with normalized code

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/CommunityToolkit/Aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/CommunityToolkit/Aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/microsoft/aspire.dev
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/microsoft/aspire.dev/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • learn.microsoft.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
  • telemetry.astro.build
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js preview --port 4321 �� %aE ���� --follow cal/share/pnpm/.tools/pnpm/10.25.0_tmp_3370/node_modules/pnpm/dist/node-gyp-bin/git ect.md --follow p/bin/git /usr/lib/git-cor--follow inde�� %D �� %b �� %aN src/frontend/src/content/docs/uk/index.mdx --fix-thin _modules/pnpm/dist/node-gyp-bin/git ands/aspire-do.msh --auto tnet/tools/git git (dns block)
  • vimeo.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@IEvangelist
Copy link
Member

How about we remove the pivots from the SimpleAppHost and add a props for the lang, then we can pivot around it in the consuming .mdx and pass the correct marks/collapse values. @copilot

…ing MDX

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

Copilot AI commented Jan 10, 2026

How about we remove the pivots from the SimpleAppHost and add a props for the lang, then we can pivot around it in the consuming .mdx and pass the correct marks/collapse values. @copilot

Done in commit 55e068c. Refactored SimpleAppHostCode to:

  1. Accept a lang prop ('csharp' | 'python' | 'nodejs' | 'go' | 'java') instead of containing pivots internally
  2. Use a code map to select the appropriate code based on the lang prop

The consuming MDX now wraps each <SimpleAppHostCode> in <Pivot> blocks and can pass different mark/collapse values for each language:

<Pivot id="csharp">
<SimpleAppHostCode lang="csharp" mark={{ range: '9-11' }} collapse={['1-6', '13-17']} />
</Pivot>
<Pivot id="python">
<SimpleAppHostCode lang="python" mark={{ range: '9-12' }} collapse={['1-6', '14-18']} />
</Pivot>

Python tab with refactored component

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/CommunityToolkit/Aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/CommunityToolkit/Aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/dotnet/aspire/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • https://api.github.com/repos/microsoft/aspire.dev
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/microsoft/aspire.dev/contributors
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (http block)
  • learn.microsoft.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
  • telemetry.astro.build
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js preview --port 4321 �� %aE ���� --follow /usr/local/bin/git g.md (dns block)
  • vimeo.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@IEvangelist
Copy link
Member

Hey @copilot, please update the details around 'Select your programming language` as Node.js isn't really a programming language. Should we maybe say something like programming language or API runtime? Have a go at it.

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

Copilot AI commented Jan 14, 2026

Hey @copilot, please update the details around 'Select your programming language` as Node.js isn't really a programming language. Should we maybe say something like programming language or API runtime...

Changed to "Select your API platform" in commit 02339d3.

Select your API platform

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/CommunityToolkit/Aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/dotnet/aspire-samples
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • https://api.github.com/repos/microsoft/aspire.dev
    • Triggering command: /usr/local/bin/node node ./scripts/update-github-stats.js (http block)
  • telemetry.astro.build
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/aspire.dev/aspire.dev/src/frontend/node_modules/.bin/../astro/astro.js dev --port 4321 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@IEvangelist IEvangelist merged commit 6c51d57 into main Jan 15, 2026
6 checks passed
@IEvangelist IEvangelist deleted the copilot/add-samples-for-other-languages branch January 15, 2026 18:29
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.

3 participants