# ardalis/Result

A result abstraction that can be mapped to HTTP response codes if needed.

Repository: https://github.com/ardalis/Result
Canonical: https://ross.abutalabs.com/products/ardalis-result
Language: C#
License: MIT
License Family: permissive
Topics: csharp, design-patterns, domain-driven-design, dotnet, dotnet-core, functional, hacktoberfest, maybe, result
Last push: 2026-07-03T12:55:14+00:00

## Health v2 (maintenance only)
Score: 70/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 90, release rhythm 28, longevity 100
- inputs: {"age_days": 2477, "days_push": 61, "days_rel": 674, "gap_med": 46, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1046, forks 127 (observed 2026-08-28T04:03:21.567299+00:00)

## What it is
A C# library providing a Result abstraction for representing success and failure outcomes of service methods, with optional mapping to HTTP response codes via an ASP.NET Core package. It supports functional patterns like Maybe and integrates with FluentValidation.

## Use cases
- return success or failure from service methods without throwing exceptions
- map domain results to HTTP status codes in ASP.NET Core APIs
- handle validation errors in MediatR handlers with results
- implement functional error handling in C# with Result and Maybe types
- avoid using exceptions to determine API responses

## When to choose
- building .NET APIs where you want explicit success/failure return types instead of exceptions
- following domain-driven design and clean architecture patterns in C#
- you need consistent mapping of domain outcomes to HTTP response codes

## When to avoid
- working outside the .NET ecosystem
- your codebase already standardizes on a different result/error library
- you prefer exception-based error handling conventions

## Facets
- artifact type: library
- maturity: active
- function: error-handling, middleware, api-framework
- domain: backend, web-development, developer-tools
- platform: dotnet, jvm
- tags: result-pattern, functional-error-handling, aspnetcore, domain-driven-design, maybe-monad, http-status-mapping

## Member repositories
- ardalis/Result (main) score 70

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:21.567299+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-30T07:01:56.551416+00:00, confidence not recorded.
  - readme: https://github.com/ardalis/Result (fetched 2026-08-28T04:03:21.567299+00:00, sha 3826cdbdf7f9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
