(Oct. 3rd 2024) Flawless is now in Public Beta. Try it out!
  Flawless Logo, a beautiful woman with freckles head illustration. flawless.dev docs discord

Server CLI

The flawless executable is both, the server and the client that is used to interact with the server.

The best way to get an overview of what you can do with the flawless CLI is by using the --help argument on commands. For example:

$ flawless secrets --help

will print out all the commands related to workflows. The rest of this page will go into more detail about the most commonly used commands and options.

flawless up [OPTIONS]

Starts the flawless server. Once the server starts, it will automatically resume all workflows that didn't finish yet. The server will accept HTTP connections from clients, by default on localhost:27288. This can be controlled using the --bind <SOCKET> option.

flawless up --working-dir <DIR>

The working directory is the place where Flawless stores all data. By default, this is $HOME/.flawless on Unix systems.

Deleting it will completely remove flawless from the system.

flawless deploy

The deploy command should be used inside a Rust cargo project containing the Flawless module. It will compile the module into a WebAssembly file and deploy it to the server.

flawless run <MODULE:VERSION> <WORKFLOW> --input <JSON>

Starts a workflow with the name <WORKFLOW> inside <MODULE>. The most important option is --input <JSON>, that can be used to supply the workflow with an input.