---
title: "Node Rules - Business Rules Engine"
description: "Light weight forward chaining Rule Engine for JavaScript. Practical notes and code examples on Node Rules - Business Rules."
url: "https://h3manth.com/scribe/node-rules/"
canonical_url: "https://h3manth.com/scribe/node-rules/"
markdown_url: "https://h3manth.com/scribe/blog/node-rules.md"
publishDate: "2015-01-29T00:00:00.000Z"
author: "Hemanth HM"
category: "node"
tags: ["node","business-logic"]
word_count: 88
reading_time_minutes: 1
x_markdown_tokens: 269
content_signal: "ai-train=yes, search=yes, ai-input=yes"
---

# Node Rules - Business Rules Engine

> Light weight forward chaining Rule Engine for JavaScript. Practical notes and code examples on Node Rules - Business Rules.

[node-rules](https://www.npmjs.com/package/node-rules) is a light weight forward chaining Rule Engine.

## Install

npm install --save node-rules

## Create a Rule

```javascript
var rule = {
  condition: function(R) {
    R.when(this.transactionTotal < 500);
  },
  consequence: function(R) {
    this.result = false;
    this.reason = "Transaction blocked - less than 500";
    R.stop();
  }
};

## Create a Fact
javascript
var fact = {
  name: "user4",
  transactionTotal: 400
};

## Execute
javascript
var R = new RuleEngine();
R.register(rule);
R.execute(fact, function(data) {
  console.log(data.result ? "Valid" : data.reason);
});
```

Thanks to [Mithun Satheesh](https://twitter.com/mithunsatheesh) for this module!
