fluentcidocs
Website GitHub

Build pipelines

Workspace modules

Declare local source, precompiled Wasm, and URL modules without duplicating monorepo configuration.

Declare modules

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

[[modules]]
name = "prebuilt"
path = "artifacts/plugin.wasm"

[[modules]]
name = "shared"
url = "https://example.com/plugins/shared.wasm"

Names must be unique. Each declaration needs exactly one of path or url. SDK defaults to Rust. Precompiled paths do not need a language compiler to rebuild the artifact. URL modules cannot specify a build command or artifact override.

Scaffold or register

fluentci modules add ci --sdk clojurescript
fluentci modules add checks --path ./tools/checks --sdk purescript
fluentci modules add shared --url https://example.com/plugins/shared.wasm

Scaffolding embeds source and updates configuration. Registration uses an existing location. Duplicate names and unsafe names are rejected; existing source is not silently replaced.

Override the build

[[modules]]
name = "custom"
path = "tools/custom-plugin"
sdk = "typescript"
build = ["npm", "run", "build:plugin"]
artifact = "output/custom.wasm"

build is an argv array: its first element is the executable, not a shell program string. The artifact path resolves inside the source module directory. JavaScript SDK defaults use dist/plugin.wasm. Rust artifacts are resolved through Cargo unless a custom build is configured.

Discover exports

fluentci modules --json
fluentci modules ci --json
fluentci inspect ci --json
fluentci ls ci

Discovery builds source modules when necessary, then lists exported jobs. Compiler helper exports are hidden. JSON output includes module paths, SDKs, and functions; build diagnostics stay out of the JSON payload.

Run from a package

cd packages/frontend
fluentci run ci hello

The root declaration continues to work. Relative paths belong to the config file. With multiple modules, select a name explicitly instead of relying on an ambiguous . selection. See configuration reference.

Made with ♥ in Antananarivo, Madagascar.
Search documentation