PluginBench
Skill
Official
Fail
Audit score 45

aspire

github/awesome-copilot

Reference and workflow guide for building, running, and deploying Aspire polyglot distributed apps.

What is aspire?

This skill equips an AI assistant to help create, run, debug, configure, deploy, and troubleshoot Aspire distributed applications — a code-first, polyglot orchestration toolchain for containers, executables, and cloud resources. Use it when working with the Aspire CLI, AppHost projects, service discovery, integrations, the MCP server, dashboard, or deployment targets like Docker, Kubernetes, or Azure.

  • Provides CLI command reference and prerequisites for installing and using Aspire
  • Describes AppHost orchestration patterns for polyglot workloads (.NET, Python, JS/TS, Go, Java, Rust, Bun, Deno, PowerShell)
  • Documents service discovery, resource lifecycle, and integration wiring patterns
  • Explains how to set up and use the Aspire MCP server for AI-assisted documentation search and integration lookup
  • Points to detailed reference files for architecture, dashboard, testing, deployment, and troubleshooting, loaded on demand

How to install aspire

npx skills add https://github.com/github/awesome-copilot --skill aspire
Prerequisites
  • .NET SDK 10.0 or later (required even for non-.NET workloads since the AppHost is .NET)
  • A container runtime: Docker Desktop, Podman, or Rancher Desktop
  • Optional: VS Code + C# Dev Kit, Visual Studio 2022, or JetBrains Rider
  • Aspire CLI installed via install.sh/install.ps1, and Aspire.ProjectTemplates installed via dotnet new install
Claude Code
Cursor
Windsurf
Cline

How to use aspire

  1. 1.Install prerequisites: .NET SDK 10.0+ and a container runtime (Docker Desktop, Podman, or Rancher Desktop)
  2. 2.Install the Aspire CLI via curl/install.sh (Linux/macOS) or irm/install.ps1 (Windows), then verify with `aspire --version`
  3. 3.Install project templates with `dotnet new install Aspire.ProjectTemplates`
  4. 4.Scaffold a new app with `aspire new <template>` (e.g. aspire-starter, aspire-py-starter, aspire-ts-cs-starter) or `aspire init` in an existing project
  5. 5.Define services, containers, and cloud resources in the AppHost project using polyglot APIs (AddProject, AddPythonApp, AddViteApp, AddGolangApp, etc.) and wire references for service discovery
  6. 6.Run the app locally with `aspire run`, which starts the DCP engine and dashboard for logs/traces/metrics
  7. 7.Add integrations as needed with `aspire add <integration>`
  8. 8.Reference the included docs (CLI reference, MCP server, integrations catalog, polyglot APIs, architecture, dashboard, deployment, testing, troubleshooting) on demand for deeper detail

Use cases

Good for
  • Scaffolding a new Aspire AppHost project from a template (starter, Python, TypeScript/React, single-file)
  • Wiring up service discovery and references between a .NET API, Python ML service, React frontend, and Go worker in one AppHost
  • Setting up the Aspire MCP server so an AI assistant can search Aspire docs or query integrations
  • Debugging or troubleshooting a running Aspire distributed app via the dashboard or diagnostic codes
  • Deploying an Aspire app to Docker, Kubernetes, Azure Container Apps, or Azure App Service
Who it's for
  • Developers building distributed applications with Aspire across multiple languages
  • .NET developers orchestrating polyglot microservices, containers, and cloud resources
  • Engineers setting up AI-assisted documentation search (MCP/Context7) for Aspire
  • DevOps engineers deploying Aspire apps to Docker, Kubernetes, or Azure

aspire FAQ

Does Aspire only work with .NET workloads?

No, it's polyglot. The AppHost itself is .NET, but it orchestrates workloads written in Python, JavaScript/TypeScript, Go, Java, Rust, Bun, Deno, and PowerShell in addition to C#.

What .NET SDK version is required?

.NET SDK 10.0+ is required, even for non-.NET workloads, because the AppHost project itself is .NET.

How do I add documentation search for Aspire?

Aspire CLI 13.2+ includes built-in MCP docs search tools (list_docs, search_docs, get_doc). On 13.1 or earlier, use Context7 or GitHub search as fallbacks.

What's the difference between aspire run and aspire publish?

