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

# aether secret

> Manage project secret files materialized into the workspace

Manage a project's secret files. Unlike [environment variables](/cli/env), which are single key/value pairs, secret files hold full file contents (such as a service-account JSON or a `.env` file). They are encrypted at rest and materialized into the workspace at the given path.

**Aliases:** `secrets`, `secret-file`, `secret-files`

## Usage

```bash theme={null}
aether secret <subcommand> [flags]
```

## Subcommands

| Subcommand          | Description                             |
| ------------------- | --------------------------------------- |
| `list`              | List secret files                       |
| `get <path>`        | Print a secret file's decrypted content |
| `upload <path>`     | Upload or replace a secret file         |
| `delete <path>`     | Delete a secret file                    |
| `bulk-upload <dir>` | Upload every file in a directory        |

## aether secret list

List the secret files for the current project, showing the path and when each was last updated.

```bash theme={null}
aether secret list
```

```
PATH                          UPDATED
.env                          2h ago
config/service-account.json   1d ago
```

## aether secret get

Print the decrypted content of a secret file to stdout.

```bash theme={null}
aether secret get .env
```

## aether secret upload

Upload a secret file at the given workspace path, replacing it if it already exists. Provide the content with `--from <file>`, or pipe it on stdin. If neither is given, the local file at `<path>` is read.

```bash theme={null}
aether secret upload <path> [flags]
```

| Flag     | Description                         |
| -------- | ----------------------------------- |
| `--from` | Local file to read the content from |

```bash theme={null}
aether secret upload .env --from .env
```

```bash theme={null}
# Pipe content from stdin
cat service-account.json | aether secret upload config/service-account.json
```

## aether secret delete

Delete a secret file.

```bash theme={null}
aether secret delete <path> [flags]
```

| Flag      | Description                  |
| --------- | ---------------------------- |
| `--force` | Skip the confirmation prompt |

```bash theme={null}
aether secret delete .env
```

## aether secret bulk-upload

Upload every file in a local directory as secret files. Each file's path is taken relative to the directory. Pass `--prefix` to prepend a path prefix to every uploaded file.

```bash theme={null}
aether secret bulk-upload <dir> [flags]
```

| Flag       | Description                                  |
| ---------- | -------------------------------------------- |
| `--prefix` | Path prefix to prepend to each uploaded file |

```bash theme={null}
aether secret bulk-upload ./secrets --prefix config
```
