# cachecontrol/json-rules-engine

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cachecontrol-json-rules-engine).**

3,088 stars · 507 forks · JavaScript · ISC

## Links

- GitHub: https://github.com/CacheControl/json-rules-engine
- awesome-repositories: https://awesome-repositories.com/repository/cachecontrol-json-rules-engine.md

## Topics

`business-rules` `engine` `json` `rule-engine` `rules` `rules-engine` `rules-processor`

## Description

This project is a rule-based decision system that decouples complex business logic from application code by representing rules as portable, structured data. It functions as a business logic engine that evaluates nested boolean conditions to determine application outcomes based on dynamic inputs.

The engine distinguishes itself by supporting the asynchronous resolution of external data, allowing it to fetch and inject real-time facts into the evaluation process at runtime. It utilizes a recursive evaluation model to process hierarchical rule sets and triggers event-driven actions immediately upon the successful satisfaction of defined conditions.

To maintain efficiency during high-volume processing, the engine incorporates memoization-based result caching and optimization techniques for complex logic. These capabilities enable the management of dynamic policies, system configurations, and event stream processing through external definitions that can be updated independently of the primary application source code.

## Tags

### Software Engineering & Architecture

- [Core Business Logic](https://awesome-repositories.com/f/software-engineering-architecture/core-business-logic.md) — Executes conditional decision-making processes that determine application outcomes based on dynamic data inputs. ([source](https://github.com/cachecontrol/json-rules-engine#readme))
- [Logic Decoupling](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/modular-decoupled-design/structural-design-paradigms/decoupled-logic-encapsulation/logic-decoupling.md) — Separates complex decision-making processes from application code by representing rules as portable, structured data.
- [Composite Rule Hierarchies](https://awesome-repositories.com/f/software-engineering-architecture/composite-rule-hierarchies.md) — Combines multiple conditions using boolean operators to create hierarchical and recursive rule sets for complex business logic. ([source](https://github.com/cachecontrol/json-rules-engine#readme))

### Business & Productivity Software

- [Automated Decision Systems](https://awesome-repositories.com/f/business-productivity-software/automated-decision-systems.md) — Decouples complex conditional logic from application code by representing rules as portable, structured data structures.

### Security & Cryptography

- [General Purpose JSON Rule Engines](https://awesome-repositories.com/f/security-cryptography/json-based-rule-engines/general-purpose-json-rule-engines.md) — Uses structured JSON definitions to define business logic and policies, allowing rules to be updated independently of application code.
- [Resource Policy Enforcers](https://awesome-repositories.com/f/security-cryptography/infrastructure-policy-enforcement/security-policy-enforcers/resource-policy-enforcers.md) — Applies conditional logic to system events based on real-time data and external facts fetched during runtime.

### Artificial Intelligence & ML

- [Logical Condition Evaluators](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/reasoning-symbolic-systems/logic-engines/logical-condition-evaluators.md) — Provides tools for composing and processing complex, nested boolean logic for automation triggers.
- [External Rule Management](https://awesome-repositories.com/f/artificial-intelligence-ml/rule-based-ai-systems/external-rule-management.md) — Manages application behavior through external JSON definitions to allow logic adjustments without modifying source code.

### Data & Databases

- [Complex Event Processing Engines](https://awesome-repositories.com/f/data-databases/complex-event-processing-engines.md) — Evaluates streams of incoming data against hierarchical rule sets to trigger automated responses based on specific conditions.
- [External Data Integrations](https://awesome-repositories.com/f/data-databases/external-data-integrations.md) — Fetches live information from remote sources during rule execution to evaluate complex conditions against real-time data points. ([source](https://github.com/cachecontrol/json-rules-engine#readme))

### Development Tools & Productivity

- [Fact-Based Rule Triggering](https://awesome-repositories.com/f/development-tools-productivity/fact-based-rule-triggering.md) — Triggers specific actions or outcomes immediately upon the successful evaluation of conditions against a set of runtime facts.

### Programming Languages & Runtimes

- [Boolean Logic Evaluation](https://awesome-repositories.com/f/programming-languages-runtimes/boolean-logic-evaluation.md) — Processes nested conditions by traversing tree-like structures using logical operators to determine the final outcome of a rule.
