Skip to main content
There are three ways to drive Cargo, and they’re not separate tools — they’re three modes of the same command-line tool.

One binary, one login

Everything runs through a single binary, cargo-ai, installed and authenticated once (see the Quickstart) — every mode below reuses that same session:
  • Imperative commandscargo-ai orchestration run create, cargo-ai storage model list, … operate the platform directly.
  • The project ships inside the same binary as cargo-ai project (plan, deploy, refresh, destroy). There is no separate install or login.
  • Skills are prompt packages that teach an AI agent to call those same commands for you.
So “CLI vs project” is not a real choice of tools — project is a command group of the CLI. The real choice is which mode fits the task.
cargo-ai project used to be called cargo-ai cdk, and cdk still works as an alias — nothing you have written down needs changing. The TypeScript library you import from is still @cargo-ai/cdk.

The three modes

How they fit together

  • Declarative is the default for anything you keep. Connectors, models, tools, agents, and plays belong in a project so they’re reproducible. Start with the Quickstart.
  • Imperative is for operating what you’ve deployed. Once a tool or play exists, you run and monitor it with CLI commands — one-offs, CI jobs, data pulls.
  • Skills sit on top of the CLI. They’re the imperative surface, driven by an agent instead of your fingers. See Skills.
A quick rule of thumb: if you’d commit it to git, define it in the project. If you’d type it once, use a command. If you’d rather describe it than remember the flags, use Skills.

Next steps

Quickstart

Deploy your first workspace from a project.

Project layout

How a folder of define* files becomes a workspace.

CLI

The imperative command surface — runs, batches, queries, and more.

Skills

Drive the CLI with natural language through an AI agent.