id = "liftoff"
name = "Liftoff"
homepage = "https://github.com/liftoffcli/liftoff"
description = "Liftoff is a CLI for creating and configuring iOS Xcode projects."
executables = ["liftoff"]
platforms = ["macos"]
[dotfiles]
paths = [
"~/.liftoffrc",
"~/.liftoff/templates/",
]
secret = []
side_effect = false
[commands]
format = 1
label = "Create an Xcode project"
description = "Generate a new iOS Xcode project, or configure the one in the current directory, with the project name, company, author, prefix and identifier given up front. Per-feature on/off switches are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "man"
kind = "manual"
url = "https://github.com/liftoffcli/liftoff/blob/master/man/liftoff.1"
revision = "2014-03-03"
evidence = """
liftoff [--version] [--help] [--dependency-managers NAMES] [--no-open] [--template TEMPLATE_NAME] [--indentation N] [--name PROJECT_NAME] [--company COMPANY_NAME] [--author AUTHOR_NAME] [--prefix PREFIX] [--identifier IDENTIFIER] [--test-target-name TEST_TARGET_NAME] [PATH]
--dependency-managers NAMES specify the dependency managers to use for the project
--no-open Don't open Xcode after project generation
--template TEMPLATE_NAME Use the specified template structure
-t, --indentation N set the indentation width in spaces
-n, --name PROJECT_NAME set the project name
-c, --company COMPANY_NAME set the company name
-a, --author AUTHOR_NAME set the author name.
-p, --prefix PREFIX set the project's prefix
-i, --identifier IDENTIFIER set the company identifier (com.mycompany).
--test-target-name TEST_TARGET_NAME set the name for the test target
If you pass a custom path on the command line, liftoff will use that path as the root folder for the project generation.
"""
[[commands.field]]
id = "path"
label = "Project root folder"
description = "Defaults to a folder named after the project."
type = "path"
position = 0
path = { kind = "directory", role = "output", must_exist = false }
sources = ["man"]
[[commands.field]]
id = "name"
label = "Project name"
type = "string"
option = ["--name", "-n"]
sources = ["man"]
[[commands.field]]
id = "company"
label = "Company name"
type = "string"
option = ["--company", "-c"]
sources = ["man"]
[[commands.field]]
id = "author"
label = "Author name"
type = "string"
option = ["--author", "-a"]
sources = ["man"]
[[commands.field]]
id = "prefix"
label = "Class prefix"
type = "string"
option = ["--prefix", "-p"]
sources = ["man"]
[[commands.field]]
id = "identifier"
label = "Company identifier"
description = "Reverse-DNS style, for example com.mycompany."
type = "string"
option = ["--identifier", "-i"]
sources = ["man"]
[[commands.field]]
id = "indentation"
label = "Indentation width"
type = "integer"
option = ["--indentation", "-t"]
sources = ["man"]
[[commands.field]]
id = "template"
label = "Template"
type = "string"
option = ["--template"]
sources = ["man"]
[[commands.field]]
id = "test_target_name"
label = "Test target name"
type = "string"
option = ["--test-target-name"]
sources = ["man"]
[[commands.field]]
id = "no_open"
label = "Do not open Xcode"
type = "boolean"
option = ["--no-open"]
sources = ["man"]
[[commands.task]]
id = "new_project"
label = "New project"
fields = ["name", "company", "author", "prefix", "identifier", "no_open", "path"]
required = ["name"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["name", "company", "author", "prefix", "identifier", "path"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["indentation", "template", "test_target_name", "no_open"]