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