{
  "name": "bun",
  "description": "A fast bundler, transpiler, JavaScript Runtime and package manager for web software",
  "subcommands": [
    {
      "name": "c",
      "aliases": [
        "create"
      ],
      "description": "Start a new project from a template",
      "options": [
        {
          "names": [
            "--force"
          ],
          "description": "Overwrite existing files"
        },
        {
          "names": [
            "--no-install"
          ],
          "description": "Don't install node_modules"
        },
        {
          "names": [
            "--no-git"
          ],
          "description": "Don't create a git repository"
        },
        {
          "names": [
            "--verbose"
          ],
          "description": "Too many logs"
        },
        {
          "names": [
            "--no-package-json"
          ],
          "description": "Disable package.json transforms"
        },
        {
          "names": [
            "--open"
          ],
          "description": "On finish, start bun and open in browser"
        }
      ],
      "args": [
        {
          "name": "template",
          "description": "Package from @bun-examples, GitHub repo, or local file",
          "suggestions": [
            "react",
            "next",
            "hono",
            "discord-interactions",
            "blank",
            "bun-bakery",
            "react-native-app",
            "completion-spec",
            "next-app",
            "t3-app",
            "discord-bot",
            "video",
            "remix"
          ]
        },
        {
          "name": "name",
          "template": "folders"
        }
      ]
    },
    {
      "name": "run",
      "description": "Run a package.json script or executable",
      "args": [
        {
          "name": "script"
        }
      ]
    },
    {
      "name": "i",
      "aliases": [
        "install"
      ],
      "description": "Install dependencies for a package.json",
      "options": [
        {
          "names": [
            "-c",
            "--config"
          ],
          "description": "Load config (bunfig.toml)",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "-y",
            "--yarn"
          ],
          "description": "Write a yarn.lock file (yarn v1)"
        },
        {
          "names": [
            "-p",
            "--production"
          ],
          "description": "Don't install devDependencies"
        },
        {
          "names": [
            "--no-save"
          ],
          "description": "Don't save a lockfile"
        },
        {
          "names": [
            "--save"
          ],
          "description": "Save to package.json"
        },
        {
          "names": [
            "--dry-run"
          ],
          "description": "Don't install anything"
        },
        {
          "names": [
            "--frozen-lockfile"
          ],
          "description": "Disallow changes to lockfile"
        },
        {
          "names": [
            "-f",
            "--force"
          ],
          "description": "Always request the latest versions from the registry & reinstall all dependencies"
        },
        {
          "names": [
            "--cache-dir"
          ],
          "description": "Store & load cached data from a specific directory path",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        },
        {
          "names": [
            "--no-cache"
          ],
          "description": "Ignore manifest cache entirely"
        },
        {
          "names": [
            "--silent"
          ],
          "description": "Don't log anything"
        },
        {
          "names": [
            "--verbose"
          ],
          "description": "Excessively verbose logging"
        },
        {
          "names": [
            "-g",
            "--global"
          ],
          "description": "Install globally"
        },
        {
          "names": [
            "--cwd"
          ],
          "description": "Set a specific cwd",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        },
        {
          "names": [
            "--backend"
          ],
          "description": "Platform-specific optimizations for installing dependencies. For macOS, 'clonefile' (default), 'copyfile'",
          "takes_arg": true,
          "arg": {
            "name": "syscall",
            "suggestions": [
              "clonefile",
              "copyfile"
            ]
          }
        },
        {
          "names": [
            "--link-native-bins"
          ],
          "description": "Link 'bin' from a matching platform-specific 'optionalDependencies' instead. Default: esbuild, turbo",
          "takes_arg": true,
          "arg": {
            "name": "str",
            "is_variadic": true
          }
        },
        {
          "names": [
            "--help"
          ],
          "description": "Print the help menu"
        },
        {
          "names": [
            "--no-progress"
          ],
          "description": "Disable the progress bar"
        },
        {
          "names": [
            "--no-summary"
          ],
          "description": "Don't print a summary"
        },
        {
          "names": [
            "--no-verify"
          ],
          "description": "Skip verifying integrity of newly downloaded packages"
        },
        {
          "names": [
            "--ignore-scripts"
          ],
          "description": "Skip lifecycle scripts in the project's package.json (dependency scripts are never run)"
        },
        {
          "names": [
            "-d",
            "--dev",
            "-D",
            "--development"
          ],
          "description": "Install as devDependency"
        },
        {
          "names": [
            "--exact"
          ],
          "description": "Install exact version"
        },
        {
          "names": [
            "--optional"
          ],
          "description": "Install as optionalDependency"
        }
      ]
    },
    {
      "name": "a",
      "aliases": [
        "add"
      ],
      "description": "Add a dependency to package.json",
      "options": [
        {
          "names": [
            "-c",
            "--config"
          ],
          "description": "Load config (bunfig.toml)",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "-y",
            "--yarn"
          ],
          "description": "Write a yarn.lock file (yarn v1)"
        },
        {
          "names": [
            "-p",
            "--production"
          ],
          "description": "Don't install devDependencies"
        },
        {
          "names": [
            "--no-save"
          ],
          "description": "Don't save a lockfile"
        },
        {
          "names": [
            "--save"
          ],
          "description": "Save to package.json"
        },
        {
          "names": [
            "--dry-run"
          ],
          "description": "Don't install anything"
        },
        {
          "names": [
            "--frozen-lockfile"
          ],
          "description": "Disallow changes to lockfile"
        },
        {
          "names": [
            "-f",
            "--force"
          ],
          "description": "Always request the latest versions from the registry & reinstall all dependencies"
        },
        {
          "names": [
            "--cache-dir"
          ],
          "description": "Store & load cached data from a specific directory path",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        },
        {
          "names": [
            "--no-cache"
          ],
          "description": "Ignore manifest cache entirely"
        },
        {
          "names": [
            "--silent"
          ],
          "description": "Don't log anything"
        },
        {
          "names": [
            "--verbose"
          ],
          "description": "Excessively verbose logging"
        },
        {
          "names": [
            "-g",
            "--global"
          ],
          "description": "Install globally"
        },
        {
          "names": [
            "--cwd"
          ],
          "description": "Set a specific cwd",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        },
        {
          "names": [
            "--backend"
          ],
          "description": "Platform-specific optimizations for installing dependencies. For macOS, 'clonefile' (default), 'copyfile'",
          "takes_arg": true,
          "arg": {
            "name": "syscall",
            "suggestions": [
              "clonefile",
              "copyfile"
            ]
          }
        },
        {
          "names": [
            "--link-native-bins"
          ],
          "description": "Link 'bin' from a matching platform-specific 'optionalDependencies' instead. Default: esbuild, turbo",
          "takes_arg": true,
          "arg": {
            "name": "str",
            "is_variadic": true
          }
        },
        {
          "names": [
            "--help"
          ],
          "description": "Print the help menu"
        },
        {
          "names": [
            "--no-progress"
          ],
          "description": "Disable the progress bar"
        },
        {
          "names": [
            "--no-summary"
          ],
          "description": "Don't print a summary"
        },
        {
          "names": [
            "--no-verify"
          ],
          "description": "Skip verifying integrity of newly downloaded packages"
        },
        {
          "names": [
            "--ignore-scripts"
          ],
          "description": "Skip lifecycle scripts in the project's package.json (dependency scripts are never run)"
        },
        {
          "names": [
            "-d",
            "--dev",
            "-D",
            "--development"
          ],
          "description": "Install as devDependency"
        },
        {
          "names": [
            "--exact"
          ],
          "description": "Install exact version"
        },
        {
          "names": [
            "--optional"
          ],
          "description": "Install as optionalDependency"
        }
      ],
      "args": [
        {
          "name": "package",
          "is_variadic": true
        }
      ]
    },
    {
      "name": "rm",
      "aliases": [
        "remove"
      ],
      "description": "Remove a dependency from package.json",
      "options": [
        {
          "names": [
            "-c",
            "--config"
          ],
          "description": "Load config (bunfig.toml)",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "-y",
            "--yarn"
          ],
          "description": "Write a yarn.lock file (yarn v1)"
        },
        {
          "names": [
            "-p",
            "--production"
          ],
          "description": "Don't install devDependencies"
        },
        {
          "names": [
            "--no-save"
          ],
          "description": "Don't save a lockfile"
        },
        {
          "names": [
            "--save"
          ],
          "description": "Save to package.json"
        },
        {
          "names": [
            "--dry-run"
          ],
          "description": "Don't install anything"
        },
        {
          "names": [
            "--frozen-lockfile"
          ],
          "description": "Disallow changes to lockfile"
        },
        {
          "names": [
            "-f",
            "--force"
          ],
          "description": "Always request the latest versions from the registry & reinstall all dependencies"
        },
        {
          "names": [
            "--cache-dir"
          ],
          "description": "Store & load cached data from a specific directory path",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        },
        {
          "names": [
            "--no-cache"
          ],
          "description": "Ignore manifest cache entirely"
        },
        {
          "names": [
            "--silent"
          ],
          "description": "Don't log anything"
        },
        {
          "names": [
            "--verbose"
          ],
          "description": "Excessively verbose logging"
        },
        {
          "names": [
            "-g",
            "--global"
          ],
          "description": "Install globally"
        },
        {
          "names": [
            "--cwd"
          ],
          "description": "Set a specific cwd",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        },
        {
          "names": [
            "--backend"
          ],
          "description": "Platform-specific optimizations for installing dependencies. For macOS, 'clonefile' (default), 'copyfile'",
          "takes_arg": true,
          "arg": {
            "name": "syscall",
            "suggestions": [
              "clonefile",
              "copyfile"
            ]
          }
        },
        {
          "names": [
            "--link-native-bins"
          ],
          "description": "Link 'bin' from a matching platform-specific 'optionalDependencies' instead. Default: esbuild, turbo",
          "takes_arg": true,
          "arg": {
            "name": "str",
            "is_variadic": true
          }
        },
        {
          "names": [
            "--help"
          ],
          "description": "Print the help menu"
        },
        {
          "names": [
            "--no-progress"
          ],
          "description": "Disable the progress bar"
        },
        {
          "names": [
            "--no-summary"
          ],
          "description": "Don't print a summary"
        },
        {
          "names": [
            "--no-verify"
          ],
          "description": "Skip verifying integrity of newly downloaded packages"
        },
        {
          "names": [
            "--ignore-scripts"
          ],
          "description": "Skip lifecycle scripts in the project's package.json (dependency scripts are never run)"
        },
        {
          "names": [
            "-d",
            "--dev",
            "-D",
            "--development"
          ],
          "description": "Install as devDependency"
        },
        {
          "names": [
            "--exact"
          ],
          "description": "Install exact version"
        },
        {
          "names": [
            "--optional"
          ],
          "description": "Install as optionalDependency"
        }
      ],
      "args": [
        {
          "name": "package",
          "is_variadic": true
        }
      ]
    },
    {
      "name": "build",
      "aliases": [
        "bun"
      ],
      "description": "Bundle files using Bun's native bundler",
      "options": [
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display this help and exit"
        },
        {
          "names": [
            "-b",
            "--bun"
          ],
          "description": "Force a script or package to use Bun's runtime instead of Node.js (via symlinking node)"
        },
        {
          "names": [
            "--cwd"
          ],
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "Absolute path to resolve files & entry points from. This just changes the process' cwd"
          }
        },
        {
          "names": [
            "-c",
            "--config"
          ],
          "description": "Load config (bunfig.toml)",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "Config file to load Bun from (e.g. -c bunfig.toml)",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--extension-order"
          ],
          "takes_arg": true,
          "arg": {
            "name": "order",
            "description": "Defaults to: .tsx,.ts,.jsx,.js,.json",
            "is_variadic": true
          }
        },
        {
          "names": [
            "--jsx-factory"
          ],
          "description": "Changes the function called when compiling JSX elements using the classic JSX runtime",
          "takes_arg": true,
          "arg": {
            "name": "name",
            "suggestions": [
              "React.createElement",
              "h",
              "preact.h"
            ]
          }
        },
        {
          "names": [
            "--jsx-fragment"
          ],
          "description": "Changes the function called when compiling JSX fragments",
          "takes_arg": true,
          "arg": {
            "name": "string"
          }
        },
        {
          "names": [
            "--jsx-import-source"
          ],
          "description": "Declares the module specifier to be used for importing the jsx and jsxs factory functions. Default: \"react\"",
          "takes_arg": true,
          "arg": {
            "name": "module",
            "suggestions": [
              "react"
            ]
          }
        },
        {
          "names": [
            "--jsx-runtime"
          ],
          "description": "\"automatic\" (default) or \"classic\"",
          "takes_arg": true,
          "arg": {
            "name": "name",
            "suggestions": [
              "automatic",
              "classic"
            ]
          }
        },
        {
          "names": [
            "-r",
            "--preload"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Import a module before other modules are loaded",
            "is_variadic": true
          }
        },
        {
          "names": [
            "--main-fields"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Main fields to lookup in package.json. Defaults to --target dependent",
            "is_variadic": true
          }
        },
        {
          "names": [
            "--no-summary"
          ],
          "description": "Don't print a summary (when generating .bun)"
        },
        {
          "names": [
            "-v",
            "--version"
          ],
          "description": "Print version and exit"
        },
        {
          "names": [
            "--revision"
          ],
          "description": "Print version with revision and exit"
        },
        {
          "names": [
            "--tsconfig-override"
          ],
          "takes_arg": true,
          "arg": {
            "name": "overrides",
            "description": "Load tsconfig from path instead of cwd/tsconfig.json"
          }
        },
        {
          "names": [
            "-d",
            "--define"
          ],
          "takes_arg": true,
          "arg": {
            "name": "k=v",
            "description": "Substitute key=value while parsing, e.g. --define process.env.NODE_ENV=development",
            "is_variadic": true
          }
        },
        {
          "names": [
            "-e",
            "--external"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Exclude module from transpilation (can use * wildcards). ex: -e react",
            "is_variadic": true
          }
        },
        {
          "names": [
            "-l",
            "--loader"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Parse files with .ext:loader, e.g. --loader .js:jsx. Valid loaders: js, jsx, ts, tsx, json, toml, text, file, wasm, napi",
            "is_variadic": true
          }
        },
        {
          "names": [
            "-u",
            "--origin"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Rewrite import URLs to start with --origin. Default: \"\""
          }
        },
        {
          "names": [
            "-p",
            "--port"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Port to serve Bun's dev server on. Default: \"3000\""
          }
        },
        {
          "names": [
            "--smol"
          ],
          "description": "Use less memory, but run garbage collection more often"
        },
        {
          "names": [
            "--minify"
          ],
          "description": "Minify (experimental)"
        },
        {
          "names": [
            "--minify-syntax"
          ],
          "description": "Minify syntax and inline data (experimental)"
        },
        {
          "names": [
            "--minify-whitespace"
          ],
          "description": "Minify whitespace (experimental)"
        },
        {
          "names": [
            "--minify-identifiers"
          ],
          "description": "Minify identifiers"
        },
        {
          "names": [
            "--no-macros"
          ],
          "description": "Disable macros from being executed in the bundler, transpiler and runtime"
        },
        {
          "names": [
            "--target"
          ],
          "description": "Target environment",
          "takes_arg": true
        },
        {
          "names": [
            "--inspect"
          ],
          "description": "Activate Bun's debugger for a file",
          "takes_arg": true,
          "arg": {
            "name": "[host:]port",
            "description": "Activate inspector on particular port and/or hostname",
            "suggestions": [
              "3000",
              "8080"
            ]
          }
        },
        {
          "names": [
            "--inspect-wait"
          ],
          "description": "Activate Bun's Debugger, wait for a connection before executing",
          "takes_arg": true,
          "arg": {
            "name": "[host:]port",
            "description": "Activate inspector on particular port and/or hostname",
            "suggestions": [
              "3000",
              "8080"
            ]
          }
        },
        {
          "names": [
            "--inspect-brk"
          ],
          "description": "Activate Bun's Debugger, set breakpoint on first line of code and wait",
          "takes_arg": true,
          "arg": {
            "name": "[host:]port",
            "description": "Activate inspector on particular port and/or hostname",
            "suggestions": [
              "3000",
              "8080"
            ]
          }
        },
        {
          "names": [
            "--if-present"
          ],
          "description": "Exit if the entrypoint does not exist"
        },
        {
          "names": [
            "--hot"
          ],
          "description": "Enable auto reload in the Bun runtime, test runner, or bundler"
        },
        {
          "names": [
            "--watch"
          ],
          "description": "Automatically restart the process on file change"
        },
        {
          "names": [
            "--no-install"
          ],
          "description": "Disable auto install in the Bun runtime"
        },
        {
          "names": [
            "-i"
          ],
          "description": "Automatically install dependencies and use global cache in Bun's runtime, equivalent to --install=fallback"
        },
        {
          "names": [
            "--install"
          ],
          "takes_arg": true,
          "arg": {
            "name": "arg",
            "description": "Install dependencies automatically when no node_modules are present, default: \"auto\". \"force\" to ignore node_modules, fallback to install any missing",
            "suggestions": [
              "auto",
              "force",
              "fallback",
              "disable"
            ]
          }
        },
        {
          "names": [
            "--prefer-offline"
          ],
          "description": "Skip staleness checks for packages in the Bun runtime and resolve from disk"
        },
        {
          "names": [
            "--prefer-latest"
          ],
          "description": "Use the latest matching versions of packages in the Bun runtime, always checking npm"
        },
        {
          "names": [
            "--silent"
          ],
          "description": "Don't repeat the command for bun run"
        },
        {
          "names": [
            "compile"
          ],
          "description": "Generate a standalone Bun executable containing your bundled code"
        },
        {
          "names": [
            "--format"
          ],
          "description": "Specifies the module format to build to. Only esm is supported currently",
          "takes_arg": true,
          "arg": {
            "name": "args",
            "suggestions": [
              "esm"
            ]
          }
        },
        {
          "names": [
            "--outdir"
          ],
          "description": "Default to \"dist\" if multiple files",
          "takes_arg": true,
          "arg": {
            "name": "path"
          }
        },
        {
          "names": [
            "--outfile"
          ],
          "description": "Write to a file",
          "takes_arg": true,
          "arg": {
            "name": "path"
          }
        },
        {
          "names": [
            "--root"
          ],
          "description": "Root directory used for multiple entry points",
          "takes_arg": true,
          "arg": {
            "name": "path"
          }
        },
        {
          "names": [
            "--splitting"
          ],
          "description": "Enable code splitting"
        },
        {
          "names": [
            "--public-path"
          ],
          "description": "A prefix to be appended to any import paths in bundled code",
          "takes_arg": true,
          "arg": {
            "name": "args"
          }
        },
        {
          "names": [
            "--sourcemap"
          ],
          "description": "Build with sourcemaps - 'inline', 'external', or 'none'",
          "takes_arg": true,
          "arg": {
            "name": "args",
            "suggestions": [
              "inline",
              "external",
              "none"
            ]
          }
        },
        {
          "names": [
            "--entry-naming"
          ],
          "description": "Customize entry point filenames. Defaults to \"[dir]/[name].[ext]\"",
          "takes_arg": true,
          "arg": {
            "name": "args"
          }
        },
        {
          "names": [
            "--chunk-naming"
          ],
          "description": "Customize chunk filenames. Defaults to \"[name]-[hash].[ext]\"",
          "takes_arg": true,
          "arg": {
            "name": "args"
          }
        },
        {
          "names": [
            "--asset-naming"
          ],
          "description": "Customize asset filenames. Defaults to \"[name]-[hash].[ext]\"",
          "takes_arg": true,
          "arg": {
            "name": "args"
          }
        },
        {
          "names": [
            "--server-components"
          ],
          "description": "Enable React Server Components (experimental)"
        },
        {
          "names": [
            "--no-bundle"
          ],
          "description": "Transpile file only, do not bundle"
        },
        {
          "names": [
            "--dump-environment-variables"
          ],
          "description": "Dump environment variables from .env and process as JSON and quit. Useful for debugging"
        },
        {
          "names": [
            "--dump-limits"
          ],
          "description": "Dump system limits. Useful for debugging"
        }
      ],
      "args": [
        {
          "name": "entrypoints",
          "description": "Entrypoint to bundle. If multiple entrypoints provided, must specify --outdir",
          "is_variadic": true
        }
      ]
    },
    {
      "name": "update",
      "description": "Update outdated dependencies",
      "options": [
        {
          "names": [
            "-c",
            "--config"
          ],
          "description": "Load config (bunfig.toml)",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "-y",
            "--yarn"
          ],
          "description": "Write a yarn.lock file (yarn v1)"
        },
        {
          "names": [
            "-p",
            "--production"
          ],
          "description": "Don't install devDependencies"
        },
        {
          "names": [
            "--no-save"
          ],
          "description": "Don't save a lockfile"
        },
        {
          "names": [
            "--save"
          ],
          "description": "Save to package.json"
        },
        {
          "names": [
            "--dry-run"
          ],
          "description": "Don't install anything"
        },
        {
          "names": [
            "--frozen-lockfile"
          ],
          "description": "Disallow changes to lockfile"
        },
        {
          "names": [
            "-f",
            "--force"
          ],
          "description": "Always request the latest versions from the registry & reinstall all dependencies"
        },
        {
          "names": [
            "--cache-dir"
          ],
          "description": "Store & load cached data from a specific directory path",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        },
        {
          "names": [
            "--no-cache"
          ],
          "description": "Ignore manifest cache entirely"
        },
        {
          "names": [
            "--silent"
          ],
          "description": "Don't log anything"
        },
        {
          "names": [
            "--verbose"
          ],
          "description": "Excessively verbose logging"
        },
        {
          "names": [
            "-g",
            "--global"
          ],
          "description": "Install globally"
        },
        {
          "names": [
            "--cwd"
          ],
          "description": "Set a specific cwd",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "template": "folders"
          }
        },
        {
          "names": [
            "--backend"
          ],
          "description": "Platform-specific optimizations for installing dependencies. For macOS, 'clonefile' (default), 'copyfile'",
          "takes_arg": true,
          "arg": {
            "name": "syscall",
            "suggestions": [
              "clonefile",
              "copyfile"
            ]
          }
        },
        {
          "names": [
            "--link-native-bins"
          ],
          "description": "Link 'bin' from a matching platform-specific 'optionalDependencies' instead. Default: esbuild, turbo",
          "takes_arg": true,
          "arg": {
            "name": "str",
            "is_variadic": true
          }
        },
        {
          "names": [
            "--help"
          ],
          "description": "Print the help menu"
        },
        {
          "names": [
            "--no-progress"
          ],
          "description": "Disable the progress bar"
        },
        {
          "names": [
            "--no-summary"
          ],
          "description": "Don't print a summary"
        },
        {
          "names": [
            "--no-verify"
          ],
          "description": "Skip verifying integrity of newly downloaded packages"
        },
        {
          "names": [
            "--ignore-scripts"
          ],
          "description": "Skip lifecycle scripts in the project's package.json (dependency scripts are never run)"
        },
        {
          "names": [
            "-d",
            "--dev",
            "-D",
            "--development"
          ],
          "description": "Install as devDependency"
        },
        {
          "names": [
            "--exact"
          ],
          "description": "Install exact version"
        },
        {
          "names": [
            "--optional"
          ],
          "description": "Install as optionalDependency"
        }
      ],
      "args": [
        {
          "name": "package",
          "is_variadic": true
        }
      ]
    },
    {
      "name": "link",
      "description": "Run without an argument to register this package to the global package registry. Uses the name field from package.json",
      "options": [
        {
          "names": [
            "--save"
          ],
          "description": "Save to package.json"
        }
      ],
      "args": [
        {
          "name": "package",
          "description": "Install a package from the global package registry"
        }
      ]
    },
    {
      "name": "unlink",
      "description": "Unlink this package from the global package registry"
    },
    {
      "name": "upgrade",
      "description": "Get the latest version of bun",
      "options": [
        {
          "names": [
            "--canary"
          ],
          "description": "Install the latest canary release"
        }
      ]
    },
    {
      "name": "test",
      "description": "Run unit tests with Bun",
      "options": [
        {
          "names": [
            "-h",
            "--help"
          ],
          "description": "Display this help and exit"
        },
        {
          "names": [
            "-b",
            "--bun"
          ],
          "description": "Force a script or package to use Bun's runtime instead of Node.js (via symlinking node)"
        },
        {
          "names": [
            "--cwd"
          ],
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "Absolute path to resolve files & entry points from. This just changes the process' cwd"
          }
        },
        {
          "names": [
            "-c",
            "--config"
          ],
          "description": "Load config (bunfig.toml)",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "Config file to load Bun from (e.g. -c bunfig.toml)",
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--extension-order"
          ],
          "takes_arg": true,
          "arg": {
            "name": "order",
            "description": "Defaults to: .tsx,.ts,.jsx,.js,.json",
            "is_variadic": true
          }
        },
        {
          "names": [
            "--jsx-factory"
          ],
          "description": "Changes the function called when compiling JSX elements using the classic JSX runtime",
          "takes_arg": true,
          "arg": {
            "name": "name",
            "suggestions": [
              "React.createElement",
              "h",
              "preact.h"
            ]
          }
        },
        {
          "names": [
            "--jsx-fragment"
          ],
          "description": "Changes the function called when compiling JSX fragments",
          "takes_arg": true,
          "arg": {
            "name": "string"
          }
        },
        {
          "names": [
            "--jsx-import-source"
          ],
          "description": "Declares the module specifier to be used for importing the jsx and jsxs factory functions. Default: \"react\"",
          "takes_arg": true,
          "arg": {
            "name": "module",
            "suggestions": [
              "react"
            ]
          }
        },
        {
          "names": [
            "--jsx-runtime"
          ],
          "description": "\"automatic\" (default) or \"classic\"",
          "takes_arg": true,
          "arg": {
            "name": "name",
            "suggestions": [
              "automatic",
              "classic"
            ]
          }
        },
        {
          "names": [
            "-r",
            "--preload"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Import a module before other modules are loaded",
            "is_variadic": true
          }
        },
        {
          "names": [
            "--main-fields"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Main fields to lookup in package.json. Defaults to --target dependent",
            "is_variadic": true
          }
        },
        {
          "names": [
            "--no-summary"
          ],
          "description": "Don't print a summary (when generating .bun)"
        },
        {
          "names": [
            "-v",
            "--version"
          ],
          "description": "Print version and exit"
        },
        {
          "names": [
            "--revision"
          ],
          "description": "Print version with revision and exit"
        },
        {
          "names": [
            "--tsconfig-override"
          ],
          "takes_arg": true,
          "arg": {
            "name": "overrides",
            "description": "Load tsconfig from path instead of cwd/tsconfig.json"
          }
        },
        {
          "names": [
            "-d",
            "--define"
          ],
          "takes_arg": true,
          "arg": {
            "name": "k=v",
            "description": "Substitute key=value while parsing, e.g. --define process.env.NODE_ENV=development",
            "is_variadic": true
          }
        },
        {
          "names": [
            "-e",
            "--external"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Exclude module from transpilation (can use * wildcards). ex: -e react",
            "is_variadic": true
          }
        },
        {
          "names": [
            "-l",
            "--loader"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Parse files with .ext:loader, e.g. --loader .js:jsx. Valid loaders: js, jsx, ts, tsx, json, toml, text, file, wasm, napi",
            "is_variadic": true
          }
        },
        {
          "names": [
            "-u",
            "--origin"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Rewrite import URLs to start with --origin. Default: \"\""
          }
        },
        {
          "names": [
            "-p",
            "--port"
          ],
          "takes_arg": true,
          "arg": {
            "name": "args",
            "description": "Port to serve Bun's dev server on. Default: \"3000\""
          }
        },
        {
          "names": [
            "--smol"
          ],
          "description": "Use less memory, but run garbage collection more often"
        },
        {
          "names": [
            "--minify"
          ],
          "description": "Minify (experimental)"
        },
        {
          "names": [
            "--minify-syntax"
          ],
          "description": "Minify syntax and inline data (experimental)"
        },
        {
          "names": [
            "--minify-whitespace"
          ],
          "description": "Minify whitespace (experimental)"
        },
        {
          "names": [
            "--minify-identifiers"
          ],
          "description": "Minify identifiers"
        },
        {
          "names": [
            "--no-macros"
          ],
          "description": "Disable macros from being executed in the bundler, transpiler and runtime"
        },
        {
          "names": [
            "--target"
          ],
          "description": "Target environment",
          "takes_arg": true
        },
        {
          "names": [
            "--inspect"
          ],
          "description": "Activate Bun's debugger for a file",
          "takes_arg": true,
          "arg": {
            "name": "[host:]port",
            "description": "Activate inspector on particular port and/or hostname",
            "suggestions": [
              "3000",
              "8080"
            ]
          }
        },
        {
          "names": [
            "--inspect-wait"
          ],
          "description": "Activate Bun's Debugger, wait for a connection before executing",
          "takes_arg": true,
          "arg": {
            "name": "[host:]port",
            "description": "Activate inspector on particular port and/or hostname",
            "suggestions": [
              "3000",
              "8080"
            ]
          }
        },
        {
          "names": [
            "--inspect-brk"
          ],
          "description": "Activate Bun's Debugger, set breakpoint on first line of code and wait",
          "takes_arg": true,
          "arg": {
            "name": "[host:]port",
            "description": "Activate inspector on particular port and/or hostname",
            "suggestions": [
              "3000",
              "8080"
            ]
          }
        },
        {
          "names": [
            "--if-present"
          ],
          "description": "Exit if the entrypoint does not exist"
        },
        {
          "names": [
            "--hot"
          ],
          "description": "Enable auto reload in the Bun runtime, test runner, or bundler"
        },
        {
          "names": [
            "--watch"
          ],
          "description": "Automatically restart the process on file change"
        },
        {
          "names": [
            "--no-install"
          ],
          "description": "Disable auto install in the Bun runtime"
        },
        {
          "names": [
            "-i"
          ],
          "description": "Automatically install dependencies and use global cache in Bun's runtime, equivalent to --install=fallback"
        },
        {
          "names": [
            "--install"
          ],
          "takes_arg": true,
          "arg": {
            "name": "arg",
            "description": "Install dependencies automatically when no node_modules are present, default: \"auto\". \"force\" to ignore node_modules, fallback to install any missing",
            "suggestions": [
              "auto",
              "force",
              "fallback",
              "disable"
            ]
          }
        },
        {
          "names": [
            "--prefer-offline"
          ],
          "description": "Skip staleness checks for packages in the Bun runtime and resolve from disk"
        },
        {
          "names": [
            "--prefer-latest"
          ],
          "description": "Use the latest matching versions of packages in the Bun runtime, always checking npm"
        },
        {
          "names": [
            "--silent"
          ],
          "description": "Don't repeat the command for bun run"
        },
        {
          "names": [
            "--timeout"
          ],
          "description": "Set the per-test timeout in milliseconds, default is 5000",
          "takes_arg": true,
          "arg": {
            "name": "number"
          }
        },
        {
          "names": [
            "--update-snapshots"
          ],
          "description": "Update snapshot files"
        },
        {
          "names": [
            "--rerun-each"
          ],
          "description": "Re-run each test file <NUMBER> times, helps catch certain bugs",
          "takes_arg": true,
          "arg": {
            "name": "number"
          }
        },
        {
          "names": [
            "--only"
          ],
          "description": "Only run tests that are marked with \"test.only()\""
        },
        {
          "names": [
            "--todo"
          ],
          "description": "Include tests that are marked with \"test.todo()\""
        },
        {
          "names": [
            "--coverage"
          ],
          "description": "Generate a coverage profile"
        },
        {
          "names": [
            "--bail"
          ],
          "description": "Exit the test suite after <NUMBER> failures. If you do not specify a number, it defaults to 1",
          "takes_arg": true,
          "arg": {
            "name": "number"
          }
        },
        {
          "names": [
            "-t",
            "--test-name-pattern"
          ],
          "description": "Run only tests with a name that matches the given regex",
          "takes_arg": true,
          "arg": {
            "name": "pattern"
          }
        },
        {
          "names": [
            "--dump-environment-variables"
          ],
          "description": "Dump environment variables from .env and process as JSON and quit. Useful for debugging"
        },
        {
          "names": [
            "--dump-limits"
          ],
          "description": "Dump system limits. Useful for debugging"
        }
      ],
      "args": [
        {
          "name": "files",
          "description": "Test files to run",
          "is_variadic": true
        }
      ]
    },
    {
      "name": "pm",
      "description": "Set of utilities for working with Bun's package manager",
      "options": [
        {
          "names": [
            "bin"
          ],
          "description": "Print the path to bin folder"
        },
        {
          "names": [
            "cache"
          ],
          "description": "Print the path to the cache folder"
        },
        {
          "names": [
            "hash"
          ],
          "description": "Generate & print the hash of the current lockfile"
        },
        {
          "names": [
            "hash-print"
          ],
          "description": "Print the hash stored in the current lockfile"
        },
        {
          "names": [
            "hash-string"
          ],
          "description": "Print the string used to hash the lockfile"
        },
        {
          "names": [
            "ls"
          ],
          "description": "List the dependency tree according to the current lockfile"
        }
      ]
    },
    {
      "name": "completions",
      "description": "Install shell completions"
    },
    {
      "name": "discord",
      "description": "Open bun's Discord server"
    },
    {
      "name": "help",
      "description": "Print the help menu"
    },
    {
      "name": "x",
      "description": "Run an npx command"
    },
    {
      "name": "repl",
      "description": "Run a REPL (read eval print loop) with the Bun runtime.(experimental)"
    },
    {
      "name": "init",
      "description": "Initialize a new bun project",
      "options": [
        {
          "names": [
            "-y",
            "--yes"
          ],
          "description": "Answer yes to all prompts"
        }
      ]
    }
  ],
  "options": [
    {
      "names": [
        "--inspect"
      ],
      "description": "Activate Bun's debugger for a file",
      "takes_arg": true,
      "arg": {
        "name": "[host:]port",
        "description": "Activate inspector on particular port and/or hostname",
        "suggestions": [
          "3000",
          "8080"
        ]
      }
    },
    {
      "names": [
        "--inspect-wait"
      ],
      "description": "Activate Bun's Debugger, wait for a connection before executing",
      "takes_arg": true,
      "arg": {
        "name": "[host:]port",
        "description": "Activate inspector on particular port and/or hostname",
        "suggestions": [
          "3000",
          "8080"
        ]
      }
    },
    {
      "names": [
        "--inspect-brk"
      ],
      "description": "Activate Bun's Debugger, set breakpoint on first line of code and wait",
      "takes_arg": true,
      "arg": {
        "name": "[host:]port",
        "description": "Activate inspector on particular port and/or hostname",
        "suggestions": [
          "3000",
          "8080"
        ]
      }
    },
    {
      "names": [
        "--hot"
      ],
      "description": "Enable auto reload in the Bun runtime, test runner, or bundler"
    },
    {
      "names": [
        "--watch"
      ],
      "description": "Automatically restart the process on file change"
    }
  ],
  "args": [
    {
      "name": "file"
    },
    {
      "name": "args"
    }
  ]
}
