# FoundatioFx/Foundatio

Pluggable foundation blocks for building distributed apps.

Repository: https://github.com/FoundatioFx/Foundatio
Canonical: https://ross.abutalabs.com/products/foundatio
Homepage: https://foundatio.dev
Language: C#
License: Apache-2.0
License Family: permissive
Topics: azure, c-sharp, lock, message-bus, storage, redis, metrics, aws, distributed-systems, foundatio, s3, jobs, job-scheduler, queue, messaging, statsd, distributed-locks, distributed, logging, abstractions
Last push: 2026-08-21T23:06:44+00:00

## Health v2 (maintenance only)
Score: 96/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 90, longevity 100
- inputs: {"age_days": 4227, "days_push": 12, "days_rel": 69, "gap_med": 23.0, "n_releases_24m": 17}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2098, forks 251 (observed 2026-08-28T04:06:13.435656+00:00)

## What it is
Foundatio is a C# library of pluggable abstractions for building loosely coupled distributed applications, covering caching, queues, messaging, distributed locks, background jobs, file storage, and resilience policies. It ships with in-memory implementations for development and testing plus provider packages for Redis, Azure, AWS, RabbitMQ, Kafka, MinIO, and more.

## Use cases
- add distributed caching to a .NET app with swappable Redis or in-memory backends
- enqueue and process background work items reliably across machines
- acquire distributed locks to coordinate work across multiple servers
- publish and subscribe to messages via Redis, Kafka, RabbitMQ, or Azure Service Bus
- abstract file storage across local disk, S3, and Azure Blob with one API
- run background jobs with queue integration and retry semantics
- add retry policies and circuit breakers around flaky remote calls
- test distributed components locally without external dependencies

## When to choose
- you're building .NET distributed apps and want interface-first abstractions over caching, queues, messaging, locks, and storage
- you need to swap between in-memory (dev/test) and cloud provider (production) implementations without code changes
- you want DI-native building blocks that integrate with Microsoft.Extensions.DependencyInjection
- you need battle-tested distributed locking and job processing in high-scale systems

## When to avoid
- you're not on the .NET/C# ecosystem
- you only need one specific capability and prefer a dedicated, focused library
- you want a full orchestration or workflow engine rather than foundational building blocks
- you need extremely specialized queue semantics not covered by the IQueue abstraction

## Facets
- artifact type: library
- maturity: active
- function: caching, message-queue, logging, monitoring, serialization, scheduling, file-system, error-handling
- domain: microservices, backend, cloud-computing, developer-tools
- platform: dotnet, cross-platform, cloud, self-hosted
- tags: distributed-locks, message-bus, job-scheduler, file-storage, abstractions, dependency-injection, resilience, circuit-breaker, retry-policies, azure, aws, redis, kafka, rabbitmq, messaging, docker

## Member repositories
- FoundatioFx/Foundatio (main) score 96

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:13.435656+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:54:28.580878+00:00, confidence not recorded.
  - readme: https://github.com/FoundatioFx/Foundatio (fetched 2026-08-28T04:06:13.435656+00:00, sha 2a1e339a2ca8)
  - homepage: https://foundatio.dev (fetched 2026-08-29T10:34:47.518892+00:00, sha 22533663cbec)
  - site_page: https://foundatio.dev/guide/getting-started.html (fetched 2026-08-29T10:34:47.521767+00:00, sha 1205b800e7b3)
  - site_page: https://foundatio.dev/guide/caching.html (fetched 2026-08-29T10:34:47.523785+00:00, sha f94d8c18e484)
  - site_page: https://foundatio.dev/guide/queues.html (fetched 2026-08-29T10:34:47.526600+00:00, sha 113dad0286d4)
  - site_page: https://foundatio.dev/guide/locks.html (fetched 2026-08-29T10:34:47.529348+00:00, sha a1f38e7eab34)
  - site_page: https://foundatio.dev/guide/messaging.html (fetched 2026-08-29T10:34:47.531408+00:00, sha 0deb6799dec5)
  - site_page: https://foundatio.dev/guide/storage.html (fetched 2026-08-29T10:34:47.533851+00:00, sha d13a58677ccd)
  - site_page: https://foundatio.dev/guide/resilience.html (fetched 2026-08-29T10:34:47.535727+00:00, sha ed1e7c4f2d04)
- Data as of 2026-08-30T08:39:29.467469+00:00.
