Skip to content

Instantly share code, notes, and snippets.

View davidfowl's full-sized avatar

David Fowler davidfowl

View GitHub Profile

Bug Reproduction Documentation - Overview & Format

Mission & Context

You are conducting production-grade bug reproduction and analysis for the Aspire project. This is not a casual bug verification exercise - your output will be used by:

  1. Engineering teams to understand and fix bugs
  2. Technical writers to create bug reports and documentation
  3. QA teams to verify fixes
  4. Community contributors who need clear reproduction steps
@davidfowl
davidfowl / ANALYSIS-SUMMARY.md
Last active January 18, 2026 00:30
Aspire Discussions Analysis - Deep Source Code Analysis + Test-First (200 discussions)
@davidfowl
davidfowl / analysis-results.json
Created January 17, 2026 22:10
Aspire Discussions Analysis - 100 Latest Discussions (2026-01-17)
This file has been truncated, but you can view the full file.
{
"analyzed_at": "2026-01-17T22:02:29.875944Z",
"scope": "200 most recent unanswered Q&A discussions",
"total_discussions": 200,
"unique_discussions": 172,
"duplicate_discussions": 28,
"discussions": [
{
"discussion_number": 13976,
"title": "Using Aspire with Azure API Management in an Azure Landing Zones architecture?",

Aspire + Java Integration Proposal

See 2024 JetBrains Java Developer Survey and Spring Boot Statistics for context on the Java ecosystem.

Note: The Community Toolkit provides Java/Spring Boot hosting. Aspire 13 elevated Python and JavaScript to first-class citizens with polyglot connection properties including JDBC format. This proposal outlines bringing Java to the same first-class status.

Executive Summary

Java is the second most popular enterprise language after JavaScript/TypeScript, with Spring Boot dominating the web framework space (~70% of Java web applications). With Aspire 13's rebrand from ".NET Aspire" to "Aspire" and first-class Python/JavaScript support, Java is the natural next step. This document outlines a Spring Boot-centric approach while maintaining flexibility for other Java frameworks.

@davidfowl
davidfowl / LogCommand.cs
Created September 11, 2025 04:17
An aspire command for project resources to enable setting log configuration at dev time
#pragma warning disable ASPIREINTERACTION001 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.
using System.Text.Json;
using System.Text.Json.Nodes;
using Microsoft.Extensions.DependencyInjection;
namespace Aspire.Hosting
{
public static class ResourceBuilderProjectExtensions
{
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System.IO;
namespace Aspire.Hosting;
public static class DevCertHostingExtensions
{
/// <summary>
using Aspire.Hosting.Lifecycle;
using CommunityToolkit.Aspire.Hosting.Dapr;
var builder = DistributedApplication.CreateBuilder(args);
builder.AddDapr();
builder.Services.AddLifecycleHook<FlowDaprSidecarAnnotations>();
var cache = builder.AddRedis("cache");
using System.Diagnostics.CodeAnalysis;
using Aspire.Hosting;
using Aspire.Hosting.ApplicationModel;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Logging;
namespace WizardDemo.AppHost;
/// <summary>
@davidfowl
davidfowl / dotnetinstall.cs
Created June 26, 2025 06:26
cli tool to install dotnet
#:package Spectre.Console@0.50.0
#:package NuGet.Versioning@6.14.0
using System.Text.Json;
using System.Text.Json.Serialization;
using Spectre.Console;
using NuGet.Versioning;
using System.Diagnostics;
// Business logic class for .NET installation
@davidfowl
davidfowl / react_cli.cs
Last active June 18, 2025 23:01
React like framework based on Spectre.Console
#:package Spectre.Console@0.50.0
using Spectre.Console;
using Spectre.Console.Rendering;
using System.Threading.Channels;
// Entry point
var app = new ConsoleApp();
app.Render(new App());