aspire run starts all resources locally using the DCP engine for development. aspire publish generates deployment manifests for targets like Docker, Kubernetes, Azure Container Apps, or Azure App Service.

What container runtime do I need?

Docker Desktop, Podman, or Rancher Desktop is required since Aspire orchestrates containers alongside executables and cloud resources.

Full instructions (SKILL.md)

Source of truth, from github/awesome-copilot.


name: aspire description: 'Aspire skill covering the Aspire CLI, AppHost orchestration, service discovery, integrations, MCP server, VS Code extension, Dev Containers, GitHub Codespaces, templates, dashboard, and deployment. Use when the user asks to create, run, debug, configure, deploy, or troubleshoot an Aspire distributed application.'

Aspire — Polyglot Distributed-App Orchestration

Aspire is a code-first, polyglot toolchain for building observable, production-ready distributed applications. It orchestrates containers, executables, and cloud resources from a single AppHost project — regardless of whether the workloads are C#, Python, JavaScript/TypeScript, Go, Java, Rust, Bun, Deno, or PowerShell.

Mental model: The AppHost is a conductor — it doesn't play the instruments, it tells every service when to start, how to find each other, and watches for problems.

Detailed reference material lives in the references/ folder — load on demand.


References

ReferenceWhen to load
CLI ReferenceCommand flags, options, or detailed usage
MCP ServerSetting up MCP for AI assistants, available tools
Integrations CatalogDiscovering integrations via MCP tools, wiring patterns
Polyglot APIsMethod signatures, chaining options, language-specific patterns
ArchitectureDCP internals, resource model, service discovery, networking, telemetry
DashboardDashboard features, standalone mode, GenAI Visualizer
DeploymentDocker, Kubernetes, Azure Container Apps, App Service
TestingIntegration tests against the AppHost
TroubleshootingDiagnostic codes, common errors, and fixes

1. Researching Aspire Documentation

The Aspire team ships an MCP server that provides documentation tools directly inside your AI assistant. See MCP Server for setup details.

Aspire CLI 13.2+ (recommended — has built-in docs search)

If running Aspire CLI 13.2 or later (aspire --version), the MCP server includes docs search tools:

ToolDescription
list_docsLists all available documentation from aspire.dev
search_docsPerforms weighted lexical search across indexed documentation
get_docRetrieves a specific document by its slug

These tools were added in PR #14028. To update: aspire update --self --channel daily.

For more on this approach, see David Pine's post: https://davidpine.dev/posts/aspire-docs-mcp-tools/

Aspire CLI 13.1 (integration tools only)

On 13.1, the MCP server provides integration lookup but not docs search:

ToolDescription
list_integrationsLists available Aspire hosting integrations
get_integration_docsGets documentation for a specific integration package

For general docs queries on 13.1, use Context7 as your primary source (see below).

Fallback: Context7

Use Context7 (mcp_context7) when the Aspire MCP docs tools are unavailable (13.1) or the MCP server isn't running:

Step 1 — Resolve the library ID (one-time per session):

Call mcp_context7_resolve-library-id with libraryName: ".NET Aspire".

RankLibrary IDUse when
1/microsoft/aspire.devPrimary source. Guides, integrations, CLI reference, deployment.
2/dotnet/aspireAPI internals, source-level implementation details.
3/communitytoolkit/aspireNon-Microsoft polyglot integrations (Go, Java, Node.js, Ollama).

Step 2 — Query docs:

libraryId: "/microsoft/aspire.dev", query: "Python integration AddPythonApp service discovery"
libraryId: "/communitytoolkit/aspire", query: "Golang Java Node.js community integrations"

Fallback: GitHub search (when Context7 is also unavailable)

Search the official docs repo on GitHub:

  • Docs repo: microsoft/aspire.dev — path: src/frontend/src/content/docs/
  • Source repo: dotnet/aspire
  • Samples repo: dotnet/aspire-samples
  • Community integrations: CommunityToolkit/Aspire

2. Prerequisites & Install

RequirementDetails
.NET SDK10.0+ (required even for non-.NET workloads — the AppHost is .NET)
Container runtimeDocker Desktop, Podman, or Rancher Desktop
IDE (optional)VS Code + C# Dev Kit, Visual Studio 2022, JetBrains Rider
# Linux / macOS
curl -sSL https://aspire.dev/install.sh | bash

