CLI Reference
This section tracks the promoted command surface shown by fluid --help in forge-cli 0.10.0.
Looking up how to do something (not what a command does)?
The page you actually want is CLI by task → — narrative walkthroughs organized around things you might be trying to accomplish, like "deploy to a new cloud", "add quality rules", "debug a failed run", or "add agent governance". Each task page links to the relevant commands. This page is the alphabetical command reference — better for lookup, worse for onboarding.
Read this first
- CLI release examples in this section use
0.10.0 - Contract examples use
fluidVersion: 0.7.2 fluid versionandfluidVersionare different things- The pinned CLI version is recorded in
docs/.vuepress/cli-version.jsonand enforced by thecli-consistencyworkflow. - Install:
pip install data-product-forge. Stable0.10.0is on PyPI; TestPyPI is only for release validation and intentional next-release candidates — see Getting Started for the full install matrix.
The 11-stage pipeline
0.8.0 promotes an eleven-stage production pipeline — each stage is a CI gate that exits non-zero on failure. Each command below maps to exactly one stage:
1. bundle → 2. validate → 3. generate-artifacts → 4. validate-artifacts
→ 5. diff (drift gate) → 6. plan → 7. apply → 8. policy-apply
→ 9. verify → 10. publish → 11. schedule-sync (Path A only)
See Walkthrough → 11-stage pipeline for the full end-to-end flow.
Core Workflow
| Command | What it is for |
|---|---|
fluid init | Create a new project |
fluid demo | Zero-setup ~30 second customer-360 example on local DuckDB |
fluid forge | AI-assisted scaffolding |
fluid forge data-model | Forge a reviewable data model from an intent file, DDL, or source catalog |
fluid skills | Industry knowledge packs that augment fluid forge |
| Source catalogs (V1.5) | Forge directly from Snowflake / Unity / BigQuery / Dataplex / Glue / DataHub / DMM metadata |
fluid validate | Check contract syntax and provider rules |
fluid plan | Plan execution (--html, --env, --out) |
fluid apply | Deploy end-to-end (--mode, --yes, --dry-run) |
fluid status | One-page summary of the product in the current directory |
The newcomer path is usually:
fluid init my-project --quickstart
cd my-project
fluid validate contract.fluid.yaml
fluid plan contract.fluid.yaml
fluid apply contract.fluid.yaml --yes
Pipeline Stages
These commands each map to one stage of the 11-stage production pipeline. Most users trigger them via a generated CI pipeline (fluid generate ci) rather than running them by hand, but every stage is usable standalone.
| # | Command | What it does |
|---|---|---|
| 1 | fluid bundle | Package contract + sources into a signed tgz bundle (--sign, --attest, --format tgz) |
| 2 | fluid validate | Check contract syntax and provider rules (--strict, --report) |
| 3 | fluid generate artifacts | Fanout: ODCS + ODPS-Bitol + schedule + policy bindings |
| 4 | fluid validate-artifacts | Verify MANIFEST SHA-256 + per-format schema checks |
| 5 | fluid diff | Detect drift from deployed state (--exit-on-drift) |
| 6 | fluid plan | Plan execution (--html mermaid DAG, --env, --out) |
| 7 | fluid apply | Deploy (--mode, --allow-data-loss, --yes) |
| 8 | fluid policy-apply | Enforce IAM/GRANT bindings (`--mode check |
| 9 | fluid verify | Confirm deployed state matches the contract (--strict) |
| 10 | fluid publish | Publish to enterprise data catalogs (--target repeatable) |
| 11 | fluid schedule-sync | Push DAGs to airflow / composer / mwaa / astronomer / prefect / dagster |
Safety & Supply Chain
These commands are for production-safety concerns that live alongside the pipeline rather than inside it.
| Command | What it is for |
|---|---|
fluid rollback | Restore from the auto-snapshot taken before apply --mode replace (use --list for read-only discovery) |
fluid verify-signature | Verify a Sigstore cosign signature + SLSA attestation on a tgz bundle |
Generate & Visualize
| Command | What it is for |
|---|---|
fluid generate | Unified generation entry point (transformations, schedules, CI, standards, artifacts) |
fluid generate artifacts | Stage 3 fanout — ODCS + ODPS-Bitol + schedule + policy bindings |
fluid generate-pipeline | Universal pipeline scaffolds (legacy alias) |
fluid generate-airflow | Compatibility shim for generate schedule --scheduler airflow |
fluid viz-graph | Render the contract as an interactive lineage graph (SVG/HTML/PNG/DOT) |
The promoted orchestration path is fluid generate schedule --scheduler airflow.
Standards & Interop
| Command | What it is for |
|---|---|
fluid exporters | List the spec-export formats (ODCS / ODPS / ODPS-Bitol) a contract can be serialized to |
fluid odps | Export, validate, and inspect the official ODPS (Open Data Product Initiative) format |
fluid odps-bitol | Bitol.io's ODPS variant (Entropy Data marketplace) |
fluid odcs | Bidirectional FLUID ↔ Open Data Contract Standard (ODCS v3.1.0) |
fluid export | Export to executable orchestration code (Airflow, Dagster, Prefect) |
fluid export-odps | One-shot ODPS file export shortcut |
ODPS and ODCS are spec exporters, not cloud providers — they serialize a contract to an open standard and do not deploy infrastructure. List them with fluid exporters; for deployment targets see fluid providers.
Integrations
| Command | What it is for |
|---|---|
fluid publish | Publish to enterprise data catalogs (--target repeatable) |
fluid datamesh-manager | Publish products, contracts, and Access lineage to Entropy Data / Data Mesh Manager |
fluid market | Search and browse discovered products and blueprints |
fluid import | Scan existing projects and generate FLUID contracts |
Quality & Governance
0.8.0 introduces a unified fluid policy {check,compile,apply} subcommand group; the existing hyphenated commands stay registered as one-release compatibility aliases.
| Command | What it is for |
|---|---|
fluid policy check | Static lint of the contract's policy declarations (same surface as fluid policy-check) |
fluid policy compile | Compile accessPolicy → provider IAM bindings (runtime/policy/bindings.json) |
fluid policy apply | Deploy compiled IAM bindings to the target warehouse (stage 8) |
fluid contract-tests | Run contract-level test scenarios |
fluid contract-validation | Validate contract structure and references |
fluid diff | Detect drift from deployed state |
fluid test | Validate the contract against live resources |
fluid verify | Verify deployed resources still match the contract |
Project & Workspace
| Command | What it is for |
|---|---|
fluid product-new | Scaffold a new data product |
fluid product-add | Add a product to an existing workspace |
fluid workspace | Manage multi-product workspaces |
fluid ide | IDE integration helpers |
fluid ai | AI provider configuration |
fluid memory | Inspect and manage forge memory namespaces |
fluid mcp serve | Serve forge tools to MCP-compatible clients |
CI & Scaffolding
| Command | What it is for |
|---|---|
fluid generate ci | Generate parameterised 11-stage CI pipelines, including Jenkins publish/verify defaults |
fluid scaffold-ci | Legacy CI/CD scaffolds (superseded by generate ci for 11-stage) |
fluid scaffold-composer | Generate Cloud Composer scaffolds |
fluid docs | Build / index in-product documentation |
Utilities
| Command | What it is for |
|---|---|
fluid config | View and set workspace defaults |
fluid split | Split a flat contract into fragments |
fluid auth | Manage provider authentication flows |
fluid doctor | Run built-in health checks |
fluid providers | List registered infrastructure providers |
fluid plugins | List installed plugins per role with allow/block governance status |
fluid provider-init | Initialize provider-specific configuration |
fluid roadmap | Print the branch-local roadmap |
fluid version | Show CLI version and environment details |
Command discovery
fluid --help
fluid <command> -h
If a page in the docs uses an older command spelling such as fluid compile ... or fluid publish --catalog ..., treat it as historical:
fluid compile→ usefluid bundle --format yaml(renamed in0.7.3; bundle is now also the tgz+sign+attest command)fluid publish --catalog X,Y→ usefluid publish --target X --target Y(renamed + made repeatable in0.7.3)fluid policy-check/policy-compile/policy-apply→ still work; new idiomatic form isfluid policy {check,compile,apply}
Need a hand with a specific command, or noticing something out of date? Start a discussion or open an issue — docs PRs welcome.