CLI

Quickstart

dcupl is a frontend-first data platform — you define models, load data, and query it in memory. In a few minutes you'll scaffold a complete dcupl project, run it locally, connect it to the dcupl cloud, and push your files. Each step builds on the last — by the end you'll have a working project synced to the Console.

New to dcupl? Start with How the CLI works for the concepts and a glossary.

Install the CLI with npm i -g @dcupl/cli (or run it via npx) — see Installation for prerequisites and troubleshooting.

The whole flow
zsh — zero to synced

scaffold a project from the minimal starter: dcupl init my-project && cd my-project — output: ✓ Created my-project (starter: minimal) sample model + data ready

run it locally: dcupl serve — output: ➜ dev server ready on http://localhost:8083

wire up cloud credentials: dcupl config set --project-id PRJ_42 --api-key **** --yes — output: ✓ Credentials saved

push your files to versioned cloud storage: dcupl files push — output: { "pushed": 4, "version": 1, "conflicts": 0 }

  1. 1

    Scaffold a project

    Create a new project from the default minimal starter. It generates a ready-to-run project complete with a sample model and data.

    A couple of handy options:

  2. 2

    Explore the project structure

    The minimal starter lays out a typical dcupl workspace:

    dcupl.config.json sits at the project root and points at the dcupl/ folder via loaderPath, modelsBasePath, and dataBasePath. Model files use the .dcupl.json extension and data files use .data.json.

  3. 3

    Run the dev server

    Start the local development server. It listens on port 8083 by default — add --open-browser to launch it automatically.

  4. 4

    Connect to the cloud

    You'll need a project ID and API key from the dcupl Console — create a project there to get them. Then configure your credentials interactively: the non-secret projectId is written to dcupl.config.json and the apiKey to dcupl.secrets.json. For scripts and CI, set them non-interactively.

    dcupl.secrets.json contains your API key. Add it to .gitignore and never commit it.

  5. 5

    Push to the cloud

    Upload your workspace files to versioned cloud storage. files push is incremental — it uploads only the files that changed since your last sync. Once it completes, your project is available in the Console.

Project files

Your workspace contains a few key files. Know which ones are safe to commit.

File Purpose Commit?
dcupl.config.jsonWorkspace config: paths + projectId (no secrets)Yes
dcupl.secrets.jsonYour apiKey — secretNo — gitignore
dcupl/ (folder)Your source: loader config, models, and dataYes
dcupl/dcupl.lc.jsonLoader config (models, data, loaders, environments)Yes
.dcupl/ (hidden)CLI-managed local sync ledger — not sourceNo — gitignore