Latest: v1.16.0

Downloads

DTRules ships as a single self-contained Go binary. No runtime, no dependencies — the CLI builds, runs, verifies, and even carries its own documentation.

One binary with everything

The full documentation is embedded in the binary — no website round-trip needed.

dtrules docs                # list every topic
dtrules docs operators      # the full operator reference
dtrules docs workflow       # the build pipeline

Install with Go

Go 1.21 or later

Pin the v1.16.0 release

go install github.com/DTRules/DTRules/cmd/dtrules@v1.16.0

Or track the latest

go install github.com/DTRules/DTRules/cmd/dtrules@latest

This drops a dtrules binary in your $GOBIN. Run dtrules version to confirm.

Prebuilt binaries

No Go toolchain required

Grab a v1.16.0 build for your platform from GitHub Releases:

  • Linux — amd64, arm64
  • macOS — amd64, arm64
  • Windows — amd64
GitHub Releases

macOS: the Mac binaries are unsigned. Clear the quarantine flag after downloading:

xattr -d com.apple.quarantine dtrules-darwin-arm64

Embed decision tables in your own Go binary

Ship the rules inside your executable

You don't have to ship xlsx or XML files alongside your app. Compile your rules with dtrules build, then //go:embed the resulting XML and load it from memory — nothing on disk at runtime. The cmd/sinusitis-web demo does exactly this.

package main

import (
    "embed"

    "github.com/DTRules/DTRules/pkg/dtrules/web"
)

//go:embed rules/xml
var rulesFS embed.FS

func main() {
    // Extract the embedded rules and serve them as an interview.
    // No xlsx/xml on disk at runtime — it all rides inside the binary.
    dir, _ := extractRules(rulesFS)
    web.ServeDir(":8080", dir, web.Options{
        Entry: "Determine_Therapy",
        Title: "Sinusitis Therapy",
    })
}

See SinusitisTherapy for a complete embedded example, and dtrules docs sdk for the API.

CLI subcommands

dtrules init

Scaffold a new project

dtrules build

Excel → XML and compile DSL → postfix

dtrules run

Execute rules, batch or interactive

dtrules verify

Check Excel ↔ XML consistency + references

dtrules table / edd

Author tables and entities via the API

dtrules sync / validate

Keep Excel and XML in step

dtrules review

Review pending rule changes

dtrules docs

The full embedded documentation

dtrules mcp / version

MCP server and version info