# microsoft/RulesEngine

A fast and reliable .NET Rules Engine with extensive Dynamic expression support

Repository: https://github.com/microsoft/RulesEngine
Canonical: https://ross.abutalabs.com/products/rulesengine
Homepage: https://microsoft.github.io/RulesEngine/
Language: C#
License: MIT
License Family: permissive
Topics: rules-engine, workflow, nuget, dotnet, rules, engine, expression-evaluator
Last push: 2026-07-03T10:11:09+00:00

## Health v2 (maintenance only)
Score: 70/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 90, release rhythm 28, longevity 100
- inputs: {"age_days": 2591, "days_push": 61, "days_rel": 455, "gap_med": 62.0, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4341, forks 617 (observed 2026-08-28T04:08:46.111629+00:00)

## What it is
A Microsoft-maintained .NET library for abstracting business rules and policies out of application code into externally stored, JSON-defined workflows evaluated via dynamic C# lambda expressions. It supports multiple and dynamic inputs, scoped/global parameters, custom actions, and a standalone expression evaluator.

## Use cases
- evaluate business rules defined in json at runtime
- externalize discount or pricing rules from application code
- build a rule-based decision system in .NET
- dynamically evaluate c# expressions without recompiling
- store and update business policies in a database or blob storage
- run conditional workflow rules against multiple inputs

## When to choose
- you need business rules changeable without redeploying the application
- you want json-defined rules with c# expression support in a dotnet app
- you need a fast, well-maintained rules engine with microsoft backing
- you need a standalone dynamic expression evaluator

## When to avoid
- you need a full BPM/workflow orchestration engine with human tasks
- your project is not on .NET/.NET Standard
- you need forward-chaining inference like a RETE engine (e.g. Drools)
- rules are simple and hardcoding them in code is sufficient

## Facets
- artifact type: library
- maturity: active
- function: workflow-automation, parser, developer-tools
- domain: developer-tools, backend, apis
- platform: dotnet, cross-platform, jvm
- tags: rules-engine, business-rules, expression-evaluator, csharp-expressions, json-rules, nuget, automation

## Member repositories
- microsoft/RulesEngine (main) score 70

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:46.111629+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-29T18:21:36.806171+00:00, confidence not recorded.
  - readme: https://github.com/microsoft/RulesEngine (fetched 2026-08-28T04:08:46.111629+00:00, sha c1d6a9c4bf9a)
  - homepage: https://microsoft.github.io/RulesEngine/ (fetched 2026-08-29T09:10:26.347594+00:00, sha 49084fb7328b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
