# Command reference > Every myna command, subcommand, and flag — generated from @myna-sh/cli 0.17.0. Generated from `@myna-sh/cli` **0.17.0** by walking the real command tree (`buildProgram()`). If a command below is missing from your `myna --help`, your install is older than this page. Check with `myna --version` and upgrade with `npm install -g @myna-sh/cli@0.17.0`. See [Versioning and compatibility](/platform/compatibility). ## Global flags Global flags may appear anywhere in the command line. | Flag | Description | |---|---| | `--json` | emit a single machine-readable JSON value on stdout | | `--project ` | project id or slug | | `--organization ` | organization id or slug | | `--token ` | API token (overrides stored credentials) | | `--api-url ` | API base URL | | `--no-interactive` | disable prompts and browser opening | ## `myna access` Explain what this credential may do in a project, and why a call was denied | Flag | Description | |---|---| | `--capability ` | capability to check, e.g. content:publish | | `--collection ` | collection the denied call touched | ## `myna login` Authenticate via the browser device-authorization flow ### `myna login start` Begin device authorization and print the code without waiting ### `myna login poll ` Check a pending device authorization once, or wait for it | Flag | Description | |---|---| | `--wait` | keep polling until approved, denied, or expired | | `--interval ` | seconds between attempts when waiting Default: `2`. | | `--timeout ` | give up after this long when waiting Default: `300`. | ## `myna logout` Remove the stored credential for the current API URL ## `myna auth` Inspect and verify credentials ### `myna auth verify` Check whether the current credential actually works ## `myna whoami` Show the authenticated identity, validating it against the API ## `myna doctor` Diagnose CLI, API, credential, project, schema, and origin configuration | Flag | Description | |---|---| | `--origin ` | also check whether this browser origin is allowed | | `--schema-dir ` | schema directory | | `--types ` | generated types file to check for freshness | ## `myna update` Update the CLI to the latest published release | Flag | Description | |---|---| | `--check` | report whether an update exists without installing it | ## `myna init` Scaffold a local `myna/` schema directory (and link if a project is set) | Flag | Description | |---|---| | `--schema-dir ` | schema directory Default: `myna`. | ## `myna link [project]` Link the current directory to a project (writes .myna/project.json, no secrets) ## `myna unlink` Remove the project link from the current directory tree ## `myna status` Show the resolved configuration and project link ## `myna open` Open the current project in the dashboard ## `myna schema` Inspect and deploy code-owned schemas ### `myna schema inspect [collection]` Show deployed collections, or one collection's fields ### `myna schema pull` Write deployed schemas to local DSL files | Flag | Description | |---|---| | `--schema-dir ` | target schema directory | | `--open-pr` | commit the drift onto a branch and open a pull request instead of writing in place | | `--branch ` | branch to use with --open-pr (default: derived from the content) | | `--base ` | branch to open the pull request against (default: the current branch) | ### `myna schema diff` Diff local schemas against the deployed schemas | Flag | Description | |---|---| | `--schema-dir ` | schema directory | ### `myna schema drift` Show schema drift between this project and another (e.g. staging) | Flag | Description | |---|---| | `--against ` | project id or slug to compare with | ### `myna schema promote` Promote another project's deployed schemas into this project | Flag | Description | |---|---| | `--from ` | source project id or slug | | `--allow-destructive` | permit destructive schema changes | ### `myna schema push` Apply local schemas, creating immutable versions | Flag | Description | |---|---| | `--schema-dir ` | schema directory | | `--allow-destructive` | permit destructive schema changes | | `--summary ` | change summary | ### `myna schema translations ` Report what is still untranslated in a collection ## `myna types` Generate content types ### `myna types generate` Generate deterministic TypeScript types from schemas | Flag | Description | |---|---| | `--schema-dir ` | schema directory | | `--deployed` | use deployed schemas instead of local files | | `--out ` | write to a file instead of stdout | ## `myna entries` Create, read, update, and manage entries ### `myna entries list ` List entries in a collection | Flag | Description | |---|---| | `--status ` | filter by status | | `--search ` | full-text query across the entry's text | | `--limit ` | page size Default: `25`. | | `--cursor ` | pagination cursor | ### `myna entries get ` Get one entry by / ### `myna entries create ` Create an entry | Flag | Description | |---|---| | `--data ` | entry data as JSON or @file | | `--set ` | set individual fields Default: ``. | | `--slug ` | explicit slug | | `--change-set ` | attach to a change set | | `--summary ` | change summary | ### `myna entries update ` Update an entry | Flag | Description | |---|---| | `--data ` | replacement data as JSON or @file | | `--set ` | set individual fields Default: ``. | | `--slug ` | new slug | | `--expected-revision ` | optimistic concurrency guard | | `--change-set ` | attach to a change set | | `--summary ` | change summary | ### `myna entries delete ` Stage an entry deletion on a change set | Flag | Description | |---|---| | `--confirm-delete` | required consequence flag | | `--change-set ` | attach to a change set | ### `myna entries unpublish ` Stage an entry unpublish on a change set | Flag | Description | |---|---| | `--change-set ` | attach to a change set | ### `myna entries revisions ` List an entry's revisions ### `myna entries duplicate ` Duplicate an entry into a new draft | Flag | Description | |---|---| | `--change-set ` | stage on an explicit change set | ### `myna entries bulk` Stage a delete or unpublish for many entries at once | Flag | Description | |---|---| | `--action ` | delete or unpublish | | `--ids ` | comma-separated entry ids | | `--change-set ` | stage on an explicit change set | ### `myna entries import ` Import entries from JSON or a Markdown directory, with dry-run validation | Flag | Description | |---|---| | `--collection ` | target collection (required unless the JSON file names one) | | `--format ` | json or markdown-frontmatter (detected from the path by default) | | `--body-field ` | field that receives the Markdown body Default: `body`. | | `--change-set ` | stage onto an existing change set instead of a new one | | `--mode ` | upsert (default) updates rows whose slug exists; create rejects them Default: `upsert`. | | `--dry-run` | validate without writing anything | ### `myna entries reorder ` Set a collection's editorial order (applies immediately; not staged) | Flag | Description | |---|---| | `--slugs ` | comma-separated slugs or ids, in the desired order | | `--move ` | reposition a single entry | | `--before ` | with --move: place immediately before this entry | | `--after ` | with --move: place immediately after this entry | ### `myna entries references ` Show which entries reference this one and what it references ### `myna entries restore ` Restore a historical revision into a new draft | Flag | Description | |---|---| | `--revision ` | revision id to restore | ### `myna entries search ` Full-text search entries across a project | Flag | Description | |---|---| | `--collection ` | restrict to one collection | | `--limit ` | page size Default: `25`. | ## `myna sync ` Reconcile a content directory into collections, staged on one change set | Flag | Description | |---|---| | `--collection ` | treat the directory as one collection instead of one per subdirectory | | `--format ` | json or markdown-frontmatter (detected from the files by default) | | `--body-field ` | field that receives the Markdown body Default: `body`. | | `--change-set ` | stage onto an existing change set | | `--dry-run` | report what would change without writing | | `--delete-missing` | also stage deletion of entries with no matching file | | `--confirm-delete` | required consequence flag for --delete-missing | ## `myna changes` Manage change sets: validate, preview, publish ### `myna changes list` List change sets | Flag | Description | |---|---| | `--status ` | filter by status | | `--limit ` | page size Default: `25`. | ### `myna changes create` Create a change set | Flag | Description | |---|---| | `--title ` | change set title | | `--description <text>` | change set description | ### `myna changes inspect <id>` Show a change set and its items ### `myna changes validate <id>` Validate a change set against deployed schemas ### `myna changes preview <id>` Create a preview for a change set ### `myna changes publish <id>` Atomically publish a change set | Flag | Description | |---|---| | `--confirm-publish` | required consequence flag | ### `myna changes close <id>` Close a change set without publishing ### `myna changes schedule <id>` Schedule, reschedule, or cancel a change set's publish | Flag | Description | |---|---| | `--at <datetime>` | ISO 8601 datetime to publish at | | `--cancel` | cancel the scheduled publish | ### `myna changes reviews <id>` List reviews and approvals for a change set ### `myna changes request-review <id>` Assign a reviewer to a change set | Flag | Description | |---|---| | `--reviewer <id>` | reviewer id (user, api key, or agent id) | | `--reviewer-type <type>` | reviewer actor type Default: `user`. | ### `myna changes approve <id>` Approve a change set | Flag | Description | |---|---| | `--comment <text>` | optional review comment | ### `myna changes request-changes <id>` Request changes on a change set | Flag | Description | |---|---| | `--comment <text>` | optional review comment | ### `myna changes comments <id>` List comments on a change set ### `myna changes comment <id> <body>` Comment on a change set (optionally anchored to a field) | Flag | Description | |---|---| | `--entry <id>` | anchor to an entry in the change set | | `--field <path>` | anchor to a field path, e.g. fields.title | ### `myna changes checks <id>` Show the latest check run for a change set | Flag | Description | |---|---| | `--run` | run checks before showing results | ### `myna changes diff <id>` Show what a change set would change, field by field ### `myna changes rebase <id>` Replay a change set's edits on top of what is published now | Flag | Description | |---|---| | `--dry-run` | show what a rebase would do without writing | | `--take-mine` | on conflict, keep this change set's value | | `--take-theirs` | on conflict, accept what was published | ### `myna changes update <id>` Retitle a change set or mark it ready for review | Flag | Description | |---|---| | `--title <title>` | new title | | `--description <text>` | new description | | `--ready` | mark ready for review | ### `myna changes remove-reviewer <id> <reviewer>` Unassign a reviewer from a change set ### `myna changes resolve-comment <id> <comment>` Resolve or reopen a comment on a change set | Flag | Description | |---|---| | `--reopen` | reopen instead of resolving | ### `myna changes report-check <id> <name>` Report the result of an external check on a change set | Flag | Description | |---|---| | `--status <status>` | passed, failed, or skipped | | `--message <text>` | detail shown to the reviewer | ## `myna releases` Inspect what shipped and generate a revert ### `myna releases list` List releases, newest first | Flag | Description | |---|---| | `--limit <n>` | page size Default: `25`. | ### `myna releases inspect <release>` Show one release ### `myna releases diff <release>` Show what a release changed, field by field ### `myna releases revert <release>` Generate a change set restoring the state before a release | Flag | Description | |---|---| | `--title <title>` | title for the generated change set | | `--force` | revert resources a later release already changed | ## `myna feedback` Bug reports, QA findings, and feature requests ## `myna feedback boards` Boards that collect reports ### `myna feedback boards list` List boards ### `myna feedback boards create` Create a board | Flag | Description | |---|---| | `--key <key>` | lowercase key, e.g. qa | | `--name <name>` | display name | | `--type <type>` | bug \| qa \| feedback \| feature_request Default: `bug`. | | `--description <text>` | what this board is for | | `--guidance <text>` | how reports here should be triaged and answered | | `--app-url <url>` | where your product shows these reports; linked from notification emails | | `--require-identity` | refuse submissions that carry no server-signed identity | ### `myna feedback boards update <board>` Change a board's name, app URL, or identity requirement | Flag | Description | |---|---| | `--name <name>` | display name | | `--description <text>` | what this board is for | | `--guidance <text>` | how reports here should be triaged and answered | | `--app-url <url>` | where your product shows these reports; 'none' to clear it | | `--require-identity` | refuse submissions that carry no server-signed identity | | `--no-require-identity` | accept unsigned submissions | ### `myna feedback boards delete <board>` Retire an empty board ## `myna feedback reports` Read and act on reports ### `myna feedback reports list` List reports, most recently active first | Flag | Description | |---|---| | `--board <key>` | only this board | | `--status <list>` | comma-separated statuses | | `--type <type>` | bug \| qa \| feedback \| feature_request | | `--priority <priority>` | low \| normal \| high \| urgent | | `--assignee <userId>` | only reports assigned to this user | | `--labels <list>` | comma-separated labels; matches any | | `-q, --query <text>` | full-text search over title and body | | `--since <iso>` | only reports active at or after this time | | `--reporter <ref>` | a reporter's external id or email address | | `--property <key:value>` | match a reporter property, e.g. plan:enterprise | | `--limit <n>` | page size Default: `25`. | ### `myna feedback reports open <report>` Print everything known about a report ### `myna feedback reports create` File a report | Flag | Description | |---|---| | `--board <key>` | board to file it on | | `--title <title>` | one-line summary | | `--body <text>` | what happened, and how to reproduce it | | `--priority <priority>` | low \| normal \| high \| urgent | | `--labels <list>` | comma-separated labels | | `--context <json>` | environment supplied by the application, as JSON | ### `myna feedback reports triage <report>` Set status, priority, assignee, or labels | Flag | Description | |---|---| | `--status <status>` | triage \| open \| in_progress \| needs_retest \| resolved \| closed \| duplicate \| wont_fix \| spam | | `--priority <priority>` | low \| normal \| high \| urgent | | `--assignee <userId>` | user id, or 'none' to unassign | | `--labels <list>` | comma-separated labels; replaces the set | ### `myna feedback reports reply <report> <message>` Post a reply or an internal note | Flag | Description | |---|---| | `--public` | the reporter sees this; without it the note stays internal | ### `myna feedback reports resolve <report>` Mark a report resolved, optionally linking the fix | Flag | Description | |---|---| | `--reply <text>` | public reply explaining what changed | | `--commit <sha>` | commit that fixed it | | `--pr <url>` | pull request that fixed it | | `--retest` | ask the reporter to confirm instead of closing it | ### `myna feedback reports reopen <report>` Put a resolved report back | Flag | Description | |---|---| | `--reason <text>` | why it is not fixed | ### `myna feedback reports retest <report>` Ask whoever reported it to confirm a fix | Flag | Description | |---|---| | `--note <text>` | what to check | ### `myna feedback reports merge <report>` Mark a report as a duplicate of another | Flag | Description | |---|---| | `--into <report>` | the canonical report | | `--note <text>` | explain the merge on both timelines | ### `myna feedback reports similar <report>` Find reports that might be the same problem ### `myna feedback reports move <report>` Move a report to another board | Flag | Description | |---|---| | `--board <key>` | destination board | ### `myna feedback reports link <report>` Point a report at a commit, pull request, entry, or release | Flag | Description | |---|---| | `--kind <kind>` | commit \| pull_request \| entry \| release \| url | | `--value <value>` | the sha, URL, id, or release number | | `--title <text>` | label for the link | ### `myna feedback digest` What has been reported since a time or a release | Flag | Description | |---|---| | `--since <iso>` | ISO timestamp; defaults to the last 24 hours | | `--release <n>` | since a release shipped | | `--limit <n>` | how many reports to include Default: `25`. | ## `myna feedback keys` Publishable keys that let a website submit reports ### `myna feedback keys list` List ingest keys ### `myna feedback keys create` Create a publishable ingest key | Flag | Description | |---|---| | `--name <name>` | what this key is for | | `--board <key>` | restrict it to one board; omit to accept any board on the project | | `--signed-identity` | also mint a server-side secret for signed identify | ### `myna feedback keys rotate <key>` Mint a new secret, leaving the old one live for 24 hours | Flag | Description | |---|---| | `--identity-secret` | rotate the identity signing secret instead of the key | ### `myna feedback keys revoke <key>` Revoke an ingest key ## `myna feedback people` The reporters who filed the reports ### `myna feedback people list` List reporters, most recent first | Flag | Description | |---|---| | `-q, --query <text>` | match an email, name, or external id | | `--blocked` | only blocked reporters | | `--limit <n>` | page size Default: `25`. | ### `myna feedback people show <reporter>` One reporter and everything they have filed ### `myna feedback people block <reporter>` Stop a reporter filing, reading back, or being notified ### `myna feedback people unblock <reporter>` Let a blocked reporter back in ## `myna feedback attachments` Evidence attached to a report ### `myna feedback attachments get <report> <attachment>` Download one attachment | Flag | Description | |---|---| | `--out <path>` | where to write it; defaults to the original filename | ### `myna feedback attachments add <report> <file>` Attach a file to a report ## `myna analytics` Page views, events, funnels, and what a release changed ### `myna analytics overview` Headline numbers and how they moved against the previous period | Flag | Description | |---|---| | `--period <period>` | window: 24h, 7d, 30d, 12w Default: `7d`. | | `--from <iso>` | window start (exclusive alternative to --period) | | `--to <iso>` | window end | | `--event <name>` | only this event | | `--path <path>` | only this page | | `--referrer <domain>` | only traffic from this referrer host | | `--utm-source <value>` | only this campaign source | | `--utm-medium <value>` | only this campaign medium | | `--utm-campaign <value>` | only this campaign | | `--browser <name>` | only this browser family | | `--os <name>` | only this platform | | `--device <type>` | desktop \| mobile \| tablet | | `--locale <locale>` | only this locale | | `--environment <name>` | only this environment | | `--app-version <version>` | only this build | | `--entry <id>` | only events on this content entry (ent_…) | | `--collection <key>` | only events on this collection | | `--release <number>` | only events on this Myna release | | `--property <key:value>` | only events carrying this custom property | | `--identified` | only people your backend vouched for | | `--anonymous` | only visitors with no signed identity | ### `myna analytics breakdown <dimension>` Group by a dimension, or by a custom property as property:<key> | Flag | Description | |---|---| | `--metric <metric>` | visitors \| sessions \| pageviews \| events Default: `visitors`. | | `--limit <n>` | rows to return Default: `25`. | | `--period <period>` | window: 24h, 7d, 30d, 12w Default: `7d`. | | `--from <iso>` | window start (exclusive alternative to --period) | | `--to <iso>` | window end | | `--event <name>` | only this event | | `--path <path>` | only this page | | `--referrer <domain>` | only traffic from this referrer host | | `--utm-source <value>` | only this campaign source | | `--utm-medium <value>` | only this campaign medium | | `--utm-campaign <value>` | only this campaign | | `--browser <name>` | only this browser family | | `--os <name>` | only this platform | | `--device <type>` | desktop \| mobile \| tablet | | `--locale <locale>` | only this locale | | `--environment <name>` | only this environment | | `--app-version <version>` | only this build | | `--entry <id>` | only events on this content entry (ent_…) | | `--collection <key>` | only events on this collection | | `--release <number>` | only events on this Myna release | | `--property <key:value>` | only events carrying this custom property | | `--identified` | only people your backend vouched for | | `--anonymous` | only visitors with no signed identity | ### `myna analytics events` Every event this project records, and what each one means | Flag | Description | |---|---| | `--period <period>` | window: 24h, 7d, 30d, 12w Default: `7d`. | | `--from <iso>` | window start (exclusive alternative to --period) | | `--to <iso>` | window end | | `--event <name>` | only this event | | `--path <path>` | only this page | | `--referrer <domain>` | only traffic from this referrer host | | `--utm-source <value>` | only this campaign source | | `--utm-medium <value>` | only this campaign medium | | `--utm-campaign <value>` | only this campaign | | `--browser <name>` | only this browser family | | `--os <name>` | only this platform | | `--device <type>` | desktop \| mobile \| tablet | | `--locale <locale>` | only this locale | | `--environment <name>` | only this environment | | `--app-version <version>` | only this build | | `--entry <id>` | only events on this content entry (ent_…) | | `--collection <key>` | only events on this collection | | `--release <number>` | only events on this Myna release | | `--property <key:value>` | only events carrying this custom property | | `--identified` | only people your backend vouched for | | `--anonymous` | only visitors with no signed identity | ### `myna analytics describe <event> [description]` Write down what an event means, so whoever reads it next knows ### `myna analytics funnel <steps...>` Conversion through ordered steps | Flag | Description | |---|---| | `--within <hours>` | how long a visitor has to finish, from their first step Default: `168`. | | `--period <period>` | window: 24h, 7d, 30d, 12w Default: `7d`. | | `--from <iso>` | window start (exclusive alternative to --period) | | `--to <iso>` | window end | | `--event <name>` | only this event | | `--path <path>` | only this page | | `--referrer <domain>` | only traffic from this referrer host | | `--utm-source <value>` | only this campaign source | | `--utm-medium <value>` | only this campaign medium | | `--utm-campaign <value>` | only this campaign | | `--browser <name>` | only this browser family | | `--os <name>` | only this platform | | `--device <type>` | desktop \| mobile \| tablet | | `--locale <locale>` | only this locale | | `--environment <name>` | only this environment | | `--app-version <version>` | only this build | | `--entry <id>` | only events on this content entry (ent_…) | | `--collection <key>` | only events on this collection | | `--release <number>` | only events on this Myna release | | `--property <key:value>` | only events carrying this custom property | | `--identified` | only people your backend vouched for | | `--anonymous` | only visitors with no signed identity | ### `myna analytics friction` Where people stop: exits, bounces, and complaints | Flag | Description | |---|---| | `--period <period>` | window: 24h, 7d, 30d, 12w Default: `7d`. | | `--from <iso>` | window start (exclusive alternative to --period) | | `--to <iso>` | window end | | `--event <name>` | only this event | | `--path <path>` | only this page | | `--referrer <domain>` | only traffic from this referrer host | | `--utm-source <value>` | only this campaign source | | `--utm-medium <value>` | only this campaign medium | | `--utm-campaign <value>` | only this campaign | | `--browser <name>` | only this browser family | | `--os <name>` | only this platform | | `--device <type>` | desktop \| mobile \| tablet | | `--locale <locale>` | only this locale | | `--environment <name>` | only this environment | | `--app-version <version>` | only this build | | `--entry <id>` | only events on this content entry (ent_…) | | `--collection <key>` | only events on this collection | | `--release <number>` | only events on this Myna release | | `--property <key:value>` | only events carrying this custom property | | `--identified` | only people your backend vouched for | | `--anonymous` | only visitors with no signed identity | ### `myna analytics content` Traffic and complaints per content entry | Flag | Description | |---|---| | `--period <period>` | window: 24h, 7d, 30d, 12w Default: `7d`. | | `--from <iso>` | window start (exclusive alternative to --period) | | `--to <iso>` | window end | | `--event <name>` | only this event | | `--path <path>` | only this page | | `--referrer <domain>` | only traffic from this referrer host | | `--utm-source <value>` | only this campaign source | | `--utm-medium <value>` | only this campaign medium | | `--utm-campaign <value>` | only this campaign | | `--browser <name>` | only this browser family | | `--os <name>` | only this platform | | `--device <type>` | desktop \| mobile \| tablet | | `--locale <locale>` | only this locale | | `--environment <name>` | only this environment | | `--app-version <version>` | only this build | | `--entry <id>` | only events on this content entry (ent_…) | | `--collection <key>` | only events on this collection | | `--release <number>` | only events on this Myna release | | `--property <key:value>` | only events carrying this custom property | | `--identified` | only people your backend vouched for | | `--anonymous` | only visitors with no signed identity | ### `myna analytics entry <entry>` One entry: its numbers, every publication, and what each changed | Flag | Description | |---|---| | `--period <period>` | window: 24h, 7d, 30d, 12w Default: `7d`. | | `--from <iso>` | window start (exclusive alternative to --period) | | `--to <iso>` | window end | | `--event <name>` | only this event | | `--path <path>` | only this page | | `--referrer <domain>` | only traffic from this referrer host | | `--utm-source <value>` | only this campaign source | | `--utm-medium <value>` | only this campaign medium | | `--utm-campaign <value>` | only this campaign | | `--browser <name>` | only this browser family | | `--os <name>` | only this platform | | `--device <type>` | desktop \| mobile \| tablet | | `--locale <locale>` | only this locale | | `--environment <name>` | only this environment | | `--app-version <version>` | only this build | | `--entry <id>` | only events on this content entry (ent_…) | | `--collection <key>` | only events on this collection | | `--release <number>` | only events on this Myna release | | `--property <key:value>` | only events carrying this custom property | | `--identified` | only people your backend vouched for | | `--anonymous` | only visitors with no signed identity | ### `myna analytics impact <release>` What measurably happened after a release | Flag | Description | |---|---| | `--window <days>` | days either side of the publication Default: `7`. | ### `myna analytics people` People your backend vouched for. Anonymous visitors are not listed. | Flag | Description | |---|---| | `--search <text>` | match an external id, email, or name | | `--limit <n>` | rows to return | ### `myna analytics person <person>` One person: what they did and what they filed ### `myna analytics session <session>` One visit, event by event ### `myna analytics settings` Retention, path exclusions, and this period's event usage | Flag | Description | |---|---| | `--retention <days>` | keep events this long; 'plan' to follow the plan's ceiling | | `--exclude <path...>` | stop collecting these paths; supports /admin/** globs | | `--no-exclude` | clear every exclusion | ## `myna pull` Pin this repository's content to a release in myna.lock | Flag | Description | |---|---| | `--release <n>` | release number to pin to (default: the newest) | | `--check` | report whether the pin is behind and exit non-zero if it is | | `--open-pr` | commit the bump onto a branch and open a pull request | | `--run <command>` | shell command to run after moving the pin; anything it changes is committed with the lockfile | | `--branch <name>` | branch to use with --open-pr (default: derived from the release) | | `--base <branch>` | branch to open the pull request against (default: the current branch) | ## `myna preview` Create and manage preview links ### `myna preview create <change-set-or-entry>` Create a preview for a change set or entry ### `myna preview open <change-set-or-entry>` Create a preview and open it in the browser ### `myna preview list` List preview tokens for the project ### `myna preview revoke <id>` Revoke a preview token ## `myna assets` Upload and manage assets ### `myna assets upload <path...>` Upload one or more files via the presigned flow | Flag | Description | |---|---| | `--alt <text>` | default alt text applied to each asset | ### `myna assets list` List assets | Flag | Description | |---|---| | `--limit <n>` | page size Default: `25`. | | `--cursor <cursor>` | pagination cursor | ### `myna assets similar <id>` Find images that look like the same picture as this one | Flag | Description | |---|---| | `--max-distance <n>` | how many of the fingerprint's 64 bits may differ Default: `5`. | ### `myna assets inspect <id>` Show an asset and its usage ### `myna assets delete <id>` Soft-delete an asset | Flag | Description | |---|---| | `--confirm-delete` | required consequence flag | ### `myna assets update <id>` Set an asset's alt text, caption, filename, or tags | Flag | Description | |---|---| | `--alt <text>` | default alt text | | `--caption <text>` | caption | | `--filename <name>` | display filename | | `--tag <tag...>` | replace the asset's tags | ### `myna assets replace <id> <file>` Replace an asset's binary, keeping its id and references | Flag | Description | |---|---| | `--confirm-replace` | required consequence flag | ## `myna mcp` Connect coding agents to Myna's MCP server ### `myna mcp install [clients...]` Write Myna's MCP server into the configuration of one or more coding agents | Flag | Description | |---|---| | `--transport <mode>` | stdio (local server, default) or http (hosted server over OAuth) | | `--scope <scope>` | project or user (default: the most specific the client supports) | | `--name <name>` | server name in the client's configuration Default: `myna`. | | `--key <token>` | credential to store for the local server (default: the resolved credential) | | `--no-credential` | do not write ~/.config/myna/mcp.json | | `--dir <dir>` | project root for project-scoped files (default: the linked project or cwd) | | `--print` | show what would be written, and write nothing | | `--force` | replace an existing server entry of the same name | ### `myna mcp list` Show known MCP clients, whether they are installed here, and whether Myna is configured | Flag | Description | |---|---| | `--name <name>` | server name to look for Default: `myna`. | | `--dir <dir>` | project root for project-scoped files (default: the linked project or cwd) | ### `myna mcp uninstall [clients...]` Remove Myna's MCP server entry from one or more coding agents | Flag | Description | |---|---| | `--scope <scope>` | project or user (default: every scope the client supports) | | `--name <name>` | server name in the client's configuration Default: `myna`. | | `--dir <dir>` | project root for project-scoped files (default: the linked project or cwd) | ## `myna skills` Install Myna's agent skills for coding agents ### `myna skills install` Write Myna's agent skills into the skill directories on this machine | Flag | Description | |---|---| | `--scope <scope>` | user (default) or project Default: `user`. | | `--target <dir>` | additional skill directory to write to (repeatable) Default: ``. | | `--dir <dir>` | project root for --scope project (default: the linked project or cwd) | | `--print` | show what would be written, and write nothing | | `--force` | overwrite skill files that have been edited | ### `myna skills list` List the agent skills bundled with this CLI ## `myna api <method-or-path> [path]` Call a management API endpoint directly, using the resolved credential | Flag | Description | |---|---| | `--data <json>` | request body as inline JSON or @file | | `--header <name:value>` | extra request header (repeatable) Default: ``. | | `--idempotency-key <key>` | send Idempotency-Key, which also makes the request eligible for automatic retry | | `--include` | also report the response status and headers on stderr | ## `myna organizations` Manage organizations Alias: `myna orgs` ### `myna organizations list` List organizations you belong to ### `myna organizations create` Create an organization | Flag | Description | |---|---| | `--name <name>` | organization name | | `--slug <slug>` | organization slug | ### `myna organizations use <slug>` Set the default organization ## `myna projects` Manage projects ### `myna projects list` List projects in the organization ### `myna projects create` Create a project | Flag | Description | |---|---| | `--name <name>` | project name | | `--slug <slug>` | project slug | | `--products <products>` | comma-separated products to run: content, feedback, analytics. Defaults to content. | ### `myna projects inspect [project]` Show project details ### `myna projects export [project]` Export the full project (schemas, entries, asset metadata) as JSON ### `myna projects update [project]` Update project settings | Flag | Description | |---|---| | `--name <name>` | project name | | `--public-api <state>` | public API state (on\|off) | | `--default-preview-template <template>` | default preview URL template | | `--clear-default-preview-template` | remove the default preview URL template | | `--origins <urls>` | comma-separated allowed origins | | `--clear-origins` | remove all allowed origins | ## `myna projects origins` Manage allowed browser origins ### `myna projects origins list [project]` List the project's allowed browser origins ### `myna projects origins add <origins...>` Allow one or more browser origins | Flag | Description | |---|---| | `--project <ref>` | project id or slug | ### `myna projects origins remove <origins...>` Stop allowing one or more browser origins | Flag | Description | |---|---| | `--project <ref>` | project id or slug | ### `myna projects archive [project]` Archive a project ## `myna cors` Diagnose browser access to published content ### `myna cors check` Explain whether a browser at an origin can read this project | Flag | Description | |---|---| | `--origin <url>` | the browser origin to test | | `--collection <key>` | also check a specific collection's visibility | | `--project <ref>` | project id or slug | ## `myna keys` Manage API keys ### `myna keys list` List API keys for the project (or organization with --org-scope) | Flag | Description | |---|---| | `--org-scope` | list organization-scoped keys | ### `myna keys create` Create an API key (project-scoped by default) | Flag | Description | |---|---| | `--name <name>` | key name | | `--scopes <scopes>` | comma-separated scopes | | `--label <label>` | agent/integration label | | `--org-scope` | create an organization-scoped key | | `--collections <keys>` | confine the key to these collections (comma-separated) | | `--expires-at <iso>` | expiry (ISO 8601) | ### `myna keys revoke <id>` Revoke an API key | Flag | Description | |---|---| | `--org-scope` | revoke an organization-scoped key | ## `myna members` Manage organization members ### `myna members list` List members and pending invitations ### `myna members invite` Invite a member by email | Flag | Description | |---|---| | `--email <email>` | invitee email | | `--role <role>` | role (admin\|editor\|viewer) | ### `myna members update <user>` Update a member's role | Flag | Description | |---|---| | `--role <role>` | new role | ### `myna members remove <user>` Remove a member ### `myna members revoke-invite <invitation>` Revoke a pending invitation ## `myna views` Manage saved entry-table views ### `myna views list` List saved views ### `myna views create` Create a saved view from a JSON filter object | Flag | Description | |---|---| | `--name <name>` | view name | | `--filters <json>` | filter object, e.g. '{"status":"draft"}' | ### `myna views delete <id>` Delete a saved view ## `myna checks` Declare external publish checks ### `myna checks list` List declared external checks ### `myna checks declare <name>` Declare (or update) an external check | Flag | Description | |---|---| | `--description <text>` | what the check verifies | | `--required` | block publish until it passes | ### `myna checks remove <name>` Remove a declared external check ## `myna webhooks` Manage webhook endpoints ### `myna webhooks list` List webhook endpoints ### `myna webhooks create` Create a webhook endpoint | Flag | Description | |---|---| | `--url <url>` | endpoint URL | | `--events <events>` | comma-separated event types | ### `myna webhooks update <id>` Update a webhook endpoint | Flag | Description | |---|---| | `--url <url>` | new URL | | `--events <events>` | comma-separated event types | | `--enabled <bool>` | enable/disable (true\|false) | ### `myna webhooks delete <id>` Delete a webhook endpoint ### `myna webhooks deliveries <id>` List recent deliveries for a webhook ### `myna webhooks retry <webhook> <delivery>` Retry a webhook delivery ## `myna activity` Show the project activity feed | Flag | Description | |---|---| | `--actor-type <type>` | filter by actor type | | `--action <action>` | filter by action | | `--limit <n>` | page size Default: `25`. | ## `myna billing` Billing status and management ### `myna billing status` Show the organization's plan and usage ### `myna billing upgrade` Start a Pro checkout | Flag | Description | |---|---| | `--interval <interval>` | month\|year Default: `month`. | ### `myna billing portal` Open the billing portal