aspire
Aspire orchestration for cloud-native distributed applications in any language (C#, Python, Node.js, Go). Handles dependency management, local dev with Docker, Azure deployment, service discovery, and observability dashboards. Use when setting up microservices, containerized apps, or polyglot distributed systems.
About this skill
Aspire is a powerful orchestration framework from Microsoft designed to streamline the creation and management of complex distributed applications. It enables developers to define their application's entire topology, including services, databases, and caches, within a single "AppHost" project using C#. This approach simplifies common challenges like dependency management, service discovery, and local development setup, often leveraging Docker. The skill is particularly useful for polyglot systems, as Aspire can orchestrate components written in different languages such as C#, Python, Node.js, and Go. It integrates seamlessly with Azure for deployment, specifically targeting Azure Container Apps (ACA), and provides built-in observability dashboards for monitoring application health and performance. By automating much of the boilerplate associated with distributed systems, Aspire allows AI agents and developers to focus on business logic rather than intricate infrastructure configuration, providing a consistent experience from local development to cloud deployment.
Best use case
This skill is essential for developers and teams building cloud-native distributed applications, particularly those adopting microservices architectures or needing to integrate services written in multiple programming languages. It simplifies the setup, orchestration, and deployment of these complex systems, allowing developers to focus on application logic rather than intricate infrastructure concerns.
Aspire orchestration for cloud-native distributed applications in any language (C#, Python, Node.js, Go). Handles dependency management, local dev with Docker, Azure deployment, service discovery, and observability dashboards. Use when setting up microservices, containerized apps, or polyglot distributed systems.
A fully configured Aspire project that orchestrates specified services, databases, and caches, ready for local execution or streamlined Azure deployment, with integrated observability.
Practical example
Example input
Hey, I need to start a new distributed application project. I want a .NET API and a Node.js frontend, and both need to connect to a PostgreSQL database. Can you set up the Aspire AppHost for this?
Example output
Certainly! First, I'll ensure you have the Aspire workload installed (`dotnet workload install aspire`). Then, I'll create a new Aspire AppHost project. Here's a snippet for your AppHost, adding a PostgreSQL component and placeholder services:
```csharp
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("postgres").AddDatabase("mydb");
var api = builder.AddProject<Projects.MyApi>("my-api").WithReference(postgres);
var frontend = builder.AddExecutable("node-frontend", "node", "./frontend/app.js").WithReference(api);
builder.Build().Run();
```
Next, you can add your actual .NET and Node.js projects and reference them here.When to use this skill
- Developing new microservices or polyglot distributed applications.
- Orchestrating multiple interconnected services and their dependencies locally with Docker.
- Deploying complex containerized applications to Azure Container Apps (ACA) efficiently.
- Needing integrated observability (logs, traces, metrics) for distributed systems during development.
When not to use this skill
- Building simple, monolithic applications without distributed components.
- When deployment targets are exclusively non-Azure cloud providers or on-premise without specific Aspire extensions.
- For applications not requiring containerization or sophisticated service orchestration.
- If your development environment does not support .NET 8+ and the Aspire workload.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/aspire/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How aspire Compares
| Feature / Agent | aspire | Standard Approach |
|---|---|---|
| Platform Support | Claude | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | medium | N/A |
Frequently Asked Questions
What does this skill do?
Aspire orchestration for cloud-native distributed applications in any language (C#, Python, Node.js, Go). Handles dependency management, local dev with Docker, Azure deployment, service discovery, and observability dashboards. Use when setting up microservices, containerized apps, or polyglot distributed systems.
Which AI agents support this skill?
This skill is designed for Claude.
How difficult is it to install?
The installation complexity is rated as medium. You can find the installation instructions above.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
SKILL.md Source
# Aspire Orchestration
## Overview
Code-first orchestration for polyglot distributed apps. AppHost defines topology, `aspire run` orchestrates locally, `azd deploy` deploys to Azure.
**Auto-activates** on keywords: aspire, microservices, distributed app, service discovery, orchestration
## Quick Start
```bash
# Install .NET 8+ and Aspire workload
# See: https://learn.microsoft.com/dotnet/aspire/fundamentals/setup-tooling
dotnet workload update
dotnet workload install aspire
# Create AppHost (orchestrates services in ANY language)
dotnet new aspire-apphost -n MyApp
# Basic AppHost - orchestrate Python, Node.js, .NET services
var builder = DistributedApplication.CreateBuilder(args);
var redis = builder.AddRedis("cache");
// Python service
var pythonApi = builder.AddExecutable("python-api", "python", ".").WithArgs("app.py").WithReference(redis);
// Node.js service
var nodeApi = builder.AddExecutable("node-api", "node", ".").WithArgs("server.js").WithReference(redis);
// .NET service
var dotnetApi = builder.AddProject<Projects.Api>("api").WithReference(redis);
builder.Build().Run();
# Run (orchestrates ALL languages)
aspire run # Dashboard opens at http://localhost:15888
```
## Core Workflows
### Project Setup
```bash
dotnet new aspire-apphost -n MyApp
dotnet new webapi -n MyApp.Api
dotnet add MyApp.AppHost reference MyApp.Api
```
**AppHost**: Resource topology in `Program.cs`
**ServiceDefaults**: Shared config (logging, telemetry, resilience)
**Services**: Your apps (APIs, workers, web apps)
### Dependency Configuration
```csharp
// PostgreSQL
var postgres = builder.AddPostgres("db").AddDatabase("mydb");
var api = builder.AddProject<Projects.Api>("api").WithReference(postgres);
// Redis
var redis = builder.AddRedis("cache").WithRedisCommander();
var api = builder.AddProject<Projects.Api>("api").WithReference(redis);
// RabbitMQ
var rabbitmq = builder.AddRabbitMQ("messaging");
var worker = builder.AddProject<Projects.Worker>("worker").WithReference(rabbitmq);
// Access in code (connection strings auto-injected)
builder.Services.AddStackExchangeRedisCache(options =>
{
options.Configuration = builder.Configuration.GetConnectionString("cache");
});
```
### Local Development
```bash
aspire run # Starts all services
```
**Dashboard** (localhost:15888): Resources, logs, traces, metrics
**Hot Reload**: Auto-rebuild on code changes
**Debugging**: Attach to individual services via IDE
### Cloud Deployment
See [Azure deployment guide](https://learn.microsoft.com/dotnet/aspire/deployment/azure/aca-deployment).
```bash
azd init # Initialize Azure Developer CLI
azd up # Deploy (generates Bicep → Azure Container Apps)
azd deploy -e production # Deploy to specific environment
```
**Generates:** Bicep → Container Apps + networking + managed identities
## Navigation Guide
**When setting up projects:**
- examples.md lines 8-31 → Minimal project
- examples.md lines 518-608 → Add Python service
- examples.md lines 610-669 → Add Node.js service
- examples.md lines 671-768 → Add Go service
**When adding infrastructure:**
- reference.md lines 47-148 → Database APIs (PostgreSQL, Redis, MongoDB)
- examples.md lines 39-95 → Redis integration
- examples.md lines 102-176 → PostgreSQL integration
**When deploying:**
- commands.md lines 215-288 → Full azd workflow
- examples.md lines 387-515 → Azure deployment walkthrough
- patterns.md lines 5-42 → HA configuration
**When debugging:**
- troubleshooting.md lines 5-112 → Orchestration failures
- troubleshooting.md lines 291-397 → Connection issues
- commands.md lines 131-179 → Debug commands
## Quick Reference
**Essential commands:** See commands.md for complete reference
**Polyglot patterns:**
```csharp
builder.AddProject<Projects.Api>("api"); // .NET
builder.AddExecutable("python-api", "python", ".").WithArgs("app.py"); // Python
builder.AddExecutable("node-api", "node", ".").WithArgs("server.js"); // Node.js
builder.AddExecutable("go-svc", "go", ".").WithArgs("run", "main.go"); // Go
```
**Service discovery:** `.WithReference(redis)` in AppHost → `GetConnectionString("cache")` in service
## Integration with Amplihack
**Command**: `/ultrathink "Setup Aspire for microservices"`
- prompt-writer clarifies requirements → architect uses reference.md for API design
- builder uses examples.md for implementation → reviewer checks patterns.md for best practices
- tester uses troubleshooting.md for validation
**Agent-Skill mapping**:
- architect → reference.md (API design)
- builder → examples.md (implementation)
- reviewer → patterns.md (best practices)
- tester → troubleshooting.md (validation)
- all agents → commands.md (CLI operations)Related Skills
linux-shell-scripting
Provide production-ready shell script templates for common Linux system administration tasks including backups, monitoring, user management, log analysis, and automation. These scripts serve as building blocks for security operations and penetration testing environments.
iterate-pr
Iterate on a PR until CI passes. Use when you need to fix CI failures, address review feedback, or continuously push fixes until all checks are green. Automates the feedback-fix-push-wait cycle.
istio-traffic-management
Comprehensive guide to Istio traffic management for production service mesh deployments.
incident-runbook-templates
Production-ready templates for incident response runbooks covering detection, triage, mitigation, resolution, and communication.
incident-response-smart-fix
[Extended thinking: This workflow implements a sophisticated debugging and resolution pipeline that leverages AI-assisted debugging tools and observability platforms to systematically diagnose and res
incident-responder
Expert SRE incident responder specializing in rapid problem resolution, modern observability, and comprehensive incident management.
expo-cicd-workflows
Helps understand and write EAS workflow YAML files for Expo projects. Use this skill when the user asks about CI/CD or workflows in an Expo or EAS context, mentions .eas/workflows/, or wants help with EAS build pipelines or deployment automation.
error-diagnostics-error-trace
You are an error tracking and observability expert specializing in implementing comprehensive error monitoring solutions. Set up error tracking systems, configure alerts, implement structured logging,
error-debugging-error-trace
You are an error tracking and observability expert specializing in implementing comprehensive error monitoring solutions. Set up error tracking systems, configure alerts, implement structured logging, and ensure teams can quickly identify and resolve production issues.
error-debugging-error-analysis
You are an expert error analysis specialist with deep expertise in debugging distributed systems, analyzing production incidents, and implementing comprehensive observability solutions.
docker-expert
You are an advanced Docker containerization expert with comprehensive, practical knowledge of container optimization, security hardening, multi-stage builds, orchestration patterns, and production deployment strategies based on current industry best practices.
devops-troubleshooter
Expert DevOps troubleshooter specializing in rapid incident response, advanced debugging, and modern observability.