[
    {
        "DisplayName": "App Download Type",
        "Category": "Bun App Runner:code",
        "Subcategory": "Download:download:2",
        "Description": "Sets how to download the app. Specify the App Download Source and the relevant Git repo or GitHub release settings accordingly. Update the app after changing this setting",
        "Keywords": "download,type",
        "FieldName": "DownloadType",
        "InputType": "enum",
        "ParamFieldName": "DownloadType",
        "DefaultValue": "",
        "Required": true,
        "EnumValues": {
            "": "--Please select--",
            "DownloadURL": "Download URL",
            "GithubRelease": "GitHub release",
            "GitRepo": "Git repo",
            "None": "None"
        }
    },
    {
        "DisplayName": "App Download Source",
        "Category": "Bun App Runner:code",
        "Subcategory": "Download:download:2",
        "Description": "Sets the source for the App Download Type. Git repo = URL that ends in .git. GitHub release = User/Repo. Download URL = URL to a zip file. Update the app after changing this setting",
        "Keywords": "download,source",
        "FieldName": "DownloadSource",
        "InputType": "text",
        "ParamFieldName": "DownloadSource",
        "DefaultValue": "",
        "Placeholder": "https://github.com/user/repo.git",
        "EnumValues": {}
    },
    {
        "DisplayName": "Git Repo Branch",
        "Category": "Bun App Runner:code",
        "Subcategory": "Download:download:2",
        "Description": "If \"Git repo\" is selected under App Download Type, sets the branch if required. Empty = default branch",
        "Keywords": "git,repo,branch,DownloadBranch",
        "FieldName": "DownloadBranch",
        "InputType": "text",
        "ParamFieldName": "DownloadBranch",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Git Repo Username",
        "Category": "Bun App Runner:code",
        "Subcategory": "Download:download:2",
        "Description": "If \"Git repo\" is selected under App Download Type, sets the username if login is required",
        "Keywords": "git,repo,username,DownloadUsername",
        "FieldName": "DownloadUsername",
        "InputType": "text",
        "ParamFieldName": "DownloadUsername",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Git Repo Password/Token",
        "Category": "Bun App Runner:code",
        "Subcategory": "Download:download:2",
        "Description": "If \"Git repo\" is selected under App Download Type, sets the password/token if login is required",
        "Keywords": "git,repo,password,token,DownloadPassword",
        "FieldName": "DownloadPassword",
        "InputType": "Password",
        "ParamFieldName": "DownloadPassword",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "GitHub Release Filename",
        "Category": "Bun App Runner:code",
        "Subcategory": "Download:download:2",
        "Description": "If \"GitHub release\" is selected under App Download Type, sets the name of the zip file to download",
        "Keywords": "github,release,filename",
        "FieldName": "DownloadFilename",
        "InputType": "text",
        "ParamFieldName": "DownloadFilename",
        "DefaultValue": "",
        "Placeholder": "discordbot.zip",
        "EnumValues": {}
    },
    {
        "DisplayName": "GitHub Release Version",
        "Category": "Bun App Runner:code",
        "Subcategory": "Download:download:2",
        "Description": "If \"GitHub release\" is selected under App Download Type, sets the release version to download. Empty = latest",
        "Keywords": "github,release,version",
        "FieldName": "DownloadVersion",
        "InputType": "text",
        "ParamFieldName": "DownloadVersion",
        "DefaultValue": "",
        "Placeholder": "1.0.0",
        "EnumValues": {}
    },
    {
        "DisplayName": "Bun Version",
        "Category": "Bun App Runner:code",
        "Subcategory": "App:settings:1",
        "Description": "Sets the [Bun release version](https://github.com/oven-sh/bun/releases) to install. Empty = latest. NOTE: If specifying a version, it must be in the format: v1.2.15",
        "Keywords": "bun,version",
        "FieldName": "BunVersion",
        "InputType": "text",
        "ParamFieldName": "BunVersion",
        "DefaultValue": "",
        "Placeholder": "v1.2.15",
        "EnumValues": {}
    },
    {
        "DisplayName": "Packages Installation Mode",
        "Category": "Bun App Runner:code",
        "Subcategory": "App:settings:1",
        "Description": "Specifies whether and how to install packages when updating the server. If \"Install specific packages\" is chosen you must enter the packages under Specific Packages",
        "Keywords": "bun,install,type",
        "FieldName": "BunInstallType",
        "InputType": "enum",
        "ParamFieldName": "BunInstallType",
        "DefaultValue": "install",
        "EnumValues": {
            "none": "None",
            "install": "Install from packages.json (bun install) (default)",
            "specify": "Install specific packages (bun add)"
        }
    },
    {
        "DisplayName": "Specific Packages",
        "Category": "Bun App Runner:code",
        "Subcategory": "App:settings:1",
        "Description": "Specifies any additional packages to install separated by a space. Select \"Install specific packages\" for the Packages Installation Mode",
        "Keywords": "additional,bun,packages",
        "FieldName": "BunPackages",
        "InputType": "text",
        "ParamFieldName": "BunPackages",
        "DefaultValue": "",
        "Placeholder": "express fastify socket.io",
        "EnumValues": {}
    },
    {
        "DisplayName": "Bun Installation Arguments",
        "Category": "Bun App Runner:code",
        "Subcategory": "App:settings:1",
        "Description": "Sets Bun command line arguments to include as parameters when installing packages under Packages Installation Mode",
        "Keywords": "bun,install,command,line,arguments,args",
        "FieldName": "BunInstallArgs",
        "InputType": "text",
        "ParamFieldName": "BunInstallArgs",
        "DefaultValue": "",
        "Placeholder": "--value1=foo --value2=bar",
        "EnumValues": {}
    },
    {
        "DisplayName": "Run App Setup Commands",
        "Category": "Bun App Runner:code",
        "Subcategory": "App:settings:1",
        "Description": "If enabled, the command(s) specified under App Setup Commands will be run when the server is updated and after the app is installed",
        "Keywords": "app,setup,command,RunAppSetupCommands",
        "FieldName": "RunAppSetupCommands",
        "InputType": "checkbox",
        "ParamFieldName": "RunAppSetupCommands",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "App Setup Commands",
        "Category": "Bun App Runner:code",
        "Subcategory": "App:settings:1",
        "Description": "Sets any required command(s) to run to set up the app after it is installed, if Run App Setup Commands is enabled. Linux: command1; command2 | Windows: command1 & command2. Include \"bun\" or \"bunx\" as needed",
        "Keywords": "app,setup,command,AppSetupCommands",
        "FieldName": "AppSetupCommands",
        "InputType": "text",
        "ParamFieldName": "AppSetupCommands",
        "DefaultValue": "",
        "Placeholder": "bun setup.js | bun run build",
        "EnumValues": {}
    },
    {
        "DisplayName": "App Name",
        "Category": "Bun App Runner:code",
        "Subcategory": "App:settings:1",
        "Description": "Sets the name of the app to execute - this could be a JavaScript/TypeScript file, a package.json script, or an executable package. Do not include \"bun\" in front. Include any relative path from the base directory or App Installation Location, if applicable",
        "Keywords": "app,application,name",
        "FieldName": "ApplicationName",
        "InputType": "text",
        "ParamFieldName": "ApplicationName",
        "DefaultValue": "",
        "Placeholder": "index.js | start",
        "EnumValues": {}
    },
    {
        "DisplayName": "App Installation Location",
        "Category": "Bun App Runner:code",
        "Subcategory": "App:settings:1",
        "Description": "Sets any applicable subdirectory path (under the base directory) that the app is installed in. This will set the working directory for running the app accordingly",
        "Keywords": "app,application,location,directory,subdirectory,path,ApplicationLocation",
        "FieldName": "ApplicationLocation",
        "InputType": "text",
        "ParamFieldName": "ApplicationLocation",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Bun Command Line Arguments",
        "Category": "Bun App Runner:code",
        "Subcategory": "App:settings:1",
        "Description": "Sets Bun command line arguments (not app command line arguments) to include as startup parameters",
        "Keywords": "bun,command,line,arguments,args",
        "FieldName": "BunArgs",
        "InputType": "text",
        "ParamFieldName": "BunArgs",
        "DefaultValue": "",
        "Placeholder": "--value1=foo --value2=bar",
        "EnumValues": {}
    },
    {
        "DisplayName": "App Environment Variables",
        "Category": "Bun App Runner:code",
        "Subcategory": "App:settings:1",
        "Description": "To set a list of environment variables to run the app with, create a '.env' file in the working directory. For example, this may include a [Discord bot token](https://discord.com/developers/applications/). Consult any example '.env' file included with the app for relevant variables to specify",
        "Keywords": "environment,variables,EnvVars",
        "FieldName": "EnvVars",
        "InputType": "hidden",
        "ParamFieldName": "EnvVars",
        "EnumValues": {}
    },
    {
        "DisplayName": "App Command Line Arguments",
        "Category": "Bun App Runner:code",
        "Subcategory": "App:settings:1",
        "Description": "Sets app command line arguments (not Bun command line arguments) to include as startup parameters",
        "Keywords": "app,command,line,arguments,args",
        "FieldName": "CommandLineArgs",
        "InputType": "text",
        "ParamFieldName": "CommandLineArgs",
        "DefaultValue": "",
        "Placeholder": "value1=foo value2=bar",
        "EnumValues": {}
    }
]