# Windows PowerShell
irm https://aspire.dev/install.ps1 | iex

# Verify
aspire --version

# Install templates
dotnet new install Aspire.ProjectTemplates

3. Project Templates

TemplateCommandDescription
aspire-starteraspire new aspire-starterASP.NET Core/Blazor starter + AppHost + tests
aspire-ts-cs-starteraspire new aspire-ts-cs-starterASP.NET Core/React starter + AppHost
aspire-py-starteraspire new aspire-py-starterFastAPI/React starter + AppHost
aspire-apphost-singlefileaspire new aspire-apphost-singlefileEmpty single-file AppHost

4. AppHost Quick Start (Polyglot)

The AppHost orchestrates all services. Non-.NET workloads run as containers or executables.

var builder = DistributedApplication.CreateBuilder(args);

// Infrastructure
var redis = builder.AddRedis("cache");
var postgres = builder.AddPostgres("pg").AddDatabase("catalog");

// .NET API
var api = builder.AddProject<Projects.CatalogApi>("api")
    .WithReference(postgres).WithReference(redis);

// Python ML service
var ml = builder.AddPythonApp("ml-service", "../ml-service", "main.py")
    .WithHttpEndpoint(targetPort: 8000).WithReference(redis);

// React frontend (Vite)
var web = builder.AddViteApp("web", "../frontend")
    .WithHttpEndpoint(targetPort: 5173).WithReference(api);

// Go worker
var worker = builder.AddGolangApp("worker", "../go-worker")
    .WithReference(redis);

builder.Build().Run();

For complete API signatures, see Polyglot APIs.


5. Core Concepts (Summary)

ConceptKey point
Run vs Publishaspire run = local dev (DCP engine). aspire publish = generate deployment manifests.
Service discoveryAutomatic via env vars: ConnectionStrings__<name>, services__<name>__http__0
Resource lifecycleDAG ordering — dependencies start first. .WaitFor() gates on health checks.
Resource typesProjectResource, ContainerResource, ExecutableResource, ParameterResource
Integrations144+ across 13 categories. Hosting package (AppHost) + Client package (service).
DashboardReal-time logs, traces, metrics, GenAI visualizer. Runs automatically with aspire run.
MCP ServerAI assistants can query running apps and search docs via CLI (STDIO).
TestingAspire.Hosting.Testing — spin up full AppHost in xUnit/MSTest/NUnit.
DeploymentDocker, Kubernetes, Azure Container Apps, Azure App Service.

6. CLI Quick Reference

Valid commands in Aspire CLI 13.1:

CommandDescriptionStatus
aspire new <template>Create from templateStable
aspire initInitialize in existing projectStable
aspire runStart all resources locallyStable
aspire add <integration>Add an integrationStable
aspire publishGenerate deployment manifestsPreview
aspire configManage configuration settingsStable
aspire cacheManage disk cacheStable
aspire deployDeploy to defined targetsPreview
aspire do <step>Execute a pipeline stepPreview
aspire updateUpdate integrations (or --self for CLI)Preview
aspire mcp initConfigure MCP for AI assistantsStable
aspire mcp startStart the MCP serverStable

Full command reference with flags: CLI Reference.


7. Common Patterns

Adding a new service

  1. Create your service directory (any language)
  2. Add to AppHost: Add*App() or AddProject<T>()
  3. Wire dependencies: .WithReference()
  4. Gate on health: .WaitFor() if needed
  5. Run: aspire run

Migrating from Docker Compose

  1. aspire new aspire-apphost-singlefile (empty AppHost)
  2. Replace each docker-compose service with an Aspire resource
  3. depends_on.WithReference() + .WaitFor()
  4. ports.WithHttpEndpoint()
  5. environment.WithEnvironment() or .WithReference()

8. Key URLs

ResourceURL
Documentationhttps://aspire.dev
Runtime repohttps://github.com/dotnet/aspire
Docs repohttps://github.com/microsoft/aspire.dev
Sampleshttps://github.com/dotnet/aspire-samples
Community Toolkithttps://github.com/CommunityToolkit/Aspire
Dashboard imagemcr.microsoft.com/dotnet/aspire-dashboard
Discordhttps://aka.ms/aspire/discord
Reddithttps://www.reddit.com/r/aspiredotdev/