id = "tuist"
name = "Tuist"
homepage = "https://tuist.dev"
description = "Tuist is a virtual platform team for Swift app devs who ship."
icon = "https://tuist.dev/apple-touch-icon.png"
executables = ["tuist"]
platforms = ["macos", "linux"]
[dotfiles]
paths = []
exclude = [
"[xdgCache]/tuist/",
"~/.local/state/tuist/",
]
secret = ["[configHome]/tuist/credentials/*.json"]
[commands]
format = 1
label = "Tuist"
description = "Xcode project generator. Forms cover generate, build, test and clean."
quality = "ai-draft"
base = "fig:tuist"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/tuist.ts"
license = "MIT"
[[commands.subcommand]]
path = ["generate"]
label = "Generate workspace"
description = "Generate an Xcode workspace from the manifests."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/tuist.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "sources"
label = "Targets to focus"
description = "Other targets are linked as binaries if possible."
type = "string"
position = 0
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "path"
label = "Project directory"
type = "path"
option = ["--path", "-p"]
path = { kind = "directory", role = "input" }
sources = ["fig"]
[[commands.subcommand.field]]
id = "no_open"
label = "Do not open"
type = "boolean"
option = ["--no-open", "-n"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "xcframeworks"
label = "Use xcframeworks"
type = "boolean"
option = ["--xcframeworks", "-x"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "no_cache"
label = "Ignore cache"
type = "boolean"
option = ["--no-cache"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "profile"
label = "Cache profile"
type = "string"
option = ["--profile", "-P"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "generate"
label = "Generate"
fields = ["sources", "path", "no_open"]
required = []
[[commands.subcommand.task]]
id = "generate-nocache"
label = "Generate without cache"
set = { no_cache = [true] }
fields = ["sources", "no_cache"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["sources", "path", "no_open", "no_cache"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["xcframeworks", "profile"]
[[commands.subcommand]]
path = ["build"]
label = "Build"
description = "Build schemes of the project in the current directory."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/tuist.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "scheme"
label = "Scheme"
type = "string"
position = 0
sources = ["fig"]
[[commands.subcommand.field]]
id = "device"
label = "Device"
type = "string"
option = ["--device"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "os"
label = "OS version"
type = "string"
option = ["--os"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "output"
label = "Build output path"
type = "path"
option = ["--build-output-path"]
path = { kind = "directory", role = "output" }
sources = ["fig"]
[[commands.subcommand.task]]
id = "build"
label = "Build"
fields = ["scheme", "device", "os"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["scheme", "device", "os"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["output"]
[[commands.subcommand]]
path = ["test"]
label = "Test"
description = "Run the tests of a scheme."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/tuist.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "scheme"
label = "Scheme"
type = "string"
position = 0
sources = ["fig"]
[[commands.subcommand.field]]
id = "path"
label = "Project directory"
type = "path"
option = ["--path", "-p"]
path = { kind = "directory", role = "input" }
sources = ["fig"]
[[commands.subcommand.field]]
id = "clean"
label = "Clean first"
type = "boolean"
option = ["--clean", "-c"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "device"
label = "Device"
type = "string"
option = ["--device", "-d"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "os"
label = "OS version"
type = "string"
option = ["--os", "-o"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "skip_ui"
label = "Skip UI tests"
type = "boolean"
option = ["--skip-ui-tests"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "retry"
label = "Retry count"
type = "string"
option = ["--retry-count"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "test"
label = "Test"
fields = ["scheme", "device", "os"]
required = []
[[commands.subcommand.task]]
id = "test-clean"
label = "Clean then test"
set = { clean = [true] }
fields = ["scheme", "clean"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["scheme", "path", "clean", "device", "os"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["skip_ui", "retry"]
[[commands.subcommand]]
path = ["clean"]
label = "Clean"
description = "Delete data generated by Tuist."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/tuist.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "categories"
label = "Categories"
description = "Leave empty to clean everything."
type = "string"
position = 0
multiple = true
suggestions = [{ value = "plugins", label = "plugins" }, { value = "builds", label = "builds" }, { value = "tests", label = "tests" }, { value = "manifests", label = "manifests" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "path"
label = "Project directory"
type = "path"
option = ["--path", "-p"]
path = { kind = "directory", role = "input" }
sources = ["fig"]
[[commands.subcommand.task]]
id = "clean"
label = "Clean"
fields = ["categories", "path"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["categories", "path"]