---
title: Diagnostic CLI
description: Check selected adapter configuration and validate a publish request locally without making network requests or mutating social accounts.
---

The `social-sdk` CLI runs offline. It never authenticates an account, opens a browser, uploads media or publishes content. The package includes the executable after building or installing a packed build.

```sh
social-sdk adapters --json
social-sdk doctor --adapter zernio --json
social-sdk capabilities --adapter youtube --json
social-sdk examples --json
social-sdk validate --adapter mock --file request.json --json
```

`doctor` checks the presence of environment variables for the selected adapter only. It prints their names when missing, never their values. Success means that configuration is present, not that credentials authenticate or that a platform has approved your app.

`capabilities` reads the actual adapter manifest. Permission, account eligibility and live behavior remain separate checks. `examples` returns a complete mock publish request. Save its `data.request` object as `request.json` to validate it.

`validate` accepts a JSON file up to 1 MiB. It runs local preparation and returns issue codes and target indexes without echoing content, URLs or account IDs. Media inputs in the CLI must be HTTPS URLs. Use the TypeScript SDK to validate Blob, stream and existing media-reference inputs. TikTok source-domain approval cannot be inferred from a JSON URL; validate that configuration through your server's adapter.

Every command accepts `--json`. The envelope contains `schemaVersion: 1`, `command`, `ok`, and `data`. Exit code 0 means the diagnostic passed; 1 means a configuration or preparation check failed; 2 means invalid arguments or input. Unknown commands and options fail rather than enabling a network operation.
