init Command
Create a new FLUID project with contracts, sample data, and a ready-to-run pipeline.
Syntax
fluid init [name] [options]
Options
Project Mode (mutually exclusive)
| Option | Description |
|---|---|
--quickstart | Create a working example with sample data (recommended) |
--scan | Import an existing dbt or Terraform project |
--wizard | Interactive guided setup |
--blank | Empty project skeleton |
--template <name> | Start from a named template (e.g. customer-360) |
Additional Options
| Option | Description | Default |
|---|---|---|
--provider <name> | Target provider: local, gcp, aws, snowflake, azure | local |
--use-case <type> | Project type: data-product, ai-agent, analytics, api | — |
--no-run | Don't auto-execute the pipeline after creation | false |
--no-dag | Don't auto-generate an Airflow DAG | false |
--dry-run | Preview what would be created without writing files | false |
--yes, -y | Skip confirmation prompts | false |
What It Creates
fluid init my-project --quickstart creates the my-project/ directory for you and then copies the current quickstart scaffold into it. The default quickstart project looks like:
my-project/
├── README.md # Template walkthrough and next steps
├── contract.fluid.yaml # Data product contract
├── data/
│ ├── customers.csv
│ ├── interactions.csv
│ └── orders.csv
└── .fluid/
└── db.duckdb # Local DuckDB state created during init
Examples
Quickstart (Recommended)
fluid init bitcoin-tracker --quickstart
Creates the bitcoin-tracker/ directory and fills it with a fully working project you can run immediately:
cd bitcoin-tracker
fluid validate contract.fluid.yaml
fluid apply contract.fluid.yaml --yes
Scan Existing dbt Project
cd existing-dbt-project
fluid init --scan
Auto-detects dbt models and converts them into a FLUID contract.
GCP-Targeted Project
fluid init analytics --provider gcp --quickstart
Generates a contract configured for BigQuery deployment.
Blank Skeleton
fluid init my-project --blank
Creates a minimal project with an empty contract template.
Preview Mode
fluid init my-project --quickstart --dry-run
Shows what files and directories would be created, including the target project directory, without writing anything.
After Initialization
Once your project is created, follow the standard workflow:
# 1. Move into the project directory
cd my-project
# 2. Validate the contract
fluid validate contract.fluid.yaml
# 3. Deploy locally (or to cloud)
fluid apply contract.fluid.yaml --yes
See Also
- Getting Started Guide — end-to-end first project walkthrough
- validate command — validate your contract
- apply command — deploy your project
