# CLI reference

> Every 10xGraph CLI command with its purpose, usage line, options and defaults: init, api, play, dev, build, eval, test, skills, audit, config, demo and version.

Source: https://10xgraph.com/docs/reference/api-cli/commands
Last updated: 2026-10-03

The `10xgraph` command ships with the `10xgraph-api` package. It has twelve subcommands: `init`, `api`, `play`, `dev`, `build`, `eval`, `test`, `skills`, `audit`, `config`, `demo` and `version`. Global options go before the subcommand, and `-h` or `--help` works everywhere.

> **Binary name during the rename**
>
> The installed executable in the current source is still registered as `agentflow` (see `[project.scripts]` in the API package). Where this page says `10xgraph`, use `agentflow` until the rename ships.

## Global options

Placed before the subcommand, for example `10xgraph --no-color build`.

| Option | Default | Purpose |
|---|---|---|
| `--format` | `human` | Output format: `human`, `plain`, `json` or `jsonl` |
| `--json` | off | Shorthand for `--format json` |
| `--color` | `auto` | Color policy: `auto`, `always` or `never` |
| `--no-color` | off | Shorthand for `--color never` |
| `--progress` | `auto` | Progress mode: `auto`, `tty`, `plain`, `json` or `quiet` |
| `--animation / --no-animation` | unset | Enable or disable decorative animation |
| `--fullscreen / --no-fullscreen` | on for an interactive terminal | Run on a full-screen surface. `AGENTFLOW_NO_FULLSCREEN=1` also disables it |
| `--cwd` | current directory | Run as if started in this directory (must exist) |
| `--verbose`, `-v` | 0 | Increase diagnostics, repeatable |
| `--quiet`, `-q` | off | Suppress informational and success output |
| `--debug` | off | Enable debug diagnostics |
| `--yes`, `-y` | off | Accept recommended defaults |
| `--non-interactive` | off | Never prompt |
| `--version`, `-V` | | Print the CLI version and exit |

`--json` cannot be combined with a different `--format`, and `--no-color` cannot be combined with a different `--color`.

## init

Scaffold a new agent project.

```bash
10xgraph init [--path DIR] [--template quick-start|production] [options]
```

| Option | Default | Purpose |
|---|---|---|
| `--path`, `-p` | `.` | Directory to initialize |
| `--force`, `-f` | off | Overwrite existing files |
| `--name` | inferred | Agent name, required only when it cannot be inferred |
| `--template` | `quick-start` | `quick-start` or `production` |
| `--auth` | prompt | Production only: `none`, `jwt` or `custom` |
| `--rate-limit` | prompt | Production only: `none`, `memory` or `redis` |
| `--yes`, `-y` | off | Accept recommended defaults |
| `--non-interactive` | off | Fail instead of prompting |
| `--dry-run` | off | Preview without writing files |

`--auth` and `--rate-limit` require `--template production`.

## api

Start the development API server (Uvicorn).

```bash
10xgraph api [--config FILE] [--host HOST] [--port PORT]
```

| Option | Default | Purpose |
|---|---|---|
| `--config`, `-c` | `10xgraph.json` | Config file |
| `--host`, `-H` | `127.0.0.1` | Bind address. Use `0.0.0.0` for all interfaces |
| `--port`, `-p` | `8000` | Port |
| `--reload / --no-reload` | on | Auto-reload on file changes |
| `--verbose`, `-v` | off | Verbose logging |
| `--quiet`, `-q` | off | Errors only |

## play

Start the same server and open the hosted playground. Takes the same options as `api`.

```bash
10xgraph play [--config FILE] [--host HOST] [--port PORT] [--reload | --no-reload]
```

## dev

Local development server. Like `play`, with the playground opening controlled by a flag.

```bash
10xgraph dev [--config FILE] [--host HOST] [--port PORT] [--open | --no-open]
```

| Option | Default | Purpose |
|---|---|---|
| `--config`, `-c` | `10xgraph.json` | Config file |
| `--host`, `-H` | `127.0.0.1` | Bind address |
| `--port`, `-p` | `8000` | Port |
| `--reload / --no-reload` | on | Reload on file changes |
| `--open / --no-open` | on | Open the hosted playground when the API is ready |
| `--verbose`, `-v` / `--quiet`, `-q` | off | Logging level |

## build

Generate deployment files. See [Deploy with Docker and Kubernetes](/docs/how-to/api-cli/generate-docker-files).

```bash
10xgraph build [--docker-compose] [--k8s] [options]
```

