// the find
microsoft/RulesEngine
A fast and reliable .NET Rules Engine with extensive Dynamic expression support
A .NET library from Microsoft for externalizing business rules as JSON workflows evaluated as C# lambda expressions at runtime, so rules can live in a database or blob store instead of being hardcoded and redeployed. Aimed at teams building things like discount engines, eligibility checks, or approval workflows where non-engineers or ops need to tweak logic without a code deploy.
Broad framework support (net6-net10 plus netstandard2.0/2.1) and active maintenance from Microsoft, not an abandoned side project. Async-first API (ExecuteAllRulesAsync) with support for nested rules, scoped params, and custom actions, which covers more than the toy discount-percentage example in the README suggests. The repo's test suite includes a long list of Issue###Test files, meaning reported bugs actually get regression tests instead of just a changelog line.
Rules are strings compiled as C# lambda expressions against your input object at runtime - if rule definitions can come from anything less trusted than your own deploy pipeline, that's arbitrary code execution, and the README never addresses sandboxing or that risk. The only rule editor UI is a third-party Blazor project (alexreich/RulesEngineEditor) maintained outside this repo with no stated relationship to RulesEngine's release cadence or testing. Actual documentation of expression syntax, custom type providers, and the action system lives entirely in an external wiki rather than the repo, so the README alone won't get you past the basic lambda-expression case. There's a benchmark project in the tree but no published numbers, so scaling behavior with hundreds of rules is something you'd have to measure yourself.