# kindgi release-gates

> Release gates: what a request to pin a version of an agent must show before it is pinned for a scope (list / show / versions / publish / unregister / reinstate)

## `kindgi release-gates`

**Synopsis**

```sh signature
kindgi release-gates <command>
```

Release gates: what a request to pin a version of an agent must show before it is pinned for a scope (list / show / versions / publish / unregister / reinstate).

**Commands**

| Command                                                                                                                            | Description                                                                                                                                                                                                     |
| ---------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`kindgi release-gates list`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates-list)             | List release gates (each one's latest active version), for an agent or a scope.                                                                                                                                 |
| [`kindgi release-gates show`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates-show)             | Show a release gate's latest active version, or one version.                                                                                                                                                    |
| [`kindgi release-gates versions`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates-versions)     | List a release gate's versions, unregistered ones too.                                                                                                                                                          |
| [`kindgi release-gates publish`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates-publish)       | Publish a release gate, or a new version of one: what pinning a version of the agent for the scope must show (the keys of the spec: comparison, evidence, metrics, replay, cases, approvals, onlyExpertGroups). |
| [`kindgi release-gates unregister`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates-unregister) | Unregister a release gate version: the gate's latest remaining active version applies, or the scope above's gate.                                                                                               |
| [`kindgi release-gates reinstate`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates-reinstate)   | Reinstate an unregistered release gate version.                                                                                                                                                                 |

**See also**

- [Release an agent version](https://docs.kindgi.com/v0.4.0/guides/improve/release-an-agent-version.md)

### `kindgi release-gates list`

**Synopsis**

```sh signature
kindgi release-gates list [--agent=<agent-id>] [(--tenant | --org=<org-id> | --project=<project-id> [--segment=<key:value>]…)] [--include-retired] [--limit=<n>] [--cursor=<cursor>] [--table]
```

List release gates (each one's latest active version), for an agent or a scope.

**Options**

| Option              | Default              | Description                                                                                                                         |
| ------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `--agent <value>`   | none                 | Only the release gates of this agent.                                                                                               |
| `--cursor <value>`  | none                 | The next page, from `nextCursor`.                                                                                                   |
| `--include-retired` | off                  | Include retired release gates (every version unregistered), each as its highest version with `unregisteredAt`.                      |
| `--limit <value>`   | `25` (at most `100`) | Page size.                                                                                                                          |
| `--org <value>`     | none                 | An org, by id.                                                                                                                      |
| `--project <value>` | none                 | A project, by id; with `--segment`, a segment in it.                                                                                |
| `--segment <value>` | none                 | One step of the segment path, `key:value` (e.g. `company:acme`); repeat it in order, coarse to fine. Needs `--project`. Repeatable. |
| `--tenant`          | off                  | The whole tenant.                                                                                                                   |

Every command also takes the [global flags](https://docs.kindgi.com/v0.4.0/reference/cli.md#global-flags).

**Examples**

List the release gates of one agent.

```sh
kindgi release-gates list --agent=acme.order-desk --table
```

List the release gates set for the whole tenant.

```sh
kindgi release-gates list --tenant
```

**See also**

- [Release an agent version](https://docs.kindgi.com/v0.4.0/guides/improve/release-an-agent-version.md)
- [`kindgi release-gates`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates)

### `kindgi release-gates show`

**Synopsis**

```sh signature
kindgi release-gates show <release-gate-id> [<version>]
```

Show a release gate's latest active version, or one version.

**Options**

Every command also takes the [global flags](https://docs.kindgi.com/v0.4.0/reference/cli.md#global-flags).

**Examples**

Show a release gate's latest active version.

```sh
kindgi release-gates show acme.order-desk-release
```

Show one version of a release gate.

```sh
kindgi release-gates show acme.order-desk-release 1.0.0
```

**See also**

- [Release an agent version](https://docs.kindgi.com/v0.4.0/guides/improve/release-an-agent-version.md)
- [`kindgi release-gates`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates)

### `kindgi release-gates versions`

**Synopsis**

```sh signature
kindgi release-gates versions <release-gate-id> [--table]
```

List a release gate's versions, unregistered ones too.

**Options**

Every command also takes the [global flags](https://docs.kindgi.com/v0.4.0/reference/cli.md#global-flags).

**Examples**

List a release gate's versions, unregistered ones too.

```sh
kindgi release-gates versions acme.order-desk-release --table
```

**See also**

- [Release an agent version](https://docs.kindgi.com/v0.4.0/guides/improve/release-an-agent-version.md)
- [`kindgi release-gates`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates)

### `kindgi release-gates publish`

**Synopsis**

```sh signature
kindgi release-gates publish <release-gate-id> --release-gate-version=<semver> --agent=<agent-id> (--tenant | --org=<org-id> | --project=<project-id> [--segment=<key:value>]…) --spec='<json>'|@<file> [--description=<text>]
```

Publish a release gate, or a new version of one: what pinning a version of the agent for the scope must show (the keys of the spec: comparison, evidence, metrics, replay, cases, approvals, onlyExpertGroups). Needs admin on the tenant.

**Options**

| Option                           | Default                                           | Description                                                                                                                         |
| -------------------------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `--agent <value>`                | required                                          | The agent the gate checks.                                                                                                          |
| `--description <value>`          | none                                              | What the gate is for.                                                                                                               |
| `--org <value>`                  | required: one of `--tenant`, `--org`, `--project` | An org, by id.                                                                                                                      |
| `--project <value>`              | required: one of `--tenant`, `--org`, `--project` | A project, by id; with `--segment`, a segment in it.                                                                                |
| `--release-gate-version <value>` | required                                          | The version to publish (semver).                                                                                                    |
| `--segment <value>`              | none                                              | One step of the segment path, `key:value` (e.g. `company:acme`); repeat it in order, coarse to fine. Needs `--project`. Repeatable. |
| `--spec <value>`                 | required                                          | The checks, as JSON, inline or `@<file>`.                                                                                           |
| `--tenant`                       | required: one of `--tenant`, `--org`, `--project` | The whole tenant.                                                                                                                   |

Every command also takes the [global flags](https://docs.kindgi.com/v0.4.0/reference/cli.md#global-flags).

**Examples**

From [Release an agent version](https://docs.kindgi.com/v0.4.0/guides/improve/release-an-agent-version.md):

```sh
pnpm exec kindgi release-gates publish acme.order-desk-release --release-gate-version=1.0.0 --agent=acme.order-desk --tenant --spec=@gate.json --description="What a release of the order desk must show"
```

**See also**

- [Release an agent version](https://docs.kindgi.com/v0.4.0/guides/improve/release-an-agent-version.md)
- [`kindgi release-gates`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates)

### `kindgi release-gates unregister`

**Synopsis**

```sh signature
kindgi release-gates unregister <release-gate-id> <version>
```

Unregister a release gate version: the gate's latest remaining active version applies, or the scope above's gate.

**Options**

Every command also takes the [global flags](https://docs.kindgi.com/v0.4.0/reference/cli.md#global-flags).

**Examples**

Unregister a release gate version.

```sh
kindgi release-gates unregister acme.order-desk-release 1.0.0
```

**See also**

- [Release an agent version](https://docs.kindgi.com/v0.4.0/guides/improve/release-an-agent-version.md)
- [`kindgi release-gates`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates)

### `kindgi release-gates reinstate`

**Synopsis**

```sh signature
kindgi release-gates reinstate <release-gate-id> <version>
```

Reinstate an unregistered release gate version.

**Options**

Every command also takes the [global flags](https://docs.kindgi.com/v0.4.0/reference/cli.md#global-flags).

**Examples**

Reinstate an unregistered release gate version.

```sh
kindgi release-gates reinstate acme.order-desk-release 1.0.0
```

**See also**

- [Release an agent version](https://docs.kindgi.com/v0.4.0/guides/improve/release-an-agent-version.md)
- [`kindgi release-gates`](https://docs.kindgi.com/v0.4.0/reference/cli/release-gates.md#kindgi-release-gates)
