CLI reference / release / gate / app / surface

stado release gate app surface

Invocation

stado release gate app surface [OPTIONS]

Purpose

Print `{"surface": [...]}` of an application tree, read from the sources named: Info.plist identity and URL schemes, Package.swift executable products, appended path literals of Swift files

Required inputs and options

Input or optionContract
--root <ROOT>The tree to read: a checkout, or the release build's source directory [default: .]
--info-plist <INFO_PLIST>The bundle's Info.plist: `bundle-id:` and every `url-scheme:`; its CFBundleShortVersionString is the declared version
--package-json <PACKAGE_JSON>A package.json: `package:`, every `export:` key and every `bin:` command; its `version` is the declared version when no Info.plist is named
--export-conditions <EXPORT_CONDITIONS>A condition set the package's consumers resolve `exports` with, as a comma-separated set of condition names (for example `import,node,default`); `exports` keys are tried in their written order and the first one in the set decides, as in Node. Repeat once per environment. Required when the package.json declares `exports`
--products <PRODUCTS>A Package.swift whose executable products are `product:` names
--appended-paths <APPENDED_PATHS>A Swift file whose `.appending(path: "...")` literals are `harness-path:` names; repeatable
--tuist-project <TUIST_PROJECT>A Tuist Project.swift: every shipping target's bundle identifiers, URL schemes, localizations, quick actions, extension points and entitlements; its one `.marketingVersion("...")` is the declared version when no Info.plist is named
--tuist-helper <TUIST_HELPERS>A Swift file declaring `static let <member>: Target = .target(...)` for a `.member` entry of the project's `targets:`; repeatable
--app-store-tags <APP_STORE_TAGS>The app is sold on the App Store, and this workflow writes its `appstore/<version>(<build>)` tags once App Store Connect reports a version for sale: the baseline is the newest such tag, and app check also compares against the version the App Store serves
--command-table <COMMAND_TABLE>A Rust binary's advertised command table, `FILE:TABLE` for `static TABLE: &[...] = &[ ... ];`: every `name: "..."` row is a `command:` name
--cargo-toml <CARGO_TOML>A Cargo.toml whose `[package]` version is the declared version when no Info.plist or Tuist project is named
--js-exportsRead the named exports of every module the package.json's `exports` maps a subpath to as `api:` names
--usage-commands <USAGE_COMMANDS>A JavaScript file whose `USAGE` literal lists the CLI's commands under `commands:`: each is a `cmd:` name
--command-array <COMMAND_ARRAY>A JavaScript file and the array in it that lists the CLI's commands, `FILE:ARRAY`: each `name:` string inside the array is a `cmd:` name. For a CLI whose usage text is built from that array
--mcp-tools <MCP_TOOLS>A JavaScript file whose `TOOLS` array lists an MCP server's tools: each `name:` string is an `mcp:` name
--pyproject <PYPROJECT>A pyproject.toml: every `[project.scripts]` key is a `console-script:` name; its `[project]` version is the declared version when nothing above declares one
--setup-py <SETUP_PY>A setup.py whose literal `version="..."` is the declared version
--python-all <PYTHON_ALL>A Python module whose `__all__` entries are `api:` names; repeatable
--python-argparse <PYTHON_ARGPARSE>A Python module whose argparse subparsers registered with `help=` are `cli:` names; repeatable
--python-registry <PYTHON_REGISTRY>A Python module or directory and the decorator its package registers functions with, `PATH:DECORATOR`: every module-level function carrying `@DECORATOR` is a `<DECORATOR>:<function>` name; repeatable
--python-manifests <PYTHON_MANIFESTS>A directory of Python modules whose constants ending with a --manifest-suffix assign dict or list literals: each string key is `<family>:<key>`, the family being the first directory below it
--manifest-suffix <MANIFEST_SUFFIXES>A constant-name suffix --python-manifests reads; repeatable

Output and state effect

This is an inspection/reporting operation. It emits the result described above and does not change managed state unless an explicit option in this page says otherwise. Pass `--json` when the command exposes that machine-readable option.

Refusals

  • Required when the package.json declares `exports`
  • Before dispatch, Stado refuses a missing required token shown in the invocation, an unknown option, or a value outside a listed value set; argument-usage failures exit with code 2.