Skip to content

FoundatioFx/Foundatio.Skeleton

Repository files navigation

Foundatio.Skeleton

A modern .NET 10 skeleton application built with Foundatio, Foundatio.Mediator, ASP.NET Core minimal APIs, Aspire, and OpenTelemetry.

Build

Features

  • ASP.NET Core Minimal APIs — Auto-generated endpoints via Foundatio.Mediator
  • Foundatio.Mediator — Convention-based mediator with source generators, zero reflection
  • Foundatio 13 — Caching, queuing, messaging, file storage, locking, jobs
  • Aspire AppHost — Local dev orchestration with Redis and Mailpit
  • OpenTelemetry — Tracing, metrics, and Prometheus endpoint
  • xUnit v3 — Modern testing with code coverage
  • GitHub Codespaces — Ready-to-code devcontainer
  • GitHub Actions CI — Build, test, coverage reporting

Getting Started

Prerequisites

Run with Aspire (recommended)

aspire run

This starts Redis, Mailpit, and the Web API with the Aspire dashboard for traces/metrics/logs.

Run standalone

dotnet run --project src/Foundatio.Skeleton.Web

Run tests

dotnet test

API Documentation

When running, visit /docs for the Scalar API reference.

Use the .http files in tests/http/ with the VS Code REST Client extension.

Project Structure

src/
  Foundatio.Skeleton.AppHost/     # Aspire orchestrator (Redis, Mailpit)
  Foundatio.Skeleton.Core/        # Domain models, services, Foundatio bootstrapping
  Foundatio.Skeleton.Insulation/  # Infrastructure overrides (Redis, MailKit)
  Foundatio.Skeleton.Web/         # ASP.NET Core minimal API + OTel
tests/
  Foundatio.Skeleton.Tests/       # xUnit v3 integration tests
  http/                           # .http request files

Architecture

  • Core registers in-memory defaults for all Foundatio abstractions (cache, message bus, queues, storage, locks) plus health checks
  • Insulation conditionally replaces with Redis/MailKit when configured
  • Web wires up the HTTP pipeline, OpenTelemetry, Foundatio.Mediator, and auto-generated API endpoints
  • Foundatio.Mediator serves as the mediator — handlers are discovered by convention at compile time, endpoints are auto-generated from message types

GitHub Codespaces

Click "Code → Codespaces → New codespace" to get a fully configured dev environment with .NET, Redis, and Mailpit.

License

Apache 2.0

About

Skeleton ASP.NET app for getting started with Foundatio

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages