One file. No installer.

Release v0.742.2 carries a static binary per platform, plus the licence and the full third-party attribution for the roughly 560 crates linked into it. Download, make it executable, put it on your path.

Pick yours

Static binaries, no runtime to install alongside. Windows builds are released too, though macOS and Linux are where the engine is developed and measured.

binary

macOS

Apple Silicon
rustcfml-macos-aarch64
curl -LO \
  https://github.com/RustCFML/RustCFML/releases/download/v0.742.2/rustcfml-macos-aarch64
chmod +x rustcfml-macos-aarch64
sudo mv rustcfml-macos-aarch64 /usr/local/bin/rustcfml

rustcfml --version
binary

Linux

x86_64
rustcfml-linux-x86_64
curl -LO \
  https://github.com/RustCFML/RustCFML/releases/download/v0.742.2/rustcfml-linux-x86_64
chmod +x rustcfml-linux-x86_64
sudo mv rustcfml-linux-x86_64 /usr/local/bin/rustcfml

rustcfml --version
binary

Linux

ARM64
rustcfml-linux-aarch64
curl -LO \
  https://github.com/RustCFML/RustCFML/releases/download/v0.742.2/rustcfml-linux-aarch64
chmod +x rustcfml-linux-aarch64
sudo mv rustcfml-linux-aarch64 /usr/local/bin/rustcfml

rustcfml --version
binary

Windows

x86_64
rustcfml-windows-x86_64.exe
curl -LO \
  https://github.com/RustCFML/RustCFML/releases/download/v0.742.2/rustcfml-windows-x86_64.exe
chmod +x rustcfml-windows-x86_64.exe
sudo mv rustcfml-windows-x86_64.exe /usr/local/bin/rustcfml

rustcfml --version

The first run may need a nudge on macOS. Binaries downloaded from a release are quarantined by Gatekeeper, so a fresh download can be refused until you clear the attribute: xattr -d com.apple.quarantine rustcfml. Linux and Windows builds need nothing but the executable bit.

Run it in your browser

The engine compiled to WebAssembly: the real interpreter, in your tab. It is the same target that runs on a Cloudflare Worker, so it doubles as a preview of the edge build.

Open the WASM demo

Or run a snippet on TryCF

Run the container

A multi-arch image (amd64 and arm64) on Chainguard Wolfi: about 36 MB, non-root, extension-aware, and it stops cleanly on docker stop. Tags follow engine releases.

docker
docker run --rm -p 8500:8500 \
  -v "$PWD/webroot:/srv/app" \
  ghcr.io/rustcfml/rustcfml:v0.742.2

Configuration and base-image use

From source

Rust stable 1.75 or newer. A Cargo workspace of focused crates, so you can build only what you need and read the pipeline in the order it runs.

build
git clone https://github.com/RustCFML/RustCFML.git
cd RustCFML
cargo build --release
cargo install --path crates/cli

Your own artifact

Compile an application and the engine into a single executable, so shipping means copying one file rather than provisioning a server.

build
rustcfml --build ./myapp --output myapp
# CLI mode instead of a server:
rustcfml --build ./mytool --mode cli --entry main.cfm

Check what you have, and what is in it

The binary can tell you its version, print the licences of every crate statically linked into it, and describe its own capabilities. That last one matters: it is a v0.x engine, and the project would rather you found out from a flag than from a stack trace.

  • rustcfml --version prints the exact build you are running
  • rustcfml --licenses lists MIT plus every third-party attribution
  • rustcfml -r opens a REPL, for trying things at a prompt
  • rustcfml -c 'writeOutput( now() )' runs one line, no file
  • Shebang scripts: a .cfm file with a #!/usr/bin/env rustcfml line is an executable
shell
$ rustcfml --version
RustCFML v0.653.14

$ rustcfml -r
# a REPL over real CFML
> arrayNew( 5 ).map( ( i ) -> i * i )
[ 1, 4, 9, 16, 25 ]
> hashPassword( "hunter2", "argon2" )
$argon2id$v=19$m=65536,t=3,p=4$...

$ rustcfml ./script.cfm          # one template
$ rustcfml --code 'writeOutput( 6*7 )'

Something missing from your platform?

Building for another target or packaging it for a distribution? Open an issue. Platform gaps are treated as bugs, and releases are frequent.