fluentcidocs
Website GitHub

Reference

fluentci.toml

Field-level configuration for modules, ordered steps, and package metadata.

File discovery

The CLI checks fluentci.toml and .fluentci/fluentci.toml while walking ancestor directories. Workspace discovery respects Git boundaries and recognizes common monorepo manifests. Prefer one root file. Paths in module declarations resolve relative to the actual configuration file, including the legacy .fluentci location.

Complete example

[package]
name = "team-build"
version = "1.0.0"
description = "Reusable build checks"
license = "MIT"

[[modules]]
name = "ci"
path = ".fluentci/ci"
sdk = "clojurescript"

[[modules]]
name = "downloaded"
url = "https://plugins.example/build.wasm"

[[steps]]
name = "check"
command = "fluentci run ci hello"
env = ["BUILD_MODE=release"]
working_directory = "."

package is needed for publishing metadata, not for every local step workflow. Both steps and modules default to empty lists when omitted.

Module fields

Field Type Contract
name string Required and unique; ASCII letters, digits, -, _; shell is reserved
path path string Source directory, local .wasm, or Rust manifest; exactly one of path/url
url string HTTP(S) URL whose path ends in .wasm; URL modules cannot override build/artifact
sdk string Defaults to rust; see SDK selectors
entry string Required for source Elixir without custom build; Python entry defaults to plugin.py
artifact path string Output relative to source; JavaScript SDK default is dist/plugin.wasm
build array of strings Executable and literal arguments; must not be empty

Module declarations reject unknown fields. Rust artifacts normally resolve from Cargo metadata; a Rust artifact override requires an explicit build command. Precompiled module paths skip source compilation. Unlike publishing's --url, module URL validation permits query parameters on a .wasm path.

Step fields

Field Type Contract
name string Step's display/invocation name
command string or string array Shell commands, or a module job call such as fluentci run ci hello
env optional string array Environment assignments such as MODE=release
working_directory optional string Command execution directory

A command array belongs to one step; it is not a native parallel task matrix. Use native plans for explicit graph dependencies and parallelism.

Package fields

name and version identify the package. description and license provide published metadata; the publish command requires a non-empty license. Name, version, description, Wasm URL, and size limits are documented in publishing. The publisher's canonical DID comes from the authenticated session, not a user-entered author field in TOML.

Made with ♥ in Antananarivo, Madagascar.
Search documentation