id = "vercel" name = "Vercel CLI" homepage = "https://vercel.com/docs/cli" description = "With the command-line interface (CLI) you can interact with the Vercel platform using a terminal." icon = "SimpleIcons:vercel" # `vc` is the CLI's own short alias, installed by the same package. executables = ["vercel", "vc"] [dotfiles] # https://vercel.com/docs/project-configuration/global-configuration — "The two # global configuration files are: config.json and auth.json. These files are # stored in the com.vercel.cli directory inside XDG_DATA_HOME, which defaults # to: Linux: ~/.local/share/com.vercel.cli, macOS: ~/Library/Application # Support/com.vercel.cli, Windows: %APPDATA%\…\xdg.data\com.vercel.cli". # # @vercel/cli-config dist/paths.js resolves that with # `XDGAppPaths('com.vercel.cli').dataDirs()[0]`, and xdg-portable's # lib/XDG.js gives the three roots literally: [home, '.local', 'share'] on # Linux, [home, 'Library', 'Application Support'] on macOS and # [appData(), 'xdg.data'] on Windows — so the Windows spelling is # %APPDATA%/xdg.data/com.vercel.cli. # # The same file still reads the pre-rename home directory, # `path.join(homedir(), '.now')`, for a user who has not been migrated, so both # names are listed and the consumer keeps whichever exists. (paths.js also # probes the legacy XDG "now" directories; those are one more rename of the # same two files and are left out rather than tripled.) paths = [ "~/.local/share/com.vercel.cli/config.json", "~/Library/Application Support/com.vercel.cli/config.json", "%APPDATA%/xdg.data/com.vercel.cli/config.json", "~/.now/config.json", ] exclude = [] # Same page on auth.json: "This file should not be edited manually. It exists # to contain the authentication information for the Vercel clients. In the case # that you are uploading your global configuration setup to a potentially # insecure destination, we highly recommend ensuring that this file will not be # uploaded, as it allows an attacker to gain access to your provider accounts." # Every spelling of it, or the credential travels from whichever machine the # rule missed. secret = [ "~/.local/share/com.vercel.cli/auth.json", "~/Library/Application Support/com.vercel.cli/auth.json", "%APPDATA%/xdg.data/com.vercel.cli/auth.json", "~/.now/auth.json", ] # Read and rewritten by a short-lived CLI process. side_effect = false # No machine_lines: config.json holds currentTeam ("a team ID … used as the # scope for deployments") and collectMetrics, which are account-wide # preferences, not facts about one machine. [commands] format = 1 label = "Deploy" description = "Deploy a project directory to Vercel. Token and secret values are deliberately not offered." quality = "ai-draft" base = "fig:vercel" 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/vercel.ts" license = "MIT" [[commands.field]] id = "dir" label = "Project directory" type = "path" position = 0 path = { kind = "directory", role = "input" } sources = ["fig"] [[commands.field]] id = "prod" label = "Production" type = "boolean" option = ["--prod"] sources = ["fig"] [[commands.field]] id = "force" label = "Force new deployment" type = "boolean" option = ["-f", "--force"] sources = ["fig"] [[commands.field]] id = "scope" label = "Team scope" type = "string" option = ["-S", "--scope"] sources = ["fig"] [[commands.field]] id = "confirm" label = "Skip questions" type = "boolean" option = ["-c", "--confirm"] sources = ["fig"] [[commands.field]] id = "public" label = "Public" type = "boolean" option = ["-p", "--public"] sources = ["fig"] [[commands.field]] id = "no_clipboard" label = "No clipboard" type = "boolean" option = ["-C", "--no-clipboard"] sources = ["fig"] [[commands.field]] id = "debug" label = "Debug" type = "boolean" option = ["-d", "--debug"] sources = ["fig"] [[commands.field]] id = "regions" label = "Regions" type = "string" option = ["--regions"] sources = ["fig"] [[commands.task]] id = "preview" label = "Preview deploy" fields = ["dir", "scope"] required = [] [[commands.task]] id = "prod" label = "Production deploy" set = { prod = [true] } fields = ["dir", "prod", "scope"] required = [] [[commands.group]] id = "basic" label = "Basic" fields = ["dir", "prod", "force", "scope", "confirm"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["public", "no_clipboard", "debug", "regions"]