Quickstart
This walks the full loop — init → plan → build → run → deploy — for a greenfield project. It assumes you’ve installed Valved and have Docker available.
-
Scaffold a project with a dbt project and a bundled Postgres:
Terminal window mkdir my-valved-project && cd my-valved-projectvalved init --with-dbtdocker compose up -d # start the state store -
Add your credentials. Copy the env template and fill in your model key and warehouse target:
Terminal window cp .env.example .env# edit .env: ANTHROPIC_API_KEY + your Snowflake target vars -
Start the control plane (API + scheduler + worker) in one terminal:
Terminal window valved serve -
Describe what you want. In another terminal, turn intent into a reviewable plan:
Terminal window valved plan "ingest the Stripe charges API into raw_stripe, then a staging model stg_charges"The orchestrator classifies the goal, delegates to the DLT and dbt engineers, gathers context, and prints a plan with file diffs and a cost estimate. Iterate with
valved plan --refine <plan_id> "…"until it looks right. -
Build it. The subagents generate the code and verify by executing (
dlt pipeline run,dbt build) until green:Terminal window valved build <plan_id>Output lands in your working tree — the dlt source, the dbt model, and
pipelines/<name>.toml— not committed yet. -
Run it against your dev target and watch the logs:
Terminal window valved run <pipeline> --watchIteration is cheap: re-run, refine, re-run, until the rows look right.
-
Deploy it. Promote the built code to version control via a configurable handoff (default: open a PR):
Terminal window valved deploy <pipeline>Valved opens a reviewable pull request (linked PRs across repos when a change spans a graduated component and the control-plane repo). You merge.
What just happened
Section titled “What just happened”You walked the core loop: Intent → Plan → Build → Run → Deploy. Once the PR merges, add a [seed_schedule] block to the pipeline (or use valved schedule) and the control plane fires runs on your cadence — see Scheduling & runs.
Drive it your way
Section titled “Drive it your way”The same loop is available from every surface:
- CLI — the
valvedcommand set (reference) - REST API — full parity, auth, streaming, webhooks (REST API)
- MCP — from Claude Desktop / Cursor / Claude Code (MCP server)
- Static UI — run history + per-run logs (Static web UI)