Rule Cascade

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.

Where the pages come from

The reference section is rendered at build time from the Markdown files of the Rule Cascade source (docs/, spec/v1/SPECIFICATION.md, the package READMEs), so it always matches the specification and the code it was built with. The get-started pages, playbooks, usage pages and examples are written for this site.

Status

1.0.0-alpha.5. The specification is a draft and may change before 1.0; every change is in the changelog. Each release publishes the rcas command as signed downloads and on npm (@rules-cascade/cli), and the libraries on npm (@rules-cascade/*), PyPI (rcas), Maven Central (rules-cascade-core) and the Go module proxy (rulescascade.com/go). The packages are free to use under the Apache License 2.0; the source repository is private.

On this page