# Datasets CLI

Use `provon datasets` to manage project datasets and their examples.

These commands require a project-scoped credential.

## List Datasets

```bash
provon datasets list
provon datasets list --limit 50 --cursor <cursor>
```

## Create A Dataset

```bash
provon datasets create "My Dataset" \
  --description "Successful conversations for fine-tuning" \
  --objective preserve_successful_behavior
```

Available collection objectives: `preserve_successful_behavior`, `capture_failures_for_review`,
`improve_specific_skills`.

Use `--collection-enabled` or `--no-collection-enabled` to control automatic collection.

## Inspect And Update A Dataset

```bash
provon datasets get <dataset-id>
provon datasets update <dataset-id> --name "New Name"
provon datasets update <dataset-id> --description "New description"
provon datasets update <dataset-id> --objective capture_failures_for_review
provon datasets update <dataset-id> --collection-enabled false
```

## Delete A Dataset

```bash
provon datasets delete <dataset-id>
```

## Manage Examples

List examples:

```bash
provon datasets examples list <dataset-id>
provon datasets examples list <dataset-id> --limit 100 --cursor <cursor>
```

Create an example from a JSON payload file:

```bash
provon datasets examples create <dataset-id> \
  --payload-file ./example.json \
  --source-kind manual \
  --tags review,priority
```

Source kinds: `manual`, `conversation`, `import`, `synthetic`.

Inspect and update an example:

```bash
provon datasets examples get <dataset-id> <example-id>
provon datasets examples update <dataset-id> <example-id> \
  --payload-file ./updated-example.json \
  --tags reviewed
```

Delete an example:

```bash
provon datasets examples delete <dataset-id> <example-id>
```

## Related Docs

- [Datasets overview](../datasets/index.md)
- [Datasets quickstart](../datasets/quickstart.md)
- [Datasets API](../api/datasets.md)
