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

# The tp CLI

> Every command, grouped by what you are trying to do.

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
uv tool install tuneplane     # or: pip install tuneplane
tp login --server https://tuneplane.your-company.com
tp status
tp update    # later, to upgrade
```

One command does all of it: create the project, validate configs locally, pack and submit jobs,
follow logs, and manage datasets, volumes, models, plugins and environments.

The entry point installs under both names, `tuneplane` and `tp`. Every page here writes `tp`.

> [!NOTE]
>
> Every flag table on these pages is generated from the CLI itself by
> `scripts/gen_cli_docs.py`, and CI fails if it drifts. What you read here is what `tp --help`
> prints.

## Set up

| Command | What it does |
| - | - |
| [`tp init`](https://docs.tuneplane.ai/en/cli/init) | Create a TunePlane project |
| [`tp login`](https://docs.tuneplane.ai/en/cli/login) | Log in to a deployment |
| [`tp logout`](https://docs.tuneplane.ai/en/cli/logout) | Log out |
| [`tp status`](https://docs.tuneplane.ai/en/cli/status) | Your account, quota, and active jobs |
| [`tp update`](https://docs.tuneplane.ai/en/cli/update) | Update `tuneplane` itself |
| [`tp version`](https://docs.tuneplane.ai/en/cli/version) | Version of the CLI, and of the server it talks to |

## Experiments

| Command | What it does |
| - | - |
| [`tp new`](https://docs.tuneplane.ai/en/cli/new) | Create an experiment from a method template |
| [`tp ls`](https://docs.tuneplane.ai/en/cli/ls) | List the experiments in this project |
| [`tp validate`](https://docs.tuneplane.ai/en/cli/validate) | Check a config against the method declaration, locally |
| [`tp methods`](https://docs.tuneplane.ai/en/cli/methods) | The method catalog, and one method's tunable parameters |
| [`tp recipe`](https://docs.tuneplane.ai/en/cli/recipe) | Inspect and upgrade an experiment's recipe lock |

## Train

| Command | What it does |
| - | - |
| [`tp submit`](https://docs.tuneplane.ai/en/cli/submit) | Submit a training job |
| [`tp sweep`](https://docs.tuneplane.ai/en/cli/sweep) | Submit a grid of variants |
| [`tp job`](https://docs.tuneplane.ai/en/cli/job) | Logs, status, samples, pause, resume, stop |
| [`tp clean`](https://docs.tuneplane.ai/en/cli/clean) | Delete an experiment's checkpoints and logs |

## Artifacts and evaluation

| Command | What it does |
| - | - |
| [`tp export`](https://docs.tuneplane.ai/en/cli/export) | Convert a checkpoint to HuggingFace format |
| [`tp eval`](https://docs.tuneplane.ai/en/cli/eval) | Run a recipe's native evaluation |
| [`tp bench`](https://docs.tuneplane.ai/en/cli/bench) | Run standard benchmarks |
| [`tp serve`](https://docs.tuneplane.ai/en/cli/serve) | Start, extend and stop Playground sessions |

## Resources

| Command | What it does |
| - | - |
| [`tp dataset`](https://docs.tuneplane.ai/en/cli/dataset) | Prepare, check, push and version datasets |
| [`tp volume`](https://docs.tuneplane.ai/en/cli/volume) | Governed directories a job mounts read-only |
| [`tp model`](https://docs.tuneplane.ai/en/cli/model) | The model registry: register, promote, archive |
| [`tp env`](https://docs.tuneplane.ai/en/cli/env) | Agent RL environments: list, push, inspect, register a runner |
| [`tp annotate`](https://docs.tuneplane.ai/en/cli/annotate) | Preference annotation: pull, push, progress |
| [`tp plugin`](https://docs.tuneplane.ai/en/cli/plugin) | Publish, install and inspect plugins |

## Administration

| Command | What it does |
| - | - |
| [`tp admin`](https://docs.tuneplane.ai/en/cli/admin) | Users, roles, quotas, maintenance windows |

## Conventions

* **`-h` / `--help` works everywhere.** `tp job logs --help` is faster than finding the page.
* **The project root is found by `tuneplane.yaml`.** Run commands from anywhere inside the project.
* **State lives in `~/.tuneplane/`** — the access token and the server address. Nothing else.
* **`tp job logs` defaults to your most recent job.** The other job commands take an id.
* **References are `<owner>/<name>`**, with `@version` where versions exist:
  `alice/gsm8k-zh@v2`. A Volume is the exception and never carries a version.

## Shell completion

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
tp --install-completion
```

Installs completion for your current shell. `--show-completion` prints the script instead, if you
would rather place it yourself.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.