Help us improve
Share bugs, ideas, or general feedback.
From dotnet-blazor
Orchestrates cloud-native .NET distributed apps with Aspire AppHost, integrates components like Postgres/Redis/RabbitMQ, adds telemetry, service discovery, and health checks.
npx claudepluginhub markus41/claude --plugin dotnet-blazorHow this skill is triggered — by the user, by Claude, or both
Slash command
/dotnet-blazor:dotnet-aspireThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
.NET Aspire is an opinionated, cloud-ready stack for building observable, production-ready, distributed applications. It provides:
Orchestrates .NET services with Aspire: AppHost configuration, service defaults, Postgres/Redis/RabbitMQ integrations, service discovery, and dashboard for local development.
Using .NET Aspire. AppHost orchestration, service discovery, components, dashboard, health checks.
Deploys .NET apps to Azure Container Apps via Aspire/azd, App Service, Docker, Kubernetes using multi-stage Dockerfiles, Compose, and GitHub Actions CI/CD.
Share bugs, ideas, or general feedback.
.NET Aspire is an opinionated, cloud-ready stack for building observable, production-ready, distributed applications. It provides:
// MyApp.AppHost/Program.cs
var builder = DistributedApplication.CreateBuilder(args);
// Infrastructure resources
var postgres = builder.AddPostgres("postgres").WithDataVolume().WithPgAdmin();
var redis = builder.AddRedis("redis").WithRedisInsight();
var rabbitmq = builder.AddRabbitMQ("messaging").WithManagementPlugin();
// Databases
var appDb = postgres.AddDatabase("appdb");
// Projects (services)
var api = builder.AddProject<Projects.Api>("api")
.WithReference(appDb)
.WithReference(redis)
.WithReference(rabbitmq)
.WithExternalHttpEndpoints();
var web = builder.AddProject<Projects.Web>("web")
.WithReference(api)
.WithReference(redis)
.WithExternalHttpEndpoints();
var worker = builder.AddProject<Projects.Worker>("worker")
.WithReference(rabbitmq)
.WithReference(appDb);
builder.Build().Run();
// ServiceDefaults/Extensions.cs (shared project)
public static IHostApplicationBuilder AddServiceDefaults(this IHostApplicationBuilder builder)
{
builder.ConfigureOpenTelemetry();
builder.AddDefaultHealthChecks();
builder.Services.AddServiceDiscovery();
builder.Services.ConfigureHttpClientDefaults(http =>
{
http.AddStandardResilienceHandler();
http.AddServiceDiscovery();
});
return builder;
}
| Component | NuGet Package | AddXxx Method |
|---|---|---|
| PostgreSQL (EF) | Aspire.Npgsql.EntityFrameworkCore.PostgreSQL | AddNpgsqlDbContext<T>() |
| SQL Server (EF) | Aspire.Microsoft.EntityFrameworkCore.SqlServer | AddSqlServerDbContext<T>() |
| Redis Cache | Aspire.StackExchange.Redis.DistributedCaching | AddRedisDistributedCache() |
| Redis Output Cache | Aspire.StackExchange.Redis.OutputCaching | AddRedisOutputCache() |
| RabbitMQ | Aspire.RabbitMQ.Client | AddRabbitMQClient() |
| Azure Service Bus | Aspire.Azure.Messaging.ServiceBus | AddAzureServiceBusClient() |
| Azure Blob Storage | Aspire.Azure.Storage.Blobs | AddAzureBlobClient() |
| Cosmos DB | Aspire.Microsoft.Azure.Cosmos | AddAzureCosmosClient() |
The Aspire dashboard provides:
Access at: https://localhost:18888 (default)
# Deploy to Azure Container Apps
azd init
azd provision # Creates Azure resources
azd deploy # Deploys all services
# Or use Aspire CLI
aspire publish --publisher azure
builder.AddServiceDefaults()WithReference() to establish service dependenciesWithExternalHttpEndpoints() for publicly accessible serviceshttps+http://service-name URIs