# Products

> Manage products in your workspace from the command line.

```bash
getresolved product <action> [...]
# Alias: `products`
```

**Actions** *(aliases in parens)*: `list` (`ls`), `show` (`view`, `get`), `create` (`new`), `update` (`edit`), `help`.

`<id>` is the product UUID. The literal `current` resolves to the product linked to this directory (`.getresolved/config.json`).

## List

```bash
getresolved product list
getresolved product list --limit=20 --offset=40
```

**Filters**: `--limit=<n>`, `--offset=<n>`.

## Show

```bash
getresolved product show current                       # the directory-linked product
getresolved product show <id>
```

## Create

```bash
getresolved product create --name="My App"
getresolved product create --name="My App" --slug=my-app --prefix=APP
```

**Fields**

- `--name="…"` *(required)*
- `--slug=<slug>` — auto-derived from `name` if omitted; auto-suffixed on collision
- `--prefix=<ABC>` *(also: `--issue-prefix`)* — issue shortcode prefix (e.g. `APP` → `APP-001`). Defaults to the first three letters of `name`.

## Update

Pass at least one field.

```bash
getresolved product update <id> --domain=app.example.com
getresolved product update <id> --name="New name" --slug=new-slug
getresolved product update <id> --domain=none          # clears the domain (also: null)
```

**Fields**

- `--name="…"`
- `--slug=<slug>`
- `--prefix=<ABC>` *(also: `--issue-prefix`)* — affects only **new** issues; existing shortcodes are immutable.
- `--domain=<domain>` — e.g. `app.example.com`. Pass `none` or `null` to clear.

