id = "spring"
name = "Spring"
homepage = "https://github.com/rails/spring"
description = "Spring is a Rails application preloader that speeds up development by keeping your application running in the background."
executables = ["spring"]
[dotfiles]
paths = ["~/.spring.rb"]
exclude = []
secret = []
[commands]
format = 1
label = "Spring Boot CLI"
description = "Generate a new Spring Boot project from start.spring.io. Password encoding and the nested shell are left out."
quality = "ai-draft"
base = "fig:spring"
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/spring.ts"
license = "MIT"
[[commands.subcommand]]
path = ["init"]
label = "Initialize a project"
description = "Download a project from Spring Initializr, optionally extracting it."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/spring.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "location"
label = "Location"
type = "string"
position = 0
description = "Target directory or archive name."
sources = ["fig"]
[[commands.subcommand.field]]
id = "dependencies"
label = "Dependencies"
type = "string"
option = ["--dependencies", "-d"]
description = "Dependency identifiers to include, e.g. web, data-jpa."
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "build"
label = "Build system"
type = "enum"
option = ["--build"]
description = "Build system to use."
choices = [{ value = "maven", label = "maven" }, { value = "gradle", label = "gradle" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "packaging"
label = "Packaging"
type = "enum"
option = ["--packaging", "-p"]
description = "Project packaging."
choices = [{ value = "jar", label = "jar" }, { value = "war", label = "war" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "java_version"
label = "Java version"
type = "string"
option = ["--java-version", "-j"]
description = "Language level."
sources = ["fig"]
[[commands.subcommand.field]]
id = "boot_version"
label = "Boot version"
type = "string"
option = ["--boot-version", "-b"]
description = "Spring Boot version."
sources = ["fig"]
[[commands.subcommand.field]]
id = "group_id"
label = "Group ID"
type = "string"
option = ["--group-id", "-g"]
description = "Project coordinates."
sources = ["fig"]
[[commands.subcommand.field]]
id = "artifact_id"
label = "Artifact ID"
type = "string"
option = ["-a"]
description = "Project coordinates."
sources = ["fig"]
[[commands.subcommand.field]]
id = "name"
label = "Project name"
type = "string"
option = ["--name", "-n"]
description = "Project name."
sources = ["fig"]
[[commands.subcommand.field]]
id = "package_name"
label = "Package name"
type = "string"
option = ["--package-name"]
description = "Package name."
sources = ["fig"]
[[commands.subcommand.field]]
id = "extract"
label = "Extract archive"
type = "boolean"
option = ["--extract", "-x"]
description = "Extract the project archive."
sources = ["fig"]
[[commands.subcommand.field]]
id = "force"
label = "Overwrite existing files"
type = "boolean"
option = ["--force", "-f"]
description = "Force overwrite of existing files."
effect = "overwrite"
sources = ["fig"]
[[commands.subcommand.field]]
id = "list"
label = "List capabilities"
type = "boolean"
option = ["--list"]
description = "List the capabilities of the service."
sources = ["fig"]
[[commands.subcommand.task]]
id = "web"
label = "New web project"
set = { dependencies = ["web"], extract = [true] }
fields = ["location", "dependencies", "build", "java_version", "group_id", "artifact_id", "extract"]
required = []
[[commands.subcommand.task]]
id = "list"
label = "List capabilities"
set = { list = [true] }
fields = ["list"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["location", "dependencies", "build", "java_version", "group_id", "artifact_id", "extract", "list"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["boot_version", "packaging", "name", "package_name", "force"]