Rule Cascade
Write a business rule once, in YAML or JSON. Enforce it identically in the browser, in the API, in every programming language and on every operating system.
Rule Cascade is a rule engine built around a contract: a small, strict rule language, a compiler that checks rules before they ship, and engines for TypeScript, Java, Go and Python, a single-file command and a WebAssembly module. One conformance suite of more than 1,800 cases proves that every engine gives the same answer.
What it is
The model in one page: write, check, seal, evaluate.
5-minute quickstart
Write a rule, check it with the command, evaluate a request.
Playbooks
Numbered procedures for real tasks: ship a rule change, enforce in a form or an API, deploy the rule server.
Usage by language
Install, load, evaluate and handle errors in TypeScript, Java, Go, Python, the command and the rule server.
Examples
One page per integration point, each pointing at code that CI builds and runs.
Reference
The specification, cookbook, authoring guidelines, naming conventions, decision records.
Where the pages come from
The reference section is rendered at build time from the Markdown files in the repository
(docs/, spec/v1/SPECIFICATION.md, the package READMEs). They are the single source: a change to
docs/cookbook.md shows up here at the next build, and GitHub keeps rendering the same file. The
get-started pages, playbooks, usage pages and examples are written for this site and live in
site/content/docs.
Status
1.0.0-alpha.2. The specification is a draft and may change before 1.0; every change is in the
changelog. The packages are not published to npm, Maven Central, PyPI or a
Go proxy yet, so every usage page installs them from a checkout of the repository.
Source: site/content/docs/index.mdx