RuleFlow 0.3.1
dotnet add package RuleFlow --version 0.3.1
NuGet\Install-Package RuleFlow -Version 0.3.1
<PackageReference Include="RuleFlow" Version="0.3.1" />
<PackageVersion Include="RuleFlow" Version="0.3.1" />
<PackageReference Include="RuleFlow" />
paket add RuleFlow --version 0.3.1
#r "nuget: RuleFlow, 0.3.1"
#:package RuleFlow@0.3.1
#addin nuget:?package=RuleFlow&version=0.3.1
#tool nuget:?package=RuleFlow&version=0.3.1
RuleFlow
RuleFlow is a lightweight, developer-friendly rule engine for .NET.
It focuses on simplicity, performance, and explainability.
Quick example
var order = new Order { Amount = 1500 };
var rules = RuleSet.For<Order>("ApprovalRules")
.Add(Rule.For<Order>("High amount")
.When(o => o.Amount > 1000)
.Then(o => o.RequiresApproval = true)
.Because("Amount exceeds threshold"));
var engine = new RuleEngine();
var result = engine.Evaluate(order, rules);
// Async-first path for server workloads:
// var result = await engine.EvaluateAsync(order, rules);
Features
- Fluent API
- Conditional chains (
ThenIf) - Explainability (execution records, tree and JSON formatters)
- Observability — optional metrics and custom observer callbacks (zero overhead when disabled)
- Async support (conditions and actions)
- Rule groups
- Dynamic conditions — structured, JSON-friendly
ConditionNodetrees (no expression parsing)
Dynamic conditions
RuleFlow supports user-defined rules via structured conditions (JSON, database, or UI): ConditionLeaf / ConditionGroup, pluggable operators, and dotted nested property paths (e.g. Customer.Name) resolved with cached reflection.
See the full documentation: Dynamic conditions.
Documentation
Full documentation (GitHub Pages): https://rubenrichtering.github.io/RuleFlow/
Changelog
See what's new and upcoming: CHANGELOG.md
Repository layout
| Path | Role |
|---|---|
docs/ |
Documentation source (GitHub Pages) |
src/RuleFlow.* |
Libraries and the RuleFlow metapackage |
samples/RuleFlow.ConsoleSample |
Interactive playground |
tests/RuleFlow.Core.Tests |
Unit tests |
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.1 | 129 | 3/26/2026 |