> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getcargo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Developer Tools

> One binary, cargo-ai, gives you three ways to operate Cargo from your machine: imperative CLI commands, declarative CDK infrastructure-as-code, and AI Skills that let agents drive the CLI for you.

Everything you need to run Cargo outside the browser ships in a single npm
package, `@cargo-ai/cli`. It exposes three layers that share the same
authentication, the same JSON responses, and the same platform surface:

<CardGroup cols={3}>
  <Card title="CLI" icon="terminal" href="/cli/overview">
    Imperative, one-off commands. Run tools, trigger plays, query the
    warehouse, chat with agents — from a terminal, a script, or CI.
  </Card>

  <Card title="CDK" icon="cubes" href="/cdk/overview">
    Declarative infrastructure-as-code. Define a whole workspace in TypeScript
    and reconcile it with `plan` / `deploy`.
  </Card>

  <Card title="Skills" icon="robot" href="/skills/overview">
    Structured prompt packages that teach Claude Code, Cursor, Codex and other
    agents how to drive the CLI in natural language.
  </Card>
</CardGroup>

They aren't separate products — the CDK is the `cargo-ai cdk` subcommand, and
Skills are prompt packages layered on top of the same CLI. Install once,
authenticate once, then pick the layer that fits the task.

***

## Which should I use?

| Reach for the… | When you want to…                                                                                                                         |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **CLI**        | Run one-off or scripted operations — a single enrichment, a batch play, a SQL query, an agent chat — with full control over each command. |
| **CDK**        | Manage a whole workspace as versioned, diffable code with state tracking and drift detection (`cargo.state.json`, `plan`, `deploy`).      |
| **Skills**     | Let an AI agent (Claude Code, Cursor, Codex, …) figure out the commands for you from a plain-English request.                             |

A rule of thumb:

* **Imperative, ad hoc, or CI step** → CLI
* **Declarative, reproducible workspace** → CDK
* **Natural-language, agent-driven** → Skills

All three can coexist in the same project. It's common to define core resources
with the CDK, run day-to-day operations with the CLI, and hand repetitive tasks
to an agent through Skills.

***

## Get started

<CardGroup cols={2}>
  <Card title="Install & authenticate" icon="download" href="/developer-tools/installation">
    Install `@cargo-ai/cli`, log in with your API token, and verify your
    workspace. Shared by all three layers.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Prefer raw HTTP? Call the Cargo REST API directly.
  </Card>
</CardGroup>
