id = "bundler"
name = "Bundler"
homepage = "https://bundler.io"
description = "Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed."
icon = "https://bundler.io/images/apple-touch-icon.png"
executables = ["bundle", "bundler"]
[dotfiles]
paths = ["~/.bundle/config"]
exclude = []
secret = []
side_effect = false
[[dotfiles.secret_paths]]
file = "~/.bundle/config"
match = { prefix = ["BUNDLE_GEMS__", "BUNDLE_GITHUB__COM"] }
[[dotfiles.machine_lines]]
file = "~/.bundle/config"
match = { prefix = ["BUNDLE_BUILD__"] }
scope = "platform"
[commands]
format = 1
label = "Bundler"
description = "Install, update and add gems for a Ruby project. Only everyday bundle commands are covered; exec, config, gem and binstubs are left out."
quality = "ai-draft"
base = "fig:bundle"
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/bundle.ts"
license = "MIT"
[[commands.subcommand]]
path = ["install"]
label = "Install gems"
description = "Install the gems in the Gemfile or Gemfile.lock. Path, binstub and trust-policy options are left out."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/bundle.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "deployment"
label = "Deployment mode"
description = "For production and CI use."
type = "boolean"
option = ["--deployment"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "frozen"
label = "Frozen lockfile"
description = "Do not allow the lock file to update."
type = "boolean"
option = ["--frozen"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "local"
label = "Local gems only"
description = "Use only gems already downloaded or cached."
type = "boolean"
option = ["--local"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "jobs"
label = "Parallel jobs"
description = "Maximum number of parallel installs."
type = "integer"
option = ["--jobs"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "retry"
label = "Retries"
description = "Retry failed network requests N times."
type = "integer"
option = ["--retry"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "without"
label = "Skip groups"
description = "Groups to NOT install."
type = "string"
option = ["--without"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "with"
label = "Include groups"
description = "Groups to install."
type = "string"
option = ["--with"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "gemfile"
label = "Gemfile"
description = "The Gemfile to use."
type = "path"
option = ["--gemfile"]
path = { kind = "file", role = "input", must_exist = true }
sources = ["fig"]
[[commands.subcommand.field]]
id = "clean"
label = "Remove unused gems"
description = "Remove unused gems after install."
type = "boolean"
option = ["--clean"]
effect = "delete"
sources = ["fig"]
[[commands.subcommand.field]]
id = "quiet"
label = "Quiet"
description = "Do not print to stdout."
type = "boolean"
option = ["--quiet"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "install"
label = "Install"
fields = ["local", "jobs"]
required = []
[[commands.subcommand.task]]
id = "ci"
label = "CI install"
set = { deployment = [true] }
fields = ["deployment", "frozen", "jobs"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["deployment", "frozen", "local", "jobs"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["without", "with", "gemfile", "clean", "quiet", "retry"]
[[commands.subcommand]]
path = ["update"]
label = "Update gems"
description = "Update gems to newer versions. Leave the gem name empty and tick \"all\" to update everything."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/bundle.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "gem"
label = "Gem"
description = "Gem to update; repeat to update several."
type = "string"
position = 0
multiple = true
sources = ["fig"]
[[commands.subcommand.field]]
id = "all"
label = "Update all gems"
description = "Update all gems specified in the Gemfile."
type = "boolean"
option = ["--all"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "patch"
label = "Patch only"
description = "Prefer updating only to the next patch version."
type = "boolean"
option = ["--patch"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "minor"
label = "Minor only"
description = "Prefer updating only to the next minor version."
type = "boolean"
option = ["--minor"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "major"
label = "Major allowed"
description = "Prefer updating to the next major version (default)."
type = "boolean"
option = ["--major"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "conservative"
label = "Conservative"
description = "Do not allow shared dependencies to be updated."
type = "boolean"
option = ["--conservative"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "local"
label = "Local gems only"
description = "Use only gems already downloaded or cached."
type = "boolean"
option = ["--local"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "group"
label = "Group"
description = "Only update the gems in the specified group."
type = "string"
option = ["--group", "-g"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "jobs"
label = "Parallel jobs"
description = "Number of jobs to run in parallel."
type = "integer"
option = ["-j", "--jobs"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "quiet"
label = "Quiet"
description = "Only output warnings and errors."
type = "boolean"
option = ["--quiet"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "all"
label = "Update everything"
set = { all = [true] }
fields = ["all"]
required = []
[[commands.subcommand.task]]
id = "gem"
label = "Update one gem"
fields = ["gem", "patch", "minor", "conservative"]
required = ["gem"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["gem", "all", "patch", "minor", "major"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["conservative", "local", "group", "jobs", "quiet"]
[[commands.subcommand]]
path = ["add"]
label = "Add a gem"
description = "Add a gem to the Gemfile and run bundle install."
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/bundle.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "gem"
label = "Gem name"
description = "Name of the gem to add."
type = "string"
position = 0
min = 1
sources = ["fig"]
[[commands.subcommand.field]]
id = "version"
label = "Version requirement"
description = "Specify version requirements, e.g. ~> 1.2."
type = "string"
option = ["--version", "-v"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "group"
label = "Group"
description = "Group(s) for the added gem, e.g. development."
type = "string"
option = ["--group", "-g"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "source"
label = "Source"
description = "Gem source."
type = "string"
option = ["--source", "-s"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "skip_install"
label = "Skip install"
description = "Add to the Gemfile without installing."
type = "boolean"
option = ["--skip-install"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "optimistic"
label = "Optimistic version"
description = "Adds optimistic declaration of version."
type = "boolean"
option = ["--optimistic"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "strict"
label = "Strict version"
description = "Adds strict declaration of version."
type = "boolean"
option = ["--strict"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "dev"
label = "Add a development gem"
set = { group = ["development"] }
fields = ["gem", "group", "version"]
required = ["gem"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["gem", "version", "group", "skip_install"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["source", "optimistic", "strict"]