# `jadpo records`

List and update the records.

Every file Jadpo generates and the project commits is a record (area 18): each API's api/<api>.jadpo_record, who can do what (access.jadpo_record), the outside hosts (network.jadpo_record), the identity registry, each translations folder's sources, the suggestions the project ignored or taught, and jadpo.lock. `jadpo records` lists them by the command that writes them, each with whether it is up to date, and fails while one is not, naming the command to run. `update` brings every record up to date at once: each API record written from the routes, each other record rewritten sorted and in the newest format, and a record under its old name moved.

```text
jadpo records [action]
```

## Arguments

- `action` (optional): What to do: update, or nothing to list them

## On every command

- `--json`: Print data for tools instead of text
- `--full`: Show everything a report shortens
- `--help`: Show every flag, with examples
- `--color <when>`: Choose when to use colour

`jadpo records --json` writes one JSON document to standard output instead of text, with the same exit code. The document has `schemaVersion`, `command` (`"records"`), `ok`, `data` (what the command produced, `null` when it failed) and `diagnostics` (each error with its `rule`, `reason`, `next` and `help`). A command that needs a terminal refuses `--json` and names the flags that do the same job.

## Examples

```text
# See every record and whether it is up to date
jadpo records
# Bring every record up to date
jadpo records update
```

## Errors

- [`cli.records_arguments`](/docs/errors/cli.records_arguments.md): A `jadpo records` command names an action other than `update`
- [`record.edited`](/docs/errors/record.edited.md): Generated record was edited by hand
- [`record.format_newer`](/docs/errors/record.format_newer.md): A record file in the project was written by a newer Jadpo, in a format this one can't read
- [`record.out_of_date`](/docs/errors/record.out_of_date.md): A record file that Jadpo writes from your code is missing, or no longer matches the code
- [`toolchain.artifact_write_failed`](/docs/errors/toolchain.artifact_write_failed.md): A file Jadpo writes for you, such as a record, couldn't be written, usually because it or its folder is read-only
- [`toolchain.project_not_found`](/docs/errors/toolchain.project_not_found.md): You ran a command that works on a project in a folder with no `app.jadpo`, in it or in any folder above it
