{
  "name": "bun",
  "description": "A fast bundler, transpiler, JavaScript Runtime and package manager for web software",
  "options": [
    {
      "names": [
        "--inspect"
      ],
      "description": "Activate Bun's debugger for a file",
      "separator": "=",
      "args": [
        {
          "name": "[host:]port",
          "description": "Activate inspector on particular port and/or hostname",
          "isOptional": true,
          "suggestions": [
            "3000",
            "8080"
          ]
        }
      ]
    },
    {
      "names": [
        "--inspect-wait"
      ],
      "description": "Activate Bun's Debugger, wait for a connection before executing",
      "separator": "=",
      "args": [
        {
          "name": "[host:]port",
          "description": "Activate inspector on particular port and/or hostname",
          "isOptional": true,
          "suggestions": [
            "3000",
            "8080"
          ]
        }
      ]
    },
    {
      "names": [
        "--inspect-brk"
      ],
      "description": "Activate Bun's Debugger, set breakpoint on first line of code and wait",
      "separator": "=",
      "args": [
        {
          "name": "[host:]port",
          "description": "Activate inspector on particular port and/or hostname",
          "isOptional": true,
          "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",
      "template": "filepaths",
      "generators": [
        {
          "script": [
            "bash",
            "-c",
            "until [[ -f package.json ]] || [[ $PWD = '/' ]]; do cd ..; done; cat package.json"
          ],
          "cache": {
            "strategy": "stale-while-revalidate",
            "cacheByDir": true
          }
        }
      ]
    },
    {
      "name": "args"
    }
  ],
  "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",
          "isCommand": true,
          "suggestions": [
            "react",
            "next",
            "hono",
            "discord-interactions",
            "blank",
            "bun-bakery",
            "react-native-app",
            "completion-spec",
            "next-app",
            "t3-app",
            "discord-bot",
            "video",
            "remix"
          ],
          "generators": [
            {
              "template": "folders"
            },
            {
              "script": [
                "command",
                "ls",
                "-1",
                ".bun-create"
              ],
              "splitOn": "\n"
            }
          ]
        },
        {
          "name": "name",
          "template": "folders"
        }
      ]
    },
    {
      "name": "run",
      "description": "Run a package.json script or executable",
      "args": [
        {
          "name": "script",
          "template": "filepaths",
          "filterStrategy": "fuzzy",
          "generators": [
            {
              "script": [
                "bash",
                "-c",
                "until [[ -f package.json ]] || [[ $PWD = '/' ]]; do cd ..; done; cat package.json"
              ],
              "cache": {
                "strategy": "stale-while-revalidate",
                "cacheByDir": true
              }
            }
          ]
        }
      ]
    },
    {
      "name": "i",
      "aliases": [
        "install"
      ],
      "description": "Install dependencies for a package.json",
      "options": [
        {
          "names": [
            "-c",
            "--config"
          ],
          "description": "Load config (bunfig.toml)",
          "args": [
            {
              "name": "path",
              "isOptional": true,
              "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",
          "args": [
            {
              "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",
          "args": [
            {
              "name": "path",
              "template": "folders"
            }
          ]
        },
        {
          "names": [
            "--backend"
          ],
          "description": "Platform-specific optimizations for installing dependencies. For macOS, 'clonefile' (default), 'copyfile'",
          "args": [
            {
              "name": "syscall",
              "suggestions": [
                "clonefile",
                "copyfile"
              ]
            }
          ]
        },
        {
          "names": [
            "--link-native-bins"
          ],
          "description": "Link 'bin' from a matching platform-specific 'optionalDependencies' instead. Default: esbuild, turbo",
          "args": [
            {
              "name": "str",
              "isVariadic": 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",
          "priority": 75
        },
        {
          "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)",
          "args": [
            {
              "name": "path",
              "isOptional": true,
              "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",
          "args": [
            {
              "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",
          "args": [
            {
              "name": "path",
              "template": "folders"
            }
          ]
        },
        {
          "names": [
            "--backend"
          ],
          "description": "Platform-specific optimizations for installing dependencies. For macOS, 'clonefile' (default), 'copyfile'",
          "args": [
            {
              "name": "syscall",
              "suggestions": [
                "clonefile",
                "copyfile"
              ]
            }
          ]
        },
        {
          "names": [
            "--link-native-bins"
          ],
          "description": "Link 'bin' from a matching platform-specific 'optionalDependencies' instead. Default: esbuild, turbo",
          "args": [
            {
              "name": "str",
              "isVariadic": 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",
          "priority": 75
        },
        {
          "names": [
            "--exact"
          ],
          "description": "Install exact version"
        },
        {
          "names": [
            "--optional"
          ],
          "description": "Install as optionalDependency"
        }
      ],
      "args": [
        {
          "name": "package",
          "isVariadic": true,
          "filterStrategy": "fuzzy"
        }
      ]
    },
    {
      "name": "rm",
      "aliases": [
        "remove"
      ],
      "description": "Remove a dependency from package.json",
      "options": [
        {
          "names": [
            "-c",
            "--config"
          ],
          "description": "Load config (bunfig.toml)",
          "args": [
            {
              "name": "path",
              "isOptional": true,
              "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",
          "args": [
            {
              "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",
          "args": [
            {
              "name": "path",
              "template": "folders"
            }
          ]
        },
        {
          "names": [
            "--backend"
          ],
          "description": "Platform-specific optimizations for installing dependencies. For macOS, 'clonefile' (default), 'copyfile'",
          "args": [
            {
              "name": "syscall",
              "suggestions": [
                "clonefile",
                "copyfile"
              ]
            }
          ]
        },
        {
          "names": [
            "--link-native-bins"
          ],
          "description": "Link 'bin' from a matching platform-specific 'optionalDependencies' instead. Default: esbuild, turbo",
          "args": [
            {
              "name": "str",
              "isVariadic": 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",
          "priority": 75
        },
        {
          "names": [
            "--exact"
          ],
          "description": "Install exact version"
        },
        {
          "names": [
            "--optional"
          ],
          "description": "Install as optionalDependency"
        }
      ],
      "args": [
        {
          "name": "package",
          "isVariadic": true,
          "filterStrategy": "fuzzy"
        }
      ]
    },
    {
      "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"
          ],
          "args": [
            {
              "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)",
          "args": [
            {
              "name": "path",
              "description": "Config file to load Bun from (e.g. -c bunfig.toml)",
              "isOptional": true,
              "template": "filepaths"
            }
          ]
        },
        {
          "names": [
            "--extension-order"
          ],
          "args": [
            {
              "name": "order",
              "description": "Defaults to: .tsx,.ts,.jsx,.js,.json",
              "isVariadic": true
            }
          ]
        },
        {
          "names": [
            "--jsx-factory"
          ],
          "description": "Changes the function called when compiling JSX elements using the classic JSX runtime",
          "args": [
            {
              "name": "name",
              "suggestions": [
                "React.createElement",
                "h",
                "preact.h"
              ]
            }
          ]
        },
        {
          "names": [
            "--jsx-fragment"
          ],
          "description": "Changes the function called when compiling JSX fragments",
          "priority": 49,
          "args": [
            {
              "name": "string",
              "isOptional": true
            }
          ]
        },
        {
          "names": [
            "--jsx-import-source"
          ],
          "description": "Declares the module specifier to be used for importing the jsx and jsxs factory functions. Default: \"react\"",
          "args": [
            {
              "name": "module",
              "suggestions": [
                "react"
              ]
            }
          ]
        },
        {
          "names": [
            "--jsx-runtime"
          ],
          "description": "\"automatic\" (default) or \"classic\"",
          "args": [
            {
              "name": "name",
              "suggestions": [
                "automatic",
                "classic"
              ]
            }
          ]
        },
        {
          "names": [
            "-r",
            "--preload"
          ],
          "args": [
            {
              "name": "args",
              "description": "Import a module before other modules are loaded",
              "isVariadic": true
            }
          ]
        },
        {
          "names": [
            "--main-fields"
          ],
          "args": [
            {
              "name": "args",
              "description": "Main fields to lookup in package.json. Defaults to --target dependent",
              "isVariadic": 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"
          ],
          "args": [
            {
              "name": "overrides",
              "description": "Load tsconfig from path instead of cwd/tsconfig.json"
            }
          ]
        },
        {
          "names": [
            "-d",
            "--define"
          ],
          "args": [
            {
              "name": "k=v",
              "description": "Substitute key=value while parsing, e.g. --define process.env.NODE_ENV=development",
              "isVariadic": true
            }
          ]
        },
        {
          "names": [
            "-e",
            "--external"
          ],
          "args": [
            {
              "name": "args",
              "description": "Exclude module from transpilation (can use * wildcards). ex: -e react",
              "isVariadic": true
            }
          ]
        },
        {
          "names": [
            "-l",
            "--loader"
          ],
          "args": [
            {
              "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",
              "isVariadic": true
            }
          ]
        },
        {
          "names": [
            "-u",
            "--origin"
          ],
          "args": [
            {
              "name": "args",
              "description": "Rewrite import URLs to start with --origin. Default: \"\""
            }
          ]
        },
        {
          "names": [
            "-p",
            "--port"
          ],
          "args": [
            {
              "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",
          "args": [
            {}
          ]
        },
        {
          "names": [
            "--inspect"
          ],
          "description": "Activate Bun's debugger for a file",
          "separator": "=",
          "args": [
            {
              "name": "[host:]port",
              "description": "Activate inspector on particular port and/or hostname",
              "isOptional": true,
              "suggestions": [
                "3000",
                "8080"
              ]
            }
          ]
        },
        {
          "names": [
            "--inspect-wait"
          ],
          "description": "Activate Bun's Debugger, wait for a connection before executing",
          "separator": "=",
          "args": [
            {
              "name": "[host:]port",
              "description": "Activate inspector on particular port and/or hostname",
              "isOptional": true,
              "suggestions": [
                "3000",
                "8080"
              ]
            }
          ]
        },
        {
          "names": [
            "--inspect-brk"
          ],
          "description": "Activate Bun's Debugger, set breakpoint on first line of code and wait",
          "separator": "=",
          "args": [
            {
              "name": "[host:]port",
              "description": "Activate inspector on particular port and/or hostname",
              "isOptional": true,
              "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"
          ],
          "args": [
            {
              "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",
          "args": [
            {
              "name": "args",
              "suggestions": [
                "esm"
              ]
            }
          ]
        },
        {
          "names": [
            "--outdir"
          ],
          "description": "Default to \"dist\" if multiple files",
          "args": [
            {
              "name": "path"
            }
          ]
        },
        {
          "names": [
            "--outfile"
          ],
          "description": "Write to a file",
          "args": [
            {
              "name": "path"
            }
          ]
        },
        {
          "names": [
            "--root"
          ],
          "description": "Root directory used for multiple entry points",
          "args": [
            {
              "name": "path"
            }
          ]
        },
        {
          "names": [
            "--splitting"
          ],
          "description": "Enable code splitting"
        },
        {
          "names": [
            "--public-path"
          ],
          "description": "A prefix to be appended to any import paths in bundled code",
          "args": [
            {
              "name": "args"
            }
          ]
        },
        {
          "names": [
            "--sourcemap"
          ],
          "description": "Build with sourcemaps - 'inline', 'external', or 'none'",
          "separator": "-",
          "args": [
            {
              "name": "args",
              "isOptional": true,
              "suggestions": [
                "inline",
                "external",
                "none"
              ]
            }
          ]
        },
        {
          "names": [
            "--entry-naming"
          ],
          "description": "Customize entry point filenames. Defaults to \"[dir]/[name].[ext]\"",
          "args": [
            {
              "name": "args"
            }
          ]
        },
        {
          "names": [
            "--chunk-naming"
          ],
          "description": "Customize chunk filenames. Defaults to \"[name]-[hash].[ext]\"",
          "args": [
            {
              "name": "args"
            }
          ]
        },
        {
          "names": [
            "--asset-naming"
          ],
          "description": "Customize asset filenames. Defaults to \"[name]-[hash].[ext]\"",
          "args": [
            {
              "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",
          "priority": 49
        },
        {
          "names": [
            "--dump-limits"
          ],
          "description": "Dump system limits. Useful for debugging",
          "priority": 49
        }
      ],
      "args": [
        {
          "name": "entrypoints",
          "description": "Entrypoint to bundle. If multiple entrypoints provided, must specify --outdir",
          "isVariadic": true,
          "template": "filepaths"
        }
      ]
    },
    {
      "name": "update",
      "description": "Update outdated dependencies",
      "options": [
        {
          "names": [
            "-c",
            "--config"
          ],
          "description": "Load config (bunfig.toml)",
          "args": [
            {
              "name": "path",
              "isOptional": true,
              "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",
          "args": [
            {
              "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",
          "args": [
            {
              "name": "path",
              "template": "folders"
            }
          ]
        },
        {
          "names": [
            "--backend"
          ],
          "description": "Platform-specific optimizations for installing dependencies. For macOS, 'clonefile' (default), 'copyfile'",
          "args": [
            {
              "name": "syscall",
              "suggestions": [
                "clonefile",
                "copyfile"
              ]
            }
          ]
        },
        {
          "names": [
            "--link-native-bins"
          ],
          "description": "Link 'bin' from a matching platform-specific 'optionalDependencies' instead. Default: esbuild, turbo",
          "args": [
            {
              "name": "str",
              "isVariadic": 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",
          "priority": 75
        },
        {
          "names": [
            "--exact"
          ],
          "description": "Install exact version"
        },
        {
          "names": [
            "--optional"
          ],
          "description": "Install as optionalDependency"
        }
      ],
      "args": [
        {
          "name": "package",
          "isOptional": true,
          "isVariadic": true,
          "filterStrategy": "fuzzy"
        }
      ]
    },
    {
      "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",
          "dependsOn": [
            "package"
          ]
        }
      ],
      "args": [
        {
          "name": "package",
          "description": "Install a package from the global package registry",
          "isOptional": true,
          "filterStrategy": "fuzzy",
          "generators": [
            {
              "script": [
                "command",
                "sh",
                "-c",
                "find $BUN_INSTALL/install/global/node_modules -type l -o -type d -maxdepth 2 | awk -F 'node_modules/' '{print $2}'"
              ],
              "cache": {
                "strategy": "stale-while-revalidate",
                "ttl": 86400
              }
            }
          ]
        }
      ]
    },
    {
      "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"
          ],
          "args": [
            {
              "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)",
          "args": [
            {
              "name": "path",
              "description": "Config file to load Bun from (e.g. -c bunfig.toml)",
              "isOptional": true,
              "template": "filepaths"
            }
          ]
        },
        {
          "names": [
            "--extension-order"
          ],
          "args": [
            {
              "name": "order",
              "description": "Defaults to: .tsx,.ts,.jsx,.js,.json",
              "isVariadic": true
            }
          ]
        },
        {
          "names": [
            "--jsx-factory"
          ],
          "description": "Changes the function called when compiling JSX elements using the classic JSX runtime",
          "args": [
            {
              "name": "name",
              "suggestions": [
                "React.createElement",
                "h",
                "preact.h"
              ]
            }
          ]
        },
        {
          "names": [
            "--jsx-fragment"
          ],
          "description": "Changes the function called when compiling JSX fragments",
          "priority": 49,
          "args": [
            {
              "name": "string",
              "isOptional": true
            }
          ]
        },
        {
          "names": [
            "--jsx-import-source"
          ],
          "description": "Declares the module specifier to be used for importing the jsx and jsxs factory functions. Default: \"react\"",
          "args": [
            {
              "name": "module",
              "suggestions": [
                "react"
              ]
            }
          ]
        },
        {
          "names": [
            "--jsx-runtime"
          ],
          "description": "\"automatic\" (default) or \"classic\"",
          "args": [
            {
              "name": "name",
              "suggestions": [
                "automatic",
                "classic"
              ]
            }
          ]
        },
        {
          "names": [
            "-r",
            "--preload"
          ],
          "args": [
            {
              "name": "args",
              "description": "Import a module before other modules are loaded",
              "isVariadic": true
            }
          ]
        },
        {
          "names": [
            "--main-fields"
          ],
          "args": [
            {
              "name": "args",
              "description": "Main fields to lookup in package.json. Defaults to --target dependent",
              "isVariadic": 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"
          ],
          "args": [
            {
              "name": "overrides",
              "description": "Load tsconfig from path instead of cwd/tsconfig.json"
            }
          ]
        },
        {
          "names": [
            "-d",
            "--define"
          ],
          "args": [
            {
              "name": "k=v",
              "description": "Substitute key=value while parsing, e.g. --define process.env.NODE_ENV=development",
              "isVariadic": true
            }
          ]
        },
        {
          "names": [
            "-e",
            "--external"
          ],
          "args": [
            {
              "name": "args",
              "description": "Exclude module from transpilation (can use * wildcards). ex: -e react",
              "isVariadic": true
            }
          ]
        },
        {
          "names": [
            "-l",
            "--loader"
          ],
          "args": [
            {
              "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",
              "isVariadic": true
            }
          ]
        },
        {
          "names": [
            "-u",
            "--origin"
          ],
          "args": [
            {
              "name": "args",
              "description": "Rewrite import URLs to start with --origin. Default: \"\""
            }
          ]
        },
        {
          "names": [
            "-p",
            "--port"
          ],
          "args": [
            {
              "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",
          "args": [
            {}
          ]
        },
        {
          "names": [
            "--inspect"
          ],
          "description": "Activate Bun's debugger for a file",
          "separator": "=",
          "args": [
            {
              "name": "[host:]port",
              "description": "Activate inspector on particular port and/or hostname",
              "isOptional": true,
              "suggestions": [
                "3000",
                "8080"
              ]
            }
          ]
        },
        {
          "names": [
            "--inspect-wait"
          ],
          "description": "Activate Bun's Debugger, wait for a connection before executing",
          "separator": "=",
          "args": [
            {
              "name": "[host:]port",
              "description": "Activate inspector on particular port and/or hostname",
              "isOptional": true,
              "suggestions": [
                "3000",
                "8080"
              ]
            }
          ]
        },
        {
          "names": [
            "--inspect-brk"
          ],
          "description": "Activate Bun's Debugger, set breakpoint on first line of code and wait",
          "separator": "=",
          "args": [
            {
              "name": "[host:]port",
              "description": "Activate inspector on particular port and/or hostname",
              "isOptional": true,
              "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"
          ],
          "args": [
            {
              "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",
          "args": [
            {
              "name": "number"
            }
          ]
        },
        {
          "names": [
            "--update-snapshots"
          ],
          "description": "Update snapshot files"
        },
        {
          "names": [
            "--rerun-each"
          ],
          "description": "Re-run each test file <NUMBER> times, helps catch certain bugs",
          "args": [
            {
              "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",
          "args": [
            {
              "name": "number",
              "isOptional": true
            }
          ]
        },
        {
          "names": [
            "-t",
            "--test-name-pattern"
          ],
          "description": "Run only tests with a name that matches the given regex",
          "args": [
            {
              "name": "pattern"
            }
          ]
        },
        {
          "names": [
            "--dump-environment-variables"
          ],
          "description": "Dump environment variables from .env and process as JSON and quit. Useful for debugging",
          "priority": 49
        },
        {
          "names": [
            "--dump-limits"
          ],
          "description": "Dump system limits. Useful for debugging",
          "priority": 49
        }
      ],
      "args": [
        {
          "name": "files",
          "description": "Test files to run",
          "isOptional": true,
          "isVariadic": true,
          "filterStrategy": "fuzzy",
          "generators": [
            {
              "script": [
                "command",
                "sh",
                "-c",
                "find $(npm prefix) | grep -E \".*.(test|_test|spec|_spec).(ts|tsx|js|jsx)$\" | grep -vE \".*/node_modules/.*\" | sed \"s|$(npm prefix)/||\""
              ],
              "cache": {
                "strategy": "stale-while-revalidate",
                "ttl": 86400
              }
            }
          ]
        }
      ]
    },
    {
      "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"
        }
      ]
    }
  ]
}
