aspire

SKILL.md

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

# 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

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

// 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

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.

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:

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)
Weekly Installs
57
GitHub Stars
32
First Seen
Jan 31, 2026
Installed on
opencode55
claude-code51
cursor51
codex50
gemini-cli49
github-copilot48