name: aspire-development
description: IMPLEMENTATION SKILL — Add integrations, configure orchestration, or troubleshoot .NET Aspire distributed apps. USE FOR: adding database/messaging/AI/Azure NuGet integrations; configuring AppHost and service references; wiring service discovery; managing container resources; diagnosing Aspire startup or network errors. DO NOT USE FOR: general .NET coding (use default agent); non-Aspire Azure deployments. INVOKES: NuGet MCP tools to discover up-to-date package names and versions before every implementation.
compatibility: Requires .NET Aspire workload, Aspire CLI, and network access for NuGet packages
.NET Aspire Development
This skill provides comprehensive guidance for working with .NET Aspire distributed applications, including integration discovery, implementation patterns, and troubleshooting.
When to Use This Skill
- Adding integrations: Databases, messaging systems, AI services, Azure resources
- Orchestrating services: Configuring AppHost, managing service references
- Service discovery: Implementing inter-service communication
- Container management: Working with Docker containers in Aspire
- Troubleshooting: Diagnosing Aspire application issues
Critical Principle: Fresh Information First
⚠️ LLM training data for Aspire is outdated. The framework evolves rapidly with new integrations, breaking changes, and updated patterns.
Mandatory Pre-Implementation Checklist
Before implementing ANY Aspire integration:
- ✅ Query
mcp_aspire_list_integrations to discover available integrations
- ✅ Call
mcp_aspire_get_integration_docs(packageId, version) for specific package documentation
- ✅ Verify exact package IDs and versions from MCP responses
- ✅ Review NuGet documentation URLs provided in MCP responses
- ❌ NEVER rely on cached LLM knowledge for package names, versions, or patterns
- ❌ NEVER guess or assume integration details
Tool Selection Rules
For Aspire-Specific Queries (integrations, packages, AppHost patterns):
mcp_aspire_list_integrations - List all available Aspire hosting integrations
mcp_aspire_get_integration_docs(packageId, version) - Get specific integration documentation
Standard Workflow
Phase 1: Discovery & Planning
-
Identify Requirements
- Understand what integration or service is needed
- Clarify configuration requirements
-
Query Available Integrations
mcp_aspire_list_integrations
→ Review results, note package IDs
→ Filter by category (Database, Messaging, AI, etc.)
-
Fetch Integration Documentation
mcp_aspire_get_integration_docs(packageId, version)
→ Review NuGet documentation URL
→ Verify usage patterns
→ Check prerequisites and dependencies
-
Validate Compatibility
- Check version compatibility with existing packages
- Review configuration requirements
- Identify client packages needed
Phase 2: Implementation
-
Add Package to AppHost
cd unifiedaitracker.AppHost
dotnet add package <PackageId> --version <Version>
-
Configure in AppHost.cs
var resource = builder.Add<Integration>("resource-name")
.WithConfiguration()
.WithHealthCheck();
-
Add Service References
builder.AddProject<Projects.ApiService>("api")
.WithReference(resource);
-
Configure Client Services
- Add client NuGet packages to consuming projects
- Configure dependency injection
- Set up connection handling
Phase 3: Validation
- Build Solution
dotnet build unifiedaitracker.slnx
Quick Reference: Common Operations
Service Discovery Pattern
var api = builder.AddProject<Projects.ApiService>("api");
var service = builder.AddProject<Projects.Worker>("worker")
.WithReference(api);
builder.Services.AddHttpClient<IMyService, MyService>(client =>
{
client.BaseAddress = new Uri("http://api");
});
Integration Verification Checklist
Before considering an integration complete:
Best Practices
- Always use MCP tools for integration discovery - never rely on cached knowledge
- Use exact versions from MCP responses when adding packages
- Configure health checks for all container-based integrations
- Name resources consistently between AppHost and consuming services
- Use service discovery instead of hardcoded endpoints
- Monitor Aspire Dashboard during development for immediate feedback
- Enable telemetry to debug distributed application issues
- Persist data volumes for databases to avoid data loss during restarts
Additional Resources
- NuGet Package Pages: Official documentation URLs provided by MCP tools
Remember: The cornerstone of successful Aspire development is using MCP tools (mcp_aspire_list_integrations, mcp_aspire_get_integration_docs) to get current, accurate information before every implementation.