# phloem profile

```
phloem profile [OPTIONS] <COMMAND>
```



## phloem profile publish

Publish a saved version of the active project (default: the latest)

```
phloem profile publish [OPTIONS]
```

- `--version <VERSION>`

## phloem profile list

```
phloem profile list [OPTIONS]
```



## phloem profile download

Write a profile's file (`name@vN`, a name, or a sha prefix) into DIR; never over an existing file without --force

```
phloem profile download [OPTIONS] <PROFILE>
```

- `<PROFILE>`
- `--dir <DIR>` — [default: .]
- `--force` — Write over a file already at that path

## phloem profile load

Make a new project here from a profile — `name@vN` from the org library, or a profile FILE (not active)

```
phloem profile load [OPTIONS] <PROFILE>
```

- `<PROFILE>`
- `--name <NAME>`

## phloem profile diff

Drift between the active project and a profile, by document

```
phloem profile diff [OPTIONS] <PROFILE>
```

- `<PROFILE>`
- `--fields` — Under each change, what moved field by field (before → after)

## phloem profile upgrade

Bring in a newer version of the profile the active project came from, keeping what changed here (Phloem restarts to apply it)

```
phloem profile upgrade [OPTIONS] [PROFILE]
```

- `[PROFILE]` — `name@vN` or a sha prefix among the published profiles (default: the newest newer version)
- `--file <FILE>` — The newer version as a profile FILE instead
- `--take <ID=PICK>` — Decide a conflict: <conflict id>=ours|theirs (the preview lists the ids)
- `--replace` — The version loaded cannot be had: replace this project's documents with the newer version's
- `--dry-run` — Say what would change and what conflicts, change nothing
- `--wait` — Wait until Phloem is back after the restart (up to --timeout)
- `--timeout <TIMEOUT>` — [default: 60s]

## phloem profile delete

Delete a profile from the org library (`name@vN` or a sha prefix) — needs `phloem login`

```
phloem profile delete [OPTIONS] <PROFILE>
```

- `<PROFILE>`

## phloem profile migrate

Rewrite an older profile FILE to the current contract (refuses a newer one); touches no project

```
phloem profile migrate [OPTIONS] <FILE>
```

- `<FILE>`
- `--out <FILE>`
- `--signer <KID=KEY>` — The profile's signer, when the org library does not know the file: kid=<base64 public key>

