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

# Command reference

> Every nebyoulous command with its arguments, flags, and examples.

Run `nebyoulous <command> --help` for the same information in your terminal. Commands in a topic use a colon: `integration-sets:list`, not `integration-sets list`.

| Command | What it does |
| - | - |
| [`devices`](#devices) | List likely camera or removable-media sources mounted on the host. |
| [`integration-sets:assets`](#integration-setsassets) | List the assets uploaded to an owned integration set. |
| [`integration-sets:create`](#integration-setscreate) | Create a new Nebyoulous integration set for the authenticated user. |
| [`integration-sets:delete`](#integration-setsdelete) | Delete an owned integration set (and all of its assets). |
| [`integration-sets:delete-assets`](#integration-setsdelete-assets) | Delete specific uploaded assets in an owned integration set. |
| [`integration-sets:delete-folder`](#integration-setsdelete-folder) | Delete every uploaded asset under a folder path inside an owned integration set. |
| [`integration-sets:list`](#integration-setslist) | List the authenticated user's Nebyoulous integration sets. |
| [`integration-sets:show`](#integration-setsshow) | Show details and asset summary for an owned integration set. |
| [`login`](#login) | Sign in to Nebyoulous and store your session locally. |
| [`logout`](#logout) | Sign out of Nebyoulous and clear the local session. |
| [`mcp:serve`](#mcpserve) | Run Nebyoulous as a Model Context Protocol server over stdio. Exposes the CLI's local tool registry and bridges the authenticated API tools so a single MCP-server config (e.g. in Claude Code) covers both surfaces. |
| [`scan`](#scan) | Inspect a folder and summarise candidate files, including FITS-header peek. |
| [`sync`](#sync) | Upload files from a folder into an integration set (cloud) or mirror them to a local folder, with dedupe and frame-type filtering. |
| [`whoami`](#whoami) | Print the currently signed-in Nebyoulous user. |

## devices

List likely camera or removable-media sources mounted on the host.

```bash theme={null}
nebyoulous devices [flags]
```

| Flag | Notes |
| - | - |
| `--json` | Emit machine-readable JSON instead of a human table. |

```bash theme={null}
nebyoulous devices
nebyoulous devices --json
```

## integration-sets:assets

List the assets uploaded to an owned integration set.

```bash theme={null}
nebyoulous integration-sets:assets <id> [flags]
```

| Argument | Notes |
| - | - |
| `id` | Integration-set UUID. Required. |

| Flag | Notes |
| - | - |
| `--json` | Emit machine-readable JSON instead of a human table. |

```bash theme={null}
nebyoulous integration-sets:assets <id>
nebyoulous integration-sets:assets <id> --json
```

## integration-sets:create

Create a new Nebyoulous integration set for the authenticated user.

```bash theme={null}
nebyoulous integration-sets:create [flags]
```

| Flag | Notes |
| - | - |
| `--title <value>` | Title of the new integration set. Required. |
| `--notes <value>` | Optional free-form notes. |
| `--json` | Emit machine-readable JSON instead of a human summary. |

```bash theme={null}
nebyoulous integration-sets:create --title "Rosette Nebula 2026-04-20"
nebyoulous integration-sets:create --title "M31" --notes "Andromeda — three nights" --json
```

## integration-sets:delete

Delete an owned integration set (and all of its assets).

```bash theme={null}
nebyoulous integration-sets:delete <id> [flags]
```

| Argument | Notes |
| - | - |
| `id` | Integration-set UUID. Required. |

| Flag | Notes |
| - | - |
| `--yes` | Skip the typed-confirmation prompt. |
| `--json` | Emit machine-readable JSON. |

```bash theme={null}
nebyoulous integration-sets:delete <id>
nebyoulous integration-sets:delete <id> --yes
```

## integration-sets:delete-assets

Delete specific uploaded assets in an owned integration set.

```bash theme={null}
nebyoulous integration-sets:delete-assets <id> [flags]
```

| Argument | Notes |
| - | - |
| `id` | Integration-set UUID. Required. |

| Flag | Notes |
| - | - |
| `--asset <value>` | Asset UUID to delete. Repeat for each id. Repeatable. |
| `--path <value>` | relativePath inside the set to delete. Repeat for each file. Repeatable. |
| `--yes` | Skip the typed-confirmation prompt. |
| `--json` | Emit machine-readable JSON. |

```bash theme={null}
nebyoulous integration-sets:delete-assets <id> --path "lights-120s/a.fit"
nebyoulous integration-sets:delete-assets <id> --asset <uuid> --path "lights-120s/b.fit" --yes
```

## integration-sets:delete-folder

Delete every uploaded asset under a folder path inside an owned integration set.

```bash theme={null}
nebyoulous integration-sets:delete-folder <id> [flags]
```

| Argument | Notes |
| - | - |
| `id` | Integration-set UUID. Required. |

| Flag | Notes |
| - | - |
| `--path <value>` | Folder path inside the set; assets whose relativePath starts with this prefix are deleted. Required. |
| `--yes` | Skip the typed-confirmation prompt. |
| `--json` | Emit machine-readable JSON. |

```bash theme={null}
nebyoulous integration-sets:delete-folder <id> --path "LIGHT/2026-04-20"
nebyoulous integration-sets:delete-folder <id> --path "DARK" --yes
```

## integration-sets:list

List the authenticated user's Nebyoulous integration sets.

```bash theme={null}
nebyoulous integration-sets:list [flags]
```

| Flag | Notes |
| - | - |
| `--search <value>` | Case-insensitive substring filter on title. |
| `--json` | Emit machine-readable JSON instead of a human table. |

```bash theme={null}
nebyoulous integration-sets:list
nebyoulous integration-sets:list --search rosette
nebyoulous integration-sets:list --json
```

## integration-sets:show

Show details and asset summary for an owned integration set.

```bash theme={null}
nebyoulous integration-sets:show <id> [flags]
```

| Argument | Notes |
| - | - |
| `id` | Integration-set UUID. Required. |

| Flag | Notes |
| - | - |
| `--json` | Emit machine-readable JSON instead of a human summary. |

```bash theme={null}
nebyoulous integration-sets:show <id>
nebyoulous integration-sets:show <id> --json
```

## login

Sign in to Nebyoulous and store your session locally.

```bash theme={null}
nebyoulous login [flags]
```

| Flag | Notes |
| - | - |
| `--client-name <value>` | Display name shown on the browser approval page. |
| `--no-browser` | Print the approval URL instead of opening a browser. |
| `--web-url <value>` | Override the web app URL used for browser approval, e.g. a Vercel preview branch. |

```bash theme={null}
nebyoulous login
```

## logout

Sign out of Nebyoulous and clear the local session.

```bash theme={null}
nebyoulous logout
```

```bash theme={null}
nebyoulous logout
```

## mcp:serve

Run Nebyoulous as a Model Context Protocol server over stdio. Exposes the CLI's local tool registry and bridges the authenticated API tools so a single MCP-server config (e.g. in Claude Code) covers both surfaces.

```bash theme={null}
nebyoulous mcp:serve
```

```bash theme={null}
nebyoulous mcp:serve  # stdio MCP server; bind from your MCP client
```

## scan

Inspect a folder and summarise candidate files, including FITS-header peek.

```bash theme={null}
nebyoulous scan <path> [flags]
```

| Argument | Notes |
| - | - |
| `path` | Path to scan. Required. |

| Flag | Notes |
| - | - |
| `--include <value>` | Comma-separated globs (against filename) to include. |
| `--exclude <value>` | Comma-separated globs (against filename) to exclude. |
| `--depth <value>` | Maximum recursion depth (default: unbounded). |
| `--fits-sample <value>` | Maximum number of FITS files to peek headers from (default: 1000). Default `1000`. |
| `--follow-symlinks` | Follow symbolic links into directories. |
| `--json` | Emit machine-readable JSON instead of a human summary. |

```bash theme={null}
nebyoulous scan /Volumes/NIKON_Z6
nebyoulous scan /path --include "*.fit,*.fits"
nebyoulous scan /path --json
```

## sync

Upload files from a folder into an integration set (cloud) or mirror them to a local folder, with dedupe and frame-type filtering.

```bash theme={null}
nebyoulous sync [flags]
```

| Flag | Notes |
| - | - |
| `--from <value>` | Local source folder to sync from (absolute or cwd-relative). Can't be combined with `--from-cloud`. |
| `--from-cloud <value>` | Cloud integration-set UUID to sync from. Reserved for a future cloud-source pipeline. Can't be combined with `--from`. |
| `--to-cloud <value>` | Cloud integration-set UUID or exact title to sync into. Mutually exclusive with --create and --to-local. Can't be combined with `--create`, `--to-local`. |
| `--to-local <value>` | Local destination folder to mirror into. Runs offline (no auth, no API/MCP). Mutually exclusive with --to-cloud and --create. Can't be combined with `--to-cloud`, `--create`. |
| `--create <value>` | Create a new cloud integration set with this title, then sync into it. Can't be combined with `--to-cloud`, `--to-local`. |
| `--notes <value>` | Optional notes; applied only when creating a new cloud integration set with --create. |
| `--include <value>` | Comma-separated globs (against filename) to include. |
| `--exclude <value>` | Comma-separated globs (against filename) to exclude. |
| `--frame-type <value>` | Restrict to one frame type. FITS files get IMAGETYP-aware filtering. One of `LIGHT`, `DARK`, `BIAS`, `FLAT`. |
| `--include-ambiguous` | When --frame-type is set, include files whose frame type cannot be determined. |
| `--max-size <value>` | Per-file size cap in bytes. Default: 1 GB. Default `1073741824`. |
| `--concurrency <value>` | Concurrent S3 uploads per batch. Default: 4. Default `4`. |
| `--batch-size <value>` | Files per presign-batch request. Server cap is 500. Default `100`. |
| `--dry-run` | Print the plan without uploading. |
| `--json` | Emit machine-readable JSON instead of human output. |
| `--verbose` | Show detailed sync progress for MCP calls and file uploads. Ignored with --json. |

```bash theme={null}
nebyoulous sync --from /Volumes/NIKON_Z6 --to-cloud <id-or-title> --include "*.fit,*.fits" --dry-run
nebyoulous sync --from $(pwd)/test-fits --create "M42 2026-04-20" --frame-type LIGHT
nebyoulous sync --from /Volumes/NIKON_Z6 --to-local /Users/me/raw/M31-2026-05-24 --include "*.fit,*.fits"
```

## whoami

Print the currently signed-in Nebyoulous user.

```bash theme={null}
nebyoulous whoami
```

```bash theme={null}
nebyoulous whoami
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.