Skip to content

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.

  1. Scaffold a project with a dbt project and a bundled Postgres:

    Terminal window
    mkdir my-valved-project && cd my-valved-project
    valved init --with-dbt
    docker compose up -d # start the state store
  2. 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
  3. Start the control plane (API + scheduler + worker) in one terminal:

    Terminal window
    valved serve
  4. 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.

  5. 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.

  6. Run it against your dev target and watch the logs:

    Terminal window
    valved run <pipeline> --watch

    Iteration is cheap: re-run, refine, re-run, until the rows look right.

  7. 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.

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.

The same loop is available from every surface:

  • CLI — the valved command 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)