| Option | Default | Purpose |
|---|---|---|
| `--output`, `-o` | `Dockerfile` | Dockerfile path |
| `--force`, `-f` | off | Overwrite existing files |
| `--python-version` | `3.13` | Python version of the base image |
| `--port`, `-p` | `8000` | Port to expose |
| `--docker-compose / --no-docker-compose` | off | Also write `docker-compose.yml`, omit `CMD` from the Dockerfile |
| `--k8s / --no-k8s` | off | Also write `k8s.yaml` |
| `--service-name` | `agentflow-cli` | Service name in generated files |
| `--verbose`, `-v` / `--quiet`, `-q` | off | Logging level |

## eval

Run agent evaluations. Discovers `*_eval.py` and `eval_*.py` files in the target directory (default `evals/`) and runs their cases.

```bash
10xgraph eval [TARGET] [--threshold 0.8] [--parallel]
```

| Option | Default | Purpose |
|---|---|---|
| `TARGET` | `evals/` | File or directory to evaluate |
| `--output`, `-o` | `eval_reports` | Report directory |
| `--no-report` | off | Console summary only |
| `--threshold`, `-t` | unset | Fail if the overall pass rate is below this value (0.0 to 1.0) |
| `--open` | off | Open the HTML report afterwards |
| `--parallel`, `-p` | off | Run all cases from all files concurrently |
| `--max-concurrency`, `-c` | `4` | Concurrent cases when `--parallel` is set |
| `--verbose`, `-v` / `--quiet`, `-q` | off | Output level |

Reports are HTML and JSON unless `--no-report` is set. When an option is left at its default, the `evaluation` block of `10xgraph.json` can supply `directory`, `output_dir`, `threshold`, `parallel` and `max_concurrency`.

## test

Run the project tests with pytest.

```bash
10xgraph test [PATH] [--coverage] [-k EXPR] [-- PYTEST_ARGS]
```

| Option | Default | Purpose |
|---|---|---|
| `PATH` | pytest discovery | Test file or directory |
| `--coverage`, `-C` | off | Run with coverage (`--cov=.`, terminal and HTML reports) |
| `--html` | off | Open the HTML coverage report (needs `--coverage`) |
| `-k` | unset | Only run tests matching this expression |
| `--verbose`, `-v` / `--quiet`, `-q` | off | Output level |

Extra arguments are forwarded to pytest. The `test` block of `10xgraph.json` can set `path`, `coverage` and `coverage_threshold`. An explicit `PATH` wins over the config.

## skills

Install the bundled coding-agent skill, or validate skills.

```bash
10xgraph skills [--agent codex|claude|github] [--all] [--list]
```

| Option | Default | Purpose |
|---|---|---|
| `--agent`, `-a` | prompt | Target: `codex`, `claude`, `github`, or menu number `1`, `2`, `3` |
| `--all` | off | Install for every supported agent |
| `--list`, `-l` | off | List supported agents and exit |
| `--path`, `-p` | `.` | Project directory to install into |
| `--force`, `-f` | off | Overwrite an existing installed skill |
| `--validate` | unset | Validate a skill directory or folder of them against the Agent Skills spec. Repeatable |
| `--verbose`, `-v` / `--quiet`, `-q` | off | Logging level |

Install locations: `.agents/skills/agentflow` (Codex), `.claude/skills/agentflow` (Claude), and `.github/skills/agentflow` plus `.github/instructions/agentflow.instructions.md` (GitHub).

## audit

Read-only environment check: Python version, installed packages, core evaluation API, `10xgraph.json` validity and whether the default port is free. Exits 1 if any check fails, so it works as a CI gate.

```bash
10xgraph audit [--config FILE]
```

| Option | Default | Purpose |
|---|---|---|
| `--config`, `-c` | `10xgraph.json` | Config file to validate |
| `--verbose`, `-v` / `--quiet`, `-q` | off | Logging level |

## config

Edit and validate `10xgraph.json` in a browser UI. The file is created on first save.

```bash
10xgraph config [--config FILE] [--port PORT] [--no-open]
```

| Option | Default | Purpose |
|---|---|---|
| `--config`, `-c` | `10xgraph.json` | File to edit |
| `--port`, `-p` | `0` (any free port) | Editor port |
| `--open / --no-open` | on | Open the default browser |

## demo

Preview terminal animations without touching the project.

```bash
10xgraph demo [--style all|typing|network|init|build|eval]
```

| Option | Default | Purpose |
|---|---|---|
| `--style` | `all` | Animation theme |

## version

Print the CLI and core framework versions.

```bash
10xgraph version
```

Accepts `--verbose` and `--quiet`.

## Exit codes

Commands exit `0` on success and non-zero on failure. `Ctrl+C` exits `130`. `10xgraph test` returns the pytest exit code.

## Frequently asked questions

### What is the difference between api, play and dev?

All three start the same Uvicorn development server. play also opens the hosted playground, dev opens it by default but accepts --no-open, and api never opens it. None of them is meant for production, so use build and Gunicorn there.
