From 6512c785c70f79049326ae5c43a264f88002399c Mon Sep 17 00:00:00 2001 From: Chris McKee Date: Thu, 5 Feb 2026 19:00:02 -0600 Subject: [PATCH 1/3] feat: Add Aspire polyglot distributed-app orchestration skill Add comprehensive Aspire skill covering CLI, AppHost orchestration, service discovery, integrations (144+), MCP server, dashboard, testing, deployment, and troubleshooting. Includes reference docs for polyglot APIs, architecture, CLI, integrations catalog, and more. --- docs/README.skills.md | 1 + skills/aspire/SKILL.md | 219 +++++++++++ skills/aspire/references/architecture.md | 341 ++++++++++++++++++ skills/aspire/references/cli-reference.md | 255 +++++++++++++ skills/aspire/references/dashboard.md | 219 +++++++++++ skills/aspire/references/deployment.md | 237 ++++++++++++ .../aspire/references/integrations-catalog.md | 278 ++++++++++++++ skills/aspire/references/mcp-server.md | 183 ++++++++++ skills/aspire/references/polyglot-apis.md | 296 +++++++++++++++ skills/aspire/references/testing.md | 281 +++++++++++++++ skills/aspire/references/troubleshooting.md | 193 ++++++++++ 11 files changed, 2503 insertions(+) create mode 100644 skills/aspire/SKILL.md create mode 100644 skills/aspire/references/architecture.md create mode 100644 skills/aspire/references/cli-reference.md create mode 100644 skills/aspire/references/dashboard.md create mode 100644 skills/aspire/references/deployment.md create mode 100644 skills/aspire/references/integrations-catalog.md create mode 100644 skills/aspire/references/mcp-server.md create mode 100644 skills/aspire/references/polyglot-apis.md create mode 100644 skills/aspire/references/testing.md create mode 100644 skills/aspire/references/troubleshooting.md diff --git a/docs/README.skills.md b/docs/README.skills.md index c2c3090f..61f9ff69 100644 --- a/docs/README.skills.md +++ b/docs/README.skills.md @@ -24,6 +24,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code | ---- | ----------- | -------------- | | [agentic-eval](../skills/agentic-eval/SKILL.md) | Patterns and techniques for evaluating and improving AI agent outputs. Use this skill when:
- Implementing self-critique and reflection loops
- Building evaluator-optimizer pipelines for quality-critical generation
- Creating test-driven code refinement workflows
- Designing rubric-based or LLM-as-judge evaluation systems
- Adding iterative improvement to agent outputs (code, reports, analysis)
- Measuring and improving agent response quality | None | | [appinsights-instrumentation](../skills/appinsights-instrumentation/SKILL.md) | Instrument a webapp to send useful telemetry data to Azure App Insights | `LICENSE.txt`
`examples/appinsights.bicep`
`references/ASPNETCORE.md`
`references/AUTO.md`
`references/NODEJS.md`
`references/PYTHON.md`
`scripts/appinsights.ps1` | +| [aspire](../skills/aspire/SKILL.md) | 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. | `references/architecture.md`
`references/cli-reference.md`
`references/dashboard.md`
`references/deployment.md`
`references/integrations-catalog.md`
`references/mcp-server.md`
`references/polyglot-apis.md`
`references/testing.md`
`references/troubleshooting.md` | | [azure-deployment-preflight](../skills/azure-deployment-preflight/SKILL.md) | Performs comprehensive preflight validation of Bicep deployments to Azure, including template syntax validation, what-if analysis, and permission checks. Use this skill before any deployment to Azure to preview changes, identify potential issues, and ensure the deployment will succeed. Activate when users mention deploying to Azure, validating Bicep files, checking deployment permissions, previewing infrastructure changes, running what-if, or preparing for azd provision. | `references/ERROR-HANDLING.md`
`references/REPORT-TEMPLATE.md`
`references/VALIDATION-COMMANDS.md` | | [azure-devops-cli](../skills/azure-devops-cli/SKILL.md) | Manage Azure DevOps resources via CLI including projects, repos, pipelines, builds, pull requests, work items, artifacts, and service endpoints. Use when working with Azure DevOps, az commands, devops automation, CI/CD, or when user mentions Azure DevOps CLI. | None | | [azure-resource-visualizer](../skills/azure-resource-visualizer/SKILL.md) | Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources. Use this skill when the user asks for a diagram of their Azure resources or help in understanding how the resources relate to each other. | `LICENSE.txt`
`assets/template-architecture.md` | diff --git a/skills/aspire/SKILL.md b/skills/aspire/SKILL.md new file mode 100644 index 00000000..95404ce5 --- /dev/null +++ b/skills/aspire/SKILL.md @@ -0,0 +1,219 @@ +--- +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.' +metadata: + author: chrismckee + version: "2.0" +--- + +# 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. + +## Deep-dive references + +This skill follows progressive disclosure. The sections below cover essentials. For detailed reference, load these on demand: + +| Reference | When to load | +|---|---| +| [Polyglot APIs](references/polyglot-apis.md) | Need full method signatures, chaining options, or language-specific patterns | +| [Integrations Catalog](references/integrations-catalog.md) | Looking up specific integrations, NuGet packages, or wiring patterns | +| [CLI Reference](references/cli-reference.md) | Need command flags, options, or detailed usage examples | +| [Architecture](references/architecture.md) | Need DCP internals, resource model, service discovery, networking, or telemetry details | +| [Deployment](references/deployment.md) | Deploying to Docker, Kubernetes, Azure Container Apps, or App Service | +| [MCP Server](references/mcp-server.md) | Setting up the MCP server for AI assistants | +| [Dashboard](references/dashboard.md) | Dashboard features, standalone mode, or GenAI Visualizer | +| [Testing](references/testing.md) | Writing integration tests against the AppHost | +| [Troubleshooting](references/troubleshooting.md) | Diagnostic codes, common errors, and fixes | + +--- + +## 1. Researching Aspire Documentation (Agent Guidance) + +When you need deeper or newer information than this skill provides, search the **official documentation repo** on GitHub. The source-of-truth MDX files live here: + +- **Docs repo:** `microsoft/aspire.dev` — Astro site, MDX format +- **Docs path:** `src/frontend/src/content/docs/` +- **Source repo:** `dotnet/aspire` — runtime (C#) +- **Samples repo:** `dotnet/aspire-samples` +- **Community integrations:** `CommunityToolkit/Aspire` + +### How to search for documentation + +Use `mcp_github_search_code` with these patterns: + +``` +# Find all English docs (298+ MDX files) +path:src/frontend/src/content/docs/ extension:mdx repo:microsoft/aspire.dev + +# Search for a specific topic (e.g., Python integration) +path:src/frontend/src/content/docs/ extension:mdx repo:microsoft/aspire.dev python + +# Find integration docs +path:src/frontend/src/content/docs/integrations extension:mdx repo:microsoft/aspire.dev + +# Find CLI reference +path:src/frontend/src/content/docs/reference/cli extension:mdx repo:microsoft/aspire.dev + +# Find deployment docs +path:src/frontend/src/content/docs/deployment extension:mdx repo:microsoft/aspire.dev +``` + +**Exclude** `path:src/frontend/src/content/docs/ja/` (Japanese translations). + +After finding file paths, use the GitHub file contents tool to read the full MDX for authoritative details. + +### Documentation map + +| Folder | Files | Coverage | +|---|---|---| +| `get-started/` | 16 | Install, quickstarts, templates, Dev Containers, Codespaces | +| `architecture/` | 7 | DCP, resource model, networking, service discovery | +| `app-host/` | 8 | Orchestration, resources, configuration, eventing | +| `fundamentals/` | 13 | Health checks, telemetry, configuration, security | +| `integrations/` | 90+ | Caching, databases, messaging, AI, cloud, frameworks | +| `dashboard/` | 11 | Monitoring, logs, traces, metrics, MCP server | +| `deployment/` | 5 | Docker, K8s, Azure Container Apps, App Service | +| `reference/cli/` | 13 | All CLI commands | +| `testing/` | 3 | Integration testing patterns | +| `diagnostics/` | 30 | Diagnostic codes ASPIRE001–008 + experimental | +| `whats-new/` | 9 | Release notes, breaking changes | + +--- + +## 2. Prerequisites & Install + +| Requirement | Details | +|---|---| +| **.NET SDK** | 10.0+ (required even for non-.NET workloads — the AppHost is .NET) | +| **Container runtime** | Docker Desktop, Podman, or Rancher Desktop | +| **IDE (optional)** | VS Code + C# Dev Kit, Visual Studio 2022, JetBrains Rider | + +```bash +# 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 + +| Template | Command | Description | +|---|---|---| +| **aspire-starter** | `aspire new aspire-starter` | .NET API + web frontend + AppHost + tests | +| **aspire-ts-cs-starter** | `aspire new aspire-ts-cs-starter` | TypeScript frontend + C# API + AppHost | +| **aspire-py-starter** | `aspire new aspire-py-starter` | Python backend + AppHost | +| **aspire** | `aspire new aspire` | Empty AppHost only | + +--- + +## 4. AppHost Quick Start (Polyglot) + +The AppHost orchestrates all services. Non-.NET workloads run as containers or executables — they don't need the .NET SDK themselves. + +```csharp +var builder = DistributedApplication.CreateBuilder(args); + +// Infrastructure +var redis = builder.AddRedis("cache"); +var postgres = builder.AddPostgres("pg").AddDatabase("catalog"); + +// .NET API +var api = builder.AddProject("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 and all chaining methods, see [Polyglot APIs](references/polyglot-apis.md). + +--- + +## 5. Core Concepts (Summary) + +| Concept | Key point | +|---|---| +| **Run vs Publish** | `aspire run` = local dev (DCP engine). `aspire publish` = generate deployment manifests. | +| **Service discovery** | Automatic via env vars: `ConnectionStrings__`, `services____http__0` | +| **Resource lifecycle** | DAG ordering — dependencies start first. `.WaitFor()` gates on health checks. | +| **Resource types** | `ProjectResource`, `ContainerResource`, `ExecutableResource`, `ParameterResource` | +| **Integrations** | 144+ across 13 categories. Hosting package (AppHost) + Client package (service). | +| **Dashboard** | Real-time logs, traces, metrics, GenAI visualizer. Runs automatically with `aspire run`. | +| **MCP Server** | AI assistants can query running apps via CLI (STDIO) or Dashboard (HTTP/SSE). | +| **Testing** | `Aspire.Hosting.Testing` — spin up full AppHost in xUnit/MSTest/NUnit. | +| **Deployment** | Docker, Kubernetes, Azure Container Apps, Azure App Service. | + +For architecture details, see [Architecture](references/architecture.md). + +--- + +## 6. CLI Quick Reference + +| Command | Description | +|---|---| +| `aspire new