Flawless Logo, a beautiful woman with freckles head illustration. flawless.dev


Flawless is supported on Linux (x64), Windows (x64) and macOS (x64 & arm64).

The Flawless server exposes an HTTP API and workflows can be triggered and queried from any programming language through this API. The workflows itself are written in Rust. This means that you will need the Rust compiler and tooling to develop the workflows.

Installing Rust

The easiest way to get Rust is by using the rustup tool. If you are running an unix-like OS, all you need to do is run:

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

For more installation options check out the rustup website.

Adding the WebAssembly target

Flawless workflows are compiled to WebAssembly before they are executed. This allows them to be portable and run on different CPU architectures and operating systems, no matter on which one they were created.

To add the WebAssembly compilation target for Rust run:

$ rustup target add wasm32-unknown-unknown

Installing Flawless

Flawless can be installed using cargo, the Rust package manager that is also installed as part of the rustup setup:

$ cargo install flawless --version 1.0.0-alpha.16 --features="cargo-flw"

This will install the flawless server, and also the cargo flw helper sub-command.

You are now all set to write your first workflow.