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 option | Contract |
|---|---|
--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-exports | Read 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.