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

# formae profile

> Manage named formae configuration profiles. Reference for formae profile and its subcommands.

Manage named configuration [profiles](/documentation/reference/configuration). A
profile is a stored configuration file. One profile is active at a time, and you
can point a single command at another with `--profile <name>`.

```bash theme={"languages":{"custom":["/languages/pkl.json"]}}
formae profile <subcommand> [flags]
```

### Examples

```bash theme={"languages":{"custom":["/languages/pkl.json"]}}
formae profile list
formae profile use prod
formae profile create staging
```

## formae profile list

List all profiles, marking the active one with `*`.

```bash theme={"languages":{"custom":["/languages/pkl.json"]}}
formae profile list [flags]
```

### Flags

| Flag                                 | Default | Description                              |
| ------------------------------------ | ------- | ---------------------------------------- |
| `--output-consumer <human\|machine>` | `human` | Consumer of the command result.          |
| `--output-schema <json\|yaml>`       | `json`  | The schema to use for the result output. |

## formae profile current

Print the active profile name.

```bash theme={"languages":{"custom":["/languages/pkl.json"]}}
formae profile current [flags]
```

### Flags

| Flag                                 | Default | Description                              |
| ------------------------------------ | ------- | ---------------------------------------- |
| `--output-consumer <human\|machine>` | `human` | Consumer of the command result.          |
| `--output-schema <json\|yaml>`       | `json`  | The schema to use for the result output. |

## formae profile use

Switch the active profile.

```bash theme={"languages":{"custom":["/languages/pkl.json"]}}
formae profile use <name> [flags]
```

## formae profile create

Create a new profile from the starter template. This does not switch the active
profile.

```bash theme={"languages":{"custom":["/languages/pkl.json"]}}
formae profile create <name> [flags]
```

### Flags

| Flag      | Default | Description                    |
| --------- | ------- | ------------------------------ |
| `--force` | `false` | Overwrite an existing profile. |

## formae profile save

Snapshot the active profile under a new name. This does not switch the active
profile.

```bash theme={"languages":{"custom":["/languages/pkl.json"]}}
formae profile save <name> [flags]
```

### Flags

| Flag      | Default | Description                    |
| --------- | ------- | ------------------------------ |
| `--force` | `false` | Overwrite an existing profile. |

## formae profile edit

Open a profile in `$EDITOR`. With no name, opens the active profile.

```bash theme={"languages":{"custom":["/languages/pkl.json"]}}
formae profile edit [<name>] [flags]
```

## formae profile diff

Run `diff -u` between two profiles, or between one profile and the active profile.

```bash theme={"languages":{"custom":["/languages/pkl.json"]}}
formae profile diff <a> [<b>] [flags]
```

## formae profile delete

Delete a profile. The active profile cannot be deleted.

```bash theme={"languages":{"custom":["/languages/pkl.json"]}}
formae profile delete <name> [flags]
```
