{
  "commands": {
    "build": {
      "aliases": [
        "orchestrator:build"
      ],
      "args": {},
      "description": "Build artifact(s) of your packages in the current project",
      "flags": {
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        },
        "apiversion": {
          "aliases": [
            "apiversion"
          ],
          "description": "Override the api version used for api requests made by this command",
          "name": "apiversion",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "devhubalias": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "devhubalias",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "diffcheck": {
          "description": "Only build the packages which have changed by analyzing previous tags",
          "name": "diffcheck",
          "allowNo": false,
          "type": "boolean"
        },
        "buildOnly": {
          "char": "p",
          "description": "Only build artifacts for the provided package names,use comma separated list of package names if there are multiple packages",
          "name": "buildOnly",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "repourl": {
          "char": "r",
          "description": "Custom source repository URL to use in artifact metadata, overrides origin URL defined in git config",
          "name": "repourl",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "configfilepath": {
          "char": "f",
          "description": "Path in the current project directory containing  config file for the packaging org",
          "name": "configfilepath",
          "default": "config/project-scratch-def.json",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "artifactdir": {
          "description": "The directory where the generated artifact is to be written",
          "name": "artifactdir",
          "default": "artifacts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "waittime": {
          "description": "Wait time for command to finish in minutes",
          "name": "waittime",
          "default": 120,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "buildnumber": {
          "description": "The build number to be used for source packages, Unlocked Packages will be assigned the buildnumber from Salesforce directly if using .NEXT",
          "name": "buildnumber",
          "default": 1,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "executorcount": {
          "description": "Number of parallel package task schedulors",
          "name": "executorcount",
          "default": 5,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "branch": {
          "description": "The git branch that this build is triggered on, Useful for metrics and general identification purposes",
          "name": "branch",
          "required": true,
          "default": "main",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tag": {
          "description": "Tag the build with a label, useful to identify in metrics",
          "name": "tag",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "releaseconfig": {
          "aliases": [
            "domain"
          ],
          "description": "Path to the release config file(s) to limit packages built by domains",
          "name": "releaseconfig",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "build",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "build.js"
      ]
    },
    "install": {
      "aliases": [
        "orchestrator:deploy",
        "deploy"
      ],
      "args": {},
      "description": "Installs artifact(s) from a given directory to a target org",
      "examples": [
        "$ sfp install -o <username>"
      ],
      "flags": {
        "targetorg": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetorg",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "artifactdir": {
          "description": "The directory containing artifacts to be deployed",
          "name": "artifactdir",
          "default": "artifacts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "waittime": {
          "description": "Wait time for command to finish in minutes",
          "name": "waittime",
          "default": 120,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tag": {
          "char": "t",
          "description": "Tag the deploy with a label, useful for identification in metrics",
          "name": "tag",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "skipifalreadyinstalled": {
          "description": "Skip the package installation if the package is already installed in the org",
          "name": "skipifalreadyinstalled",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "baselineorg": {
          "char": "b",
          "dependsOn": [
            "skipifalreadyinstalled"
          ],
          "description": "The org against which the package skip should be baselined",
          "name": "baselineorg",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "allowunpromotedpackages": {
          "deprecated": {
            "message": "--allowunpromotedpackages is deprecated, All packages are allowed"
          },
          "description": "Allow un-promoted packages to be installed in production",
          "hidden": true,
          "name": "allowunpromotedpackages",
          "allowNo": false,
          "type": "boolean"
        },
        "artifacts": {
          "char": "p",
          "description": "Only install artifacts for the provided packages, use comma separated list of package names if there are multiple packages",
          "name": "artifacts",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "retryonfailure": {
          "description": "Retry on a failed deployment of a package",
          "hidden": true,
          "name": "retryonfailure",
          "allowNo": false,
          "type": "boolean"
        },
        "releaseconfig": {
          "description": "Path to the config file which determines how the packages are deployed based on the filters in release config",
          "name": "releaseconfig",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "enablesourcetracking": {
          "description": "Enable source tracking on the packages being deployed to an org",
          "name": "enablesourcetracking",
          "allowNo": false,
          "type": "boolean"
        },
        "logsgroupsymbol": {
          "char": "g",
          "description": "Symbol used by CICD platform to group/collapse logs in the console. Provide an opening group, and an optional closing group symbol.",
          "name": "logsgroupsymbol",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "install",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "requiresProject": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "install.js"
      ]
    },
    "publish": {
      "aliases": [
        "orchestrator:publish"
      ],
      "args": {},
      "description": "Publish packages to a NPM Compatible artifact registry",
      "examples": [
        "$ sfp publish --npm"
      ],
      "flags": {
        "artifactdir": {
          "char": "d",
          "description": "The directory containing artifacts to be published",
          "name": "artifactdir",
          "required": true,
          "default": "artifacts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "publishpromotedonly": {
          "char": "p",
          "dependsOn": [
            "devhubalias"
          ],
          "description": "Only publish unlocked packages that have been promoted",
          "name": "publishpromotedonly",
          "allowNo": false,
          "type": "boolean"
        },
        "devhubalias": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "devhubalias",
          "required": false,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scriptpath": {
          "char": "f",
          "description": "Path to script that authenticates and uploaded artifacts to the registry",
          "name": "scriptpath",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tag": {
          "char": "t",
          "description": "Tag the publish with a label, useful for identification in metrics",
          "name": "tag",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "gittag": {
          "description": "Tag the current commit ID with an annotated tag containing the package name and version - does not push tag",
          "name": "gittag",
          "allowNo": false,
          "type": "boolean"
        },
        "gittaglimit": {
          "description": "Specifies the minimum number of  tags to be retained for a package",
          "name": "gittaglimit",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "gittagage": {
          "description": "Specifies the number of days,for a tag to be retained,any tags older the provided number will be deleted",
          "name": "gittagage",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "pushgittag": {
          "description": "Pushes the git tags created by this command to the repo, ensure you have access to the repo",
          "name": "pushgittag",
          "allowNo": false,
          "type": "boolean"
        },
        "npm": {
          "description": "Upload artifacts to a pre-authenticated private npm registry",
          "exclusive": [
            "scriptpath"
          ],
          "name": "npm",
          "allowNo": false,
          "type": "boolean"
        },
        "scope": {
          "dependsOn": [
            "npm"
          ],
          "description": "(required for NPM) User or Organisation scope of the NPM package",
          "name": "scope",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "npmtag": {
          "dependsOn": [
            "npm"
          ],
          "deprecated": {
            "message": "--npmtag is deprecated, sfp will automatically tag the artifact with the branch name"
          },
          "description": "Add an optional distribution tag to NPM packages. If not provided, the 'latest' tag is set to the published version.",
          "name": "npmtag",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "npmrcpath": {
          "dependsOn": [
            "npm"
          ],
          "description": "Path to .npmrc file used for authentication to registry. If left blank, defaults to home directory",
          "name": "npmrcpath",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "logsgroupsymbol": {
          "char": "g",
          "description": "Symbol used by CICD platform to group/collapse logs in the console. Provide an opening group, and an optional closing group symbol.",
          "name": "logsgroupsymbol",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "publish",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "publish.js"
      ]
    },
    "quickbuild": {
      "aliases": [
        "orchestrator:quickbuild"
      ],
      "args": {},
      "description": "Build artifact(s) of your packages in the current project without dependency validation for unlocked packages",
      "flags": {
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        },
        "apiversion": {
          "aliases": [
            "apiversion"
          ],
          "description": "Override the api version used for api requests made by this command",
          "name": "apiversion",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "devhubalias": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "devhubalias",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "diffcheck": {
          "description": "Only build the packages which have changed by analyzing previous tags",
          "name": "diffcheck",
          "allowNo": false,
          "type": "boolean"
        },
        "buildOnly": {
          "char": "p",
          "description": "Only build artifacts for the provided package names,use comma separated list of package names if there are multiple packages",
          "name": "buildOnly",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "repourl": {
          "char": "r",
          "description": "Custom source repository URL to use in artifact metadata, overrides origin URL defined in git config",
          "name": "repourl",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "configfilepath": {
          "char": "f",
          "description": "Path in the current project directory containing  config file for the packaging org",
          "name": "configfilepath",
          "default": "config/project-scratch-def.json",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "artifactdir": {
          "description": "The directory where the generated artifact is to be written",
          "name": "artifactdir",
          "default": "artifacts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "waittime": {
          "description": "Wait time for command to finish in minutes",
          "name": "waittime",
          "default": 120,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "buildnumber": {
          "description": "The build number to be used for source packages, Unlocked Packages will be assigned the buildnumber from Salesforce directly if using .NEXT",
          "name": "buildnumber",
          "default": 1,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "executorcount": {
          "description": "Number of parallel package task schedulors",
          "name": "executorcount",
          "default": 5,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "branch": {
          "description": "The git branch that this build is triggered on, Useful for metrics and general identification purposes",
          "name": "branch",
          "required": true,
          "default": "main",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tag": {
          "description": "Tag the build with a label, useful to identify in metrics",
          "name": "tag",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "releaseconfig": {
          "aliases": [
            "domain"
          ],
          "description": "Path to the release config file(s) to limit packages built by domains",
          "name": "releaseconfig",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "quickbuild",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "quickbuild.js"
      ]
    },
    "release": {
      "aliases": [
        "orchestrator:release"
      ],
      "args": {},
      "description": "Release a set of artifact(s) as defined by a release definition into a target org",
      "examples": [
        "sfp release -p path/to/releasedefinition.yml -u myorg --npm --scope myscope --generatechangelog"
      ],
      "flags": {
        "releasedefinition": {
          "char": "p",
          "description": "Path to release definition yaml, Multiple paths can be seperated by commas",
          "name": "releasedefinition",
          "required": true,
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "targetorg": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetorg",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scriptpath": {
          "char": "f",
          "description": "(Optional: no-NPM) Path to script that authenticates and downloads artifacts from the registry",
          "name": "scriptpath",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "npm": {
          "description": "Download artifacts from a pre-authenticated private npm registry",
          "exclusive": [
            "scriptpath"
          ],
          "name": "npm",
          "allowNo": false,
          "type": "boolean"
        },
        "scope": {
          "dependsOn": [
            "npm"
          ],
          "description": "(required for NPM) User or Organisation scope of the NPM package",
          "name": "scope",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "npmrcpath": {
          "dependsOn": [
            "npm"
          ],
          "description": "Path to .npmrc file used for authentication to registry. If left blank, defaults to home directory",
          "name": "npmrcpath",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "logsgroupsymbol": {
          "char": "g",
          "description": "Symbol used by CICD platform to group/collapse logs in the console. Provide an opening group, and an optional closing group symbol.",
          "name": "logsgroupsymbol",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "tag": {
          "char": "t",
          "description": "Tag the release with a label, useful for identification in metrics",
          "name": "tag",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dryrun": {
          "description": "Perform dry-run of release. No artifacts are deployed to the target org.",
          "hidden": true,
          "name": "dryrun",
          "allowNo": false,
          "type": "boolean"
        },
        "waittime": {
          "description": "Wait time for package installation",
          "name": "waittime",
          "default": 120,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "keys": {
          "description": "Keys to be used while installing any managed package dependencies. Required format is a string of key-value pairs separated by spaces e.g. packageA:pw123 packageB:pw123 packageC:pw123",
          "name": "keys",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "generatechangelog": {
          "description": "Create a release changelog",
          "name": "generatechangelog",
          "allowNo": false,
          "type": "boolean"
        },
        "directory": {
          "char": "d",
          "description": "Relative path to directory to which the changelog should be generated, if the directory doesnt exist, it will be created",
          "name": "directory",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "branchname": {
          "char": "b",
          "dependsOn": [
            "generatechangelog"
          ],
          "description": "Repository branch in which the changelog files are located",
          "name": "branchname",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "allowunpromotedpackages": {
          "deprecated": {
            "message": "--allowunpromotedpackages is deprecated, All packages are allowed"
          },
          "description": "Allow un-promoted packages to be installed in production",
          "hidden": true,
          "name": "allowunpromotedpackages",
          "allowNo": false,
          "type": "boolean"
        },
        "changelogByDomains": {
          "description": "Create changelog files by domains or name mentioned in release config",
          "hidden": true,
          "name": "changelogByDomains",
          "allowNo": false,
          "type": "boolean"
        },
        "devhubalias": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "devhubalias",
          "required": false,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "release",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "requiresProject": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "release.js"
      ]
    },
    "apextests:trigger": {
      "aliases": [],
      "args": {},
      "description": "Triggers Apex unit test in an org. Supports test level RunAllTestsInPackage, which optionally allows validation of individual class code coverage",
      "examples": [
        "$ sfp apextests:trigger -o scratchorg -l RunLocalTests -s",
        "$ sfp apextests:trigger -o scratchorg -l RunAllTestsInPackage -n <mypackage> -c"
      ],
      "flags": {
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        },
        "apiversion": {
          "aliases": [
            "apiversion"
          ],
          "description": "Override the api version used for api requests made by this command",
          "name": "apiversion",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "targetusername": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetusername",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "testlevel": {
          "char": "l",
          "description": "The test level of the test that need to be executed when the code is to be deployed",
          "name": "testlevel",
          "default": "RunLocalTests",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "RunSpecifiedTests",
            "RunApexTestSuite",
            "RunLocalTests",
            "RunAllTestsInOrg",
            "RunAllTestsInPackage"
          ],
          "type": "option"
        },
        "package": {
          "char": "n",
          "description": "Name of the package to run tests. Required when test level is RunAllTestsInPackage",
          "name": "package",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "validateindividualclasscoverage": {
          "char": "c",
          "description": "Validate that individual classes have a coverage greater than the minimum required percentage coverage, only available when test level is RunAllTestsInPackage",
          "name": "validateindividualclasscoverage",
          "allowNo": false,
          "type": "boolean"
        },
        "validatepackagecoverage": {
          "description": "Validate that the package coverage is greater than the minimum required percentage coverage, only available when test level is RunAllTestsInPackage",
          "name": "validatepackagecoverage",
          "allowNo": false,
          "type": "boolean"
        },
        "specifiedtests": {
          "description": "comma-separated list of Apex test class names or IDs and, if applicable, test methods to run",
          "name": "specifiedtests",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "apextestsuite": {
          "description": "comma-separated list of Apex test suite names to run",
          "name": "apextestsuite",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "coveragepercent": {
          "char": "p",
          "description": "Minimum required percentage coverage, when validating code coverage",
          "name": "coveragepercent",
          "default": 75,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "waittime": {
          "char": "w",
          "description": "wait time for command to finish in minutes",
          "name": "waittime",
          "default": 60,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apextests:trigger",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "apextests",
        "trigger.js"
      ]
    },
    "artifacts:fetch": {
      "aliases": [],
      "args": {},
      "description": "Fetch sfp artifacts from a NPM compatible registry using a release definition file",
      "examples": [
        "$ sfp artifacts:fetch -p myreleasedefinition.yaml -f myscript.sh",
        "$ sfp artifacts:fetch -p myreleasedefinition.yaml --npm --scope myscope --npmrcpath path/to/.npmrc"
      ],
      "flags": {
        "releasedefinition": {
          "char": "p",
          "description": "Path to YAML file containing map of packages and package versions to download",
          "name": "releasedefinition",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "artifactdir": {
          "char": "d",
          "description": "Directory to save downloaded artifacts",
          "name": "artifactdir",
          "required": true,
          "default": "artifacts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scriptpath": {
          "char": "f",
          "description": "(Optional: no-NPM) Path to script that authenticates and downloads artifacts from the registry",
          "name": "scriptpath",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "npm": {
          "description": "Download artifacts from a pre-authenticated private npm registry",
          "exclusive": [
            "scriptpath"
          ],
          "name": "npm",
          "allowNo": false,
          "type": "boolean"
        },
        "scope": {
          "dependsOn": [
            "npm"
          ],
          "description": "(required for NPM) User or Organisation scope of the NPM package",
          "name": "scope",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "npmrcpath": {
          "dependsOn": [
            "npm"
          ],
          "description": "Path to .npmrc file used for authentication to registry. If left blank, defaults to home directory",
          "name": "npmrcpath",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "artifacts:fetch",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "artifacts",
        "fetch.js"
      ]
    },
    "artifacts:promote": {
      "aliases": [
        "orchestrator:promote"
      ],
      "args": {},
      "description": "Promotes artifacts predominantly for unlocked packages with code coverage greater than 75%",
      "examples": [
        "$ sfp promote -d path/to/artifacts -v <org>"
      ],
      "flags": {
        "targetdevhubusername": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "targetdevhubusername",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "artifactdir": {
          "char": "d",
          "description": "The directory where artifacts are located",
          "name": "artifactdir",
          "required": true,
          "default": "artifacts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "artifacts:promote",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "artifacts",
        "promote.js"
      ]
    },
    "artifacts:query": {
      "aliases": [],
      "args": {},
      "description": "Fetch details about artifacts installed in a target org",
      "examples": [
        "$ sfp artifacts:query -o <target_org>"
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        },
        "targetusername": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetusername",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "artifacts:query",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "requiresUsername": true,
      "requiresDevhubUsername": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "artifacts",
        "query.js"
      ]
    },
    "changelog:generate": {
      "aliases": [],
      "args": {},
      "description": "Generates release changelog, providing a summary of artifact versions, work items and commits introduced in a release. Creates a release definition based on artifacts contained in the artifact directory, and compares it to previous release definition in changelog stored on a source repository",
      "examples": [
        "$ sfp changelog:generate -n <releaseName> -d path/to/artifact/directory -w <regexp> -r <repoURL> -b <branchName>"
      ],
      "flags": {
        "limit": {
          "description": "limit the number of releases to display in changelog markdown",
          "name": "limit",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "artifactdir": {
          "char": "d",
          "description": "Directory containing sfp artifacts",
          "name": "artifactdir",
          "required": true,
          "default": "artifacts",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "releasename": {
          "char": "n",
          "description": "Name of the release for which to generate changelog",
          "name": "releasename",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "workitemfilter": {
          "char": "w",
          "description": "Regular expression used to search for work items (user stories) introduced in release",
          "name": "workitemfilter",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "workitemurl": {
          "description": "Generic URL for work items. Each work item ID will be appended to the URL, providing quick access to work items",
          "name": "workitemurl",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "directory": {
          "description": "Relative path to directory to which the release definition file should be generated, if the directory doesnt exist, it will be created",
          "name": "directory",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "branchname": {
          "char": "b",
          "description": "Repository branch in which the changelog files are located",
          "name": "branchname",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "nopush": {
          "dependsOn": [
            "branchname"
          ],
          "description": "Do not push the changelog to a repository to the provided branch",
          "name": "nopush",
          "allowNo": false,
          "type": "boolean"
        },
        "showallartifacts": {
          "description": "Show all artifacts in changelog markdown, including those that have not changed in the release",
          "name": "showallartifacts",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "forcepush": {
          "description": "Force push changes to the repository branch",
          "hidden": true,
          "name": "forcepush",
          "allowNo": false,
          "type": "boolean"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "changelog:generate",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "changelog",
        "generate.js"
      ]
    },
    "dependency:expand": {
      "aliases": [],
      "args": {},
      "description": "Expand the dependency list in sfdx-project.json file for each package, fix the gap of dependencies from its dependent packages",
      "flags": {
        "targetdevhubusername": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "targetdevhubusername",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "overwrite": {
          "char": "o",
          "description": "Flag to overwrite existing sfdx-project.json file",
          "name": "overwrite",
          "allowNo": false,
          "type": "boolean"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "dependency:expand",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": true,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "dependency",
        "expand.js"
      ]
    },
    "dependency:install": {
      "aliases": [],
      "args": {},
      "description": "Install all the external dependencies of a given project",
      "flags": {
        "targetusername": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetusername",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "targetdevhubusername": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "targetdevhubusername",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "installationkeys": {
          "char": "k",
          "description": "Installation key for key-protected packages (format is packagename:key --> core:key nCino:key vlocity:key to allow some packages without installation key)",
          "name": "installationkeys",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "releaseconfig": {
          "char": "r",
          "description": "Path to the config file which determines which external dependency are being installed based on packages in release config",
          "name": "releaseconfig",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "dependency:install",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": true,
      "requiresDevhubUsername": true,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "dependency",
        "install.js"
      ]
    },
    "dependency:shrink": {
      "aliases": [],
      "args": {},
      "description": "Shrink the dependency list in sfdx-project.json file for each package, remove duplicate dependencies that already exist in its dependent packages",
      "flags": {
        "overwrite": {
          "char": "o",
          "description": "Flag to overwrite existing sfdx-project.json file",
          "name": "overwrite",
          "allowNo": false,
          "type": "boolean"
        },
        "targetdevhubusername": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "targetdevhubusername",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "dependency:shrink",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": true,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "dependency",
        "shrink.js"
      ]
    },
    "flow:activate": {
      "aliases": [],
      "args": {},
      "description": "Activate the flow on a target org",
      "flags": {
        "developername": {
          "char": "f",
          "description": "The developer name of the flow",
          "name": "developername",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "namespaceprefix": {
          "char": "p",
          "description": "Use to specify a specific namespace prefix",
          "name": "namespaceprefix",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "targetorg": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetorg",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:activate",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": true,
      "requiresDevhubUsername": false,
      "supportsDevhubUsername": true,
      "requiresProject": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "flow",
        "activate.js"
      ]
    },
    "flow:cleanup": {
      "aliases": [],
      "args": {},
      "description": "Cleanup inactive flows on a target org",
      "flags": {
        "developername": {
          "char": "f",
          "description": "The developer name of the flow",
          "name": "developername",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "namespaceprefix": {
          "char": "p",
          "description": "Use to specify a specific namespace prefix",
          "name": "namespaceprefix",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "targetorg": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetorg",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:cleanup",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": true,
      "requiresDevhubUsername": false,
      "supportsDevhubUsername": true,
      "requiresProject": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "flow",
        "cleanup.js"
      ]
    },
    "flow:deactivate": {
      "aliases": [],
      "args": {},
      "description": "Deactivate the flow on a target org",
      "flags": {
        "developername": {
          "char": "f",
          "description": "The developer name of the flow",
          "name": "developername",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "namespaceprefix": {
          "char": "p",
          "description": "Use to specify a specific namespace prefix",
          "name": "namespaceprefix",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "targetorg": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetorg",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:deactivate",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": true,
      "requiresDevhubUsername": false,
      "supportsDevhubUsername": true,
      "requiresProject": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "flow",
        "deactivate.js"
      ]
    },
    "impact:package": {
      "aliases": [],
      "args": {},
      "description": "Figures out impacted packages of a project, due to a change from the last known tags",
      "flags": {
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        },
        "basebranch": {
          "description": "The base branch on which the git tags should be used",
          "name": "basebranch",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "impact:package",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "impact",
        "package.js"
      ]
    },
    "impact:releaseconfig": {
      "aliases": [],
      "args": {},
      "description": "Figures out impacted release configurations of a project, due to a change,from the last known tags",
      "flags": {
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        },
        "branch": {
          "description": "The branch on which the comparison is carried out",
          "name": "branch",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "basebranch": {
          "description": "The base branch on which the git tags should be used from",
          "name": "basebranch",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "releaseconfig": {
          "description": "Path to the directory containing release defns",
          "name": "releaseconfig",
          "default": "config",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "explicitDependencyCheck": {
          "description": "Activate to consider dependencyOn attribut while handling impact",
          "name": "explicitDependencyCheck",
          "allowNo": false,
          "type": "boolean"
        },
        "filterBy": {
          "description": "Filter by a specific release config name",
          "name": "filterBy",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "filterByChangesInBranch": {
          "description": "Filter packages by changes with the provided branches as opposed to tags",
          "name": "filterByChangesInBranch",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "impact:releaseconfig",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "impact",
        "releaseconfig.js"
      ]
    },
    "metrics:report": {
      "aliases": [],
      "args": {},
      "description": "Report a custom metric to any sfp supported metric provider",
      "examples": [
        "$ sfp metrics:report -m <metric> -t <type> -v <value>"
      ],
      "flags": {
        "metric": {
          "char": "m",
          "description": "metrics to publish",
          "name": "metric",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "type": {
          "char": "t",
          "description": "type of metric",
          "name": "type",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "gauge",
            "counter",
            "timer"
          ],
          "type": "option"
        },
        "value": {
          "char": "v",
          "description": "value of metric",
          "name": "value",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tags": {
          "char": "g",
          "description": "tags for metric",
          "name": "tags",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "metrics:report",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "requiresProject": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "metrics",
        "report.js"
      ]
    },
    "pool:delete": {
      "aliases": [],
      "args": {},
      "description": "Deletes the pooled scratch orgs from the Scratch Org Pool",
      "examples": [
        "$ sfp pool:delete -t core ",
        "$ sfp pool:delete -t core -v devhub",
        "$ sfp pool:delete --orphans -v devhub"
      ],
      "flags": {
        "targetdevhubusername": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "targetdevhubusername",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tag": {
          "char": "t",
          "description": "tag used to identify the scratch org pool",
          "name": "tag",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "allscratchorgs": {
          "char": "a",
          "description": "Deletes all used and unused Scratch orgs from pool by the tag",
          "name": "allscratchorgs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "inprogressonly": {
          "char": "i",
          "description": "Deletes all In Progress Scratch orgs from pool by the tag",
          "exclusive": [
            "allscratchorgs"
          ],
          "name": "inprogressonly",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "orphans": {
          "char": "o",
          "description": "Recovers scratch orgs that were created by salesforce but were not tagged to sfp due to timeouts etc.",
          "name": "orphans",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "apiversion": {
          "aliases": [
            "apiversion"
          ],
          "description": "Override the api version used for api requests made by this command",
          "name": "apiversion",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "pool:delete",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "pool",
        "delete.js"
      ]
    },
    "pool:fetch": {
      "aliases": [],
      "args": {},
      "description": "Gets an active/unused scratch org from the scratch org pool",
      "examples": [
        "$ sfp pool:fetch  -t core ",
        "$ sfp pool:fetch  -t core -v devhub",
        "$ sfp pool:fetch  -t core -v devhub -m",
        "$ sfp pool:fetch  -t core -v devhub -s testuser@test.com"
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "targetdevhubusername": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "targetdevhubusername",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tag": {
          "char": "t",
          "description": "(required) tag used to identify the scratch org pool",
          "name": "tag",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "alias": {
          "char": "a",
          "description": "Fetch and set an alias for the org",
          "name": "alias",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "sendtouser": {
          "char": "s",
          "description": "Send the credentials of the fetched scratchorg to another DevHub user, Useful for situations when pool is only limited to certain users",
          "name": "sendtouser",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "setdefaultusername": {
          "char": "d",
          "description": "set the authenticated org as the default username that all commands run against",
          "name": "setdefaultusername",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "nosourcetracking": {
          "description": "Do not set source tracking while fetching the scratch org",
          "name": "nosourcetracking",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "apiversion": {
          "aliases": [
            "apiversion"
          ],
          "description": "Override the api version used for api requests made by this command",
          "name": "apiversion",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "pool:fetch",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "requiresUsername": false,
      "requiresDevhubUsername": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "pool",
        "fetch.js"
      ]
    },
    "pool:list": {
      "aliases": [],
      "args": {},
      "description": "Retrieves a list of active scratch org and details from any pool. If this command is run with -m|--mypool, the command will retrieve the passwords for the pool created by the user who is executing the command.",
      "examples": [
        "$ sfp pool:list -t core ",
        "$ sfp pool:list -t core -v devhub",
        "$ sfp pool:list -t core -v devhub -m",
        "$ sfp pool:list -t core -v devhub -m -a"
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "targetdevhubusername": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "targetdevhubusername",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "apiversion": {
          "aliases": [
            "apiversion"
          ],
          "description": "Override the api version used for api requests made by this command",
          "name": "apiversion",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tag": {
          "char": "t",
          "description": "tag used to identify the scratch org pool",
          "name": "tag",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "mypool": {
          "char": "m",
          "description": "Filter the tag for any additions created  by the executor of the command",
          "name": "mypool",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "allscratchorgs": {
          "char": "a",
          "description": "Gets all used and unused Scratch orgs from pool",
          "name": "allscratchorgs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "pool:list",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "requiresUsername": false,
      "requiresDevhubUsername": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "pool",
        "list.js"
      ]
    },
    "pool:prepare": {
      "aliases": [
        "orchestrator:prepare",
        "prepare"
      ],
      "args": {},
      "description": "Prepare a pool of scratchorgs with all the packages upfront, so that any incoming change can be validated in an optimized manner",
      "examples": [
        "$ sfp prepare -f config/mypoolconfig.json  -v <devhub>"
      ],
      "flags": {
        "targetdevhubusername": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "targetdevhubusername",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "poolconfig": {
          "char": "f",
          "description": "The path to the configuration file for creating a pool of scratch orgs",
          "name": "poolconfig",
          "required": false,
          "default": "config/poolconfig.json",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "npmrcpath": {
          "description": "Path to .npmrc file used for authentication to a npm registry when using npm based artifacts. If left blank, defaults to home directory",
          "name": "npmrcpath",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "keys": {
          "description": "Keys to be used while installing any managed package dependencies. Required format is a string of key-value pairs separated by spaces e.g. packageA:pw123 packageB:pw123 packageC:pw123",
          "name": "keys",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "logsgroupsymbol": {
          "char": "g",
          "description": "Symbol used by CICD platform to group/collapse logs in the console. Provide an opening group, and an optional closing group symbol.",
          "name": "logsgroupsymbol",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "pool:prepare",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": true,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "pool",
        "prepare.js"
      ]
    },
    "profile:merge": {
      "aliases": [],
      "args": {},
      "description": "Merge changes made in the profile directly in the org to the profile files in the local project",
      "examples": [
        "$ sfp profile:merge -o sandbox",
        "$ sfp profile:merge -f force-app -n \"My Profile\" -u sandbox",
        "$ sfp  profile:merge -f \"module1, module2, module3\" -n \"My Profile1, My profile2\"  -u sandbox"
      ],
      "flags": {
        "folder": {
          "char": "f",
          "description": "comma separated list of folders to scan for profiles. If ommited, the folders in the packageDirectories configuration will be used.",
          "name": "folder",
          "required": false,
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "profilelist": {
          "char": "n",
          "description": "comma separated list of profiles. If ommited, all the profiles found in the folder(s) will be merged",
          "name": "profilelist",
          "required": false,
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "metadata": {
          "char": "m",
          "description": "comma separated list of metadata for which the permissions will be retrieved.",
          "name": "metadata",
          "required": false,
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "delete": {
          "char": "d",
          "description": "set this flag to delete profile files that does not exist in the org.",
          "name": "delete",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "targetorg": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetorg",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "apiversion": {
          "aliases": [
            "apiversion"
          ],
          "description": "Override the api version used for api requests made by this command",
          "name": "apiversion",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "profile:merge",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": true,
      "requiresDevhubUsername": false,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "profile",
        "merge.js"
      ]
    },
    "profile:reconcile": {
      "aliases": [],
      "args": {},
      "description": "Reconcile profiles in the local directory only with the attributes that are available in the target org",
      "examples": [
        "$ sfp profile:reconcile  --folder force-app -d destfolder -s",
        "$ sfp profile:reconcile  --folder force-app,module2,module3 -o sandbox -d destfolder",
        "$ sfp profile:reconcile  -o myscratchorg -d destfolder"
      ],
      "flags": {
        "folder": {
          "char": "f",
          "description": "path to the folder which contains the profiles to be reconciled,if project contain multiple package directories, please provide a comma seperated list, if omitted, all the package directories will be checked for profiles",
          "name": "folder",
          "required": false,
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "profilelist": {
          "char": "n",
          "description": "list of profiles to be reconciled. If ommited, all the profiles components will be reconciled.",
          "name": "profilelist",
          "required": false,
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "destfolder": {
          "char": "d",
          "description": " the destination folder for reconciled profiles, if omitted existing profiles will be reconciled and will be rewritten in the current location",
          "name": "destfolder",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "sourceonly": {
          "char": "s",
          "description": "set this flag to reconcile profiles only against component available in the project only. Configure ignored perissions in sfdx-project.json file in the array plugins->sfpowerkit->ignoredPermissions.",
          "name": "sourceonly",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "targetorg": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetorg",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "apiversion": {
          "aliases": [
            "apiversion"
          ],
          "description": "Override the api version used for api requests made by this command",
          "name": "apiversion",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "profile:reconcile",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "profile",
        "reconcile.js"
      ]
    },
    "profile:retrieve": {
      "aliases": [],
      "args": {},
      "description": "Retrieve profiles from the salesforce org with all its associated permissions. Common use case for this command is  to migrate profile changes from a integration environment to other higher environments [overcomes SFDX CLI Profile retrieve issue where it doesnt fetch the full profile unless the entire metadata is present in source], or retrieving profiles from production to lower environments for testing.",
      "examples": [
        "$ sfp profile:retrieve -o prod",
        "$ sfp profile:retrieve -f force-app -n \"My Profile\" -o prod",
        "$ sfp profile:retrieve -f \"module1, module2, module3\" -n \"My Profile1, My profile2\"  -o prod"
      ],
      "flags": {
        "folder": {
          "char": "f",
          "description": "retrieve only updated versions of profiles found in this directory, If ignored, all profiles will be retrieved.",
          "name": "folder",
          "required": false,
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "profilelist": {
          "char": "n",
          "description": "comma separated list of profiles to be retrieved. Use it for selectively retrieving an existing profile or retrieving a new profile",
          "name": "profilelist",
          "required": false,
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "delete": {
          "char": "d",
          "description": "set this flag to delete profile files that does not exist in the org, when retrieving in bulk",
          "name": "delete",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "targetorg": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetorg",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "apiversion": {
          "aliases": [
            "apiversion"
          ],
          "description": "Override the api version used for api requests made by this command",
          "name": "apiversion",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "profile:retrieve",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": true,
      "requiresDevhubUsername": false,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "profile",
        "retrieve.js"
      ]
    },
    "repo:patch": {
      "aliases": [],
      "args": {},
      "description": "Generate a dynamic branch with the packages patched to the contents as mentioned in the release config file",
      "examples": [
        "$ sfp repo:patch -n <releaseName>"
      ],
      "flags": {
        "releasedefinitions": {
          "char": "p",
          "description": "Path to release definition yaml",
          "name": "releasedefinitions",
          "required": true,
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "sourcebranchname": {
          "char": "s",
          "description": "Name of the source branch to be used on which the alignment need to be applied",
          "name": "sourcebranchname",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "targetbranchname": {
          "char": "t",
          "description": "Name of the target branch to be created after the alignment",
          "name": "targetbranchname",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scriptpath": {
          "char": "f",
          "description": "(Optional: no-NPM) Path to script that authenticates and downloads artifacts from the registry",
          "name": "scriptpath",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "npm": {
          "description": "Download artifacts from a pre-authenticated private npm registry",
          "exclusive": [
            "scriptpath"
          ],
          "name": "npm",
          "allowNo": false,
          "type": "boolean"
        },
        "scope": {
          "dependsOn": [
            "npm"
          ],
          "description": "(required for NPM) User or Organisation scope of the NPM package",
          "name": "scope",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "npmrcpath": {
          "dependsOn": [
            "npm"
          ],
          "description": "Path to .npmrc file used for authentication to registry. If left blank, defaults to home directory",
          "name": "npmrcpath",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "logsgroupsymbol": {
          "char": "g",
          "description": "Symbol used by CICD platform to group/collapse logs in the console. Provide an opening group, and an optional closing group symbol.",
          "name": "logsgroupsymbol",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "repo:patch",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "repo",
        "patch.js"
      ]
    },
    "releasedefinition:generate": {
      "aliases": [],
      "args": {},
      "description": "Generates release definition based on the artifacts at the specified head of source branch/commit ref",
      "examples": [
        "$ sfp releasedefinition:generate -n <releaseName> -c <gitref> -f <configfile>"
      ],
      "flags": {
        "gitref": {
          "char": "c",
          "description": "Utilize the tags on the source branch to generate release definition",
          "name": "gitref",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "configfile": {
          "char": "f",
          "description": "Path to the release config file which determines how the release definition should be generated",
          "name": "configfile",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "releasename": {
          "char": "n",
          "description": "Set a release name on the release definition file created",
          "name": "releasename",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "branchname": {
          "char": "b",
          "description": "Repository branch in which the release definition files are to be written",
          "name": "branchname",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "directory": {
          "char": "d",
          "description": "Relative path to directory to which the release definition file should be generated, if the directory doesnt exist, it will be created",
          "name": "directory",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "nopush": {
          "description": "Do not push the changelog to a repository to the provided branch",
          "name": "nopush",
          "allowNo": false,
          "type": "boolean"
        },
        "forcepush": {
          "dependsOn": [
            "push"
          ],
          "description": "Force push changes to the repository branch",
          "name": "forcepush",
          "allowNo": false,
          "type": "boolean"
        },
        "metadata": {
          "char": "m",
          "description": "Additional metadata in json format that needs to be added to the release definition file",
          "name": "metadata",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "releasedefinition:generate",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "releasedefinition",
        "generate.js"
      ]
    },
    "validate:org": {
      "aliases": [
        "orchestrator:validateagainstorg",
        "validateAgainstOrg"
      ],
      "args": {},
      "description": "Validate a change in your project repository against a provided org",
      "examples": [
        "$ sfp validate org  -o <targetorg>"
      ],
      "flags": {
        "targetorg": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetorg",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "mode": {
          "description": "validation mode",
          "name": "mode",
          "required": true,
          "default": "thorough",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "individual",
            "fastfeedback",
            "thorough",
            "ff-release-config",
            "thorough-release-config"
          ],
          "type": "option"
        },
        "releaseconfig": {
          "aliases": [
            "domain"
          ],
          "description": "(Required if the release modes are ff-relese-config or thorough-release-config), Path to the config file which determines which impacted domains need to be validated",
          "name": "releaseconfig",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "coveragepercent": {
          "description": "Minimum required percentage coverage for validating code coverage of packages with Apex classes",
          "name": "coveragepercent",
          "default": 75,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "diffcheck": {
          "description": "Only build the packages which have changed by analyzing previous tags",
          "name": "diffcheck",
          "allowNo": false,
          "type": "boolean"
        },
        "disableartifactupdate": {
          "description": "Do not update information about deployed artifacts to the org",
          "name": "disableartifactupdate",
          "allowNo": false,
          "type": "boolean"
        },
        "logsgroupsymbol": {
          "char": "g",
          "description": "Symbol used by CICD platform to group/collapse logs in the console. Provide an opening group, and an optional closing group symbol.",
          "name": "logsgroupsymbol",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "ref": {
          "aliases": [
            "branch"
          ],
          "dependsOn": [
            "baseRef"
          ],
          "description": "The sha/ref that need to be validated, this should not be the merge ref in some ci/cd systems, rather the head ref of the branch that is proposed to be merged",
          "name": "ref",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "baseRef": {
          "aliases": [
            "basebranch"
          ],
          "description": "The sha/ref to the base commit against which this ref will be merged into, In CI/CD platforms please pass in the full sha as opposed to branch name",
          "name": "baseRef",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "orginfo": {
          "description": "Display info about the org that is used for validation",
          "name": "orginfo",
          "allowNo": false,
          "type": "boolean"
        },
        "installdeps": {
          "description": "Install dependencies during fast feedback",
          "name": "installdeps",
          "allowNo": false,
          "type": "boolean"
        },
        "devhubalias": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "devhubalias",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "disablesourcepkgoverride": {
          "dependsOn": [
            "devhubalias"
          ],
          "description": "Disables overriding unlocked package installation as source package installation during validate",
          "name": "disablesourcepkgoverride",
          "allowNo": false,
          "type": "boolean"
        },
        "disableparalleltesting": {
          "description": "Disable test execution in parallel, this will execute apex tests in serial",
          "name": "disableparalleltesting",
          "allowNo": false,
          "type": "boolean"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "validate:org",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "validate",
        "org.js"
      ]
    },
    "validate:pool": {
      "aliases": [
        "orchestrator:validate",
        "validate"
      ],
      "args": {},
      "description": "Validate a change in your project repository against a scratch org prepared by the prepare command",
      "examples": [
        "$ sfp validate -p \"POOL_TAG_1,POOL_TAG_2\" -v <devHubUsername>"
      ],
      "flags": {
        "pools": {
          "char": "p",
          "description": "Fetch scratch-org validation environment from one of listed pools, sequentially",
          "name": "pools",
          "required": true,
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "targetdevhubusername": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "targetdevhubusername",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "mode": {
          "description": "validation mode",
          "name": "mode",
          "required": true,
          "default": "thorough",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "individual",
            "fastfeedback",
            "thorough",
            "ff-release-config",
            "thorough-release-config"
          ],
          "type": "option"
        },
        "installdeps": {
          "description": "Install dependencies during fast feedback",
          "name": "installdeps",
          "allowNo": false,
          "type": "boolean"
        },
        "releaseconfig": {
          "aliases": [
            "domain"
          ],
          "description": "(Required if the release modes are ff-relese-config or thorough-release-config), Path to the config file which determines which impacted domains need to be validated",
          "name": "releaseconfig",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "coveragepercent": {
          "description": "Minimum required percentage coverage for validating code coverage of packages with Apex classes",
          "name": "coveragepercent",
          "default": 75,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "disablesourcepkgoverride": {
          "description": "Disables overriding unlocked package installation as source package installation during validate",
          "name": "disablesourcepkgoverride",
          "allowNo": false,
          "type": "boolean"
        },
        "deletescratchorg": {
          "char": "x",
          "description": "Delete scratch-org validation environment, after the command has finished running",
          "name": "deletescratchorg",
          "allowNo": false,
          "type": "boolean"
        },
        "orginfo": {
          "description": "Display info about the org that is used for validation",
          "name": "orginfo",
          "allowNo": false,
          "type": "boolean"
        },
        "keys": {
          "description": "Keys to be used while installing any managed package dependencies. Required format is a string of key-value pairs separated by spaces e.g. packageA:pw123 packageB:pw123 packageC:pw123",
          "name": "keys",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "ref": {
          "aliases": [
            "branch"
          ],
          "dependsOn": [
            "baseRef"
          ],
          "description": "The sha/ref that need to be validated, this should not be the merge ref in some ci/cd systems, rather the head ref of the branch that is proposed to be merged",
          "name": "ref",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "baseRef": {
          "aliases": [
            "basebranch"
          ],
          "description": "The sha/ref to the base commit against which this ref will be merged into, In CI/CD platforms please pass in the full sha as opposed to branch name",
          "name": "baseRef",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tag": {
          "description": "Tag the build with a label, useful to identify in metrics",
          "name": "tag",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "disableparalleltesting": {
          "description": "Disable test execution in parallel, this will execute apex tests in serial",
          "name": "disableparalleltesting",
          "allowNo": false,
          "type": "boolean"
        },
        "disablediffcheck": {
          "description": "Disables diff check while validating, this will validate all the packages in the repository",
          "name": "disablediffcheck",
          "allowNo": false,
          "type": "boolean"
        },
        "disableartifactupdate": {
          "deprecated": {
            "message": "disableartifactupdate flag is deprecated, Artifacts used for validation are never recorded in the org "
          },
          "description": "Do not update information about deployed artifacts to the org",
          "name": "disableartifactupdate",
          "allowNo": false,
          "type": "boolean"
        },
        "logsgroupsymbol": {
          "char": "g",
          "description": "Symbol used by CICD platform to group/collapse logs in the console. Provide an opening group, and an optional closing group symbol.",
          "name": "logsgroupsymbol",
          "delimiter": ",",
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "validate:pool",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": true,
      "requiresProject": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "validate",
        "pool.js"
      ]
    },
    "org:login:url": {
      "aliases": [],
      "args": {},
      "description": "The Salesforce DX authorization URL must have the format \"force://<clientId>:<clientSecret>:<refreshToken>@<instanceUrl>\". NOTE: The SFDX authorization URL uses the \"force\" protocol, and not \"http\" or \"https\". Also, the \"instanceUrl\" inside the SFDX authorization URL doesn't include the protocol (\"https://\").\n\nYou have two options when creating the authorization file.\n\nYou can create a JSON file that has a top-level property named sfdxAuthUrl whose value is the authorization URL. Finally, you can create a normal text file that includes just the URL and nothing else.\n\nThe resulting JSON file contains the URL in the \"sfdxAuthUrl\" property of the \"result\" object. You can then reference the file when running this command:\n\n    $ <%= config.bin %> <%= command.id %> --url-file authFile.json\n\nAlternatively, you can pipe the SFDX authorization URL through standard input by using the --url-stdin flag and providing the '-' character as the value.",
      "examples": [
        "$ sfp org:login:url --url-file files/authFile.json"
      ],
      "flags": {
        "url-file": {
          "char": "f",
          "description": "Path to a file that contains the Salesforce DX authorization URL.",
          "name": "url-file",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "url-stdin": {
          "char": "u",
          "description": "Specify '-' as this flag's value to pipe the Salesforce DX authorization URL through standard input (stdin).",
          "name": "url-stdin",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "set-default-dev-hub": {
          "char": "d",
          "description": "Set the authenticated org as the default Dev Hub.",
          "name": "set-default-dev-hub",
          "allowNo": false,
          "type": "boolean"
        },
        "set-default": {
          "char": "s",
          "description": "Set the authenticated org as the default that all org-related commands run against.",
          "name": "set-default",
          "allowNo": false,
          "type": "boolean"
        },
        "alias": {
          "char": "a",
          "description": "Alias for the org.",
          "name": "alias",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "org:login:url",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": false,
      "requiresProject": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "org",
        "login",
        "url.js"
      ]
    },
    "pool:metrics:publish": {
      "aliases": [],
      "args": {},
      "description": "Publish metrics about scratch org pools to your observability platform, via StatsD or direct APIs for supported platforms",
      "examples": [
        "$ sfp pool:metrics:publish -v <myDevHub>"
      ],
      "flags": {
        "targetdevhubusername": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "targetdevhubusername",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "pool:metrics:publish",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": true,
      "requiresProject": false,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "pool",
        "metrics",
        "publish.js"
      ]
    },
    "pool:org:delete": {
      "aliases": [],
      "args": {},
      "description": "Deletes a particular scratch org in the pool, This command is to be used in a pipeline with correct permissions to delete any active scratch org record or to be used by an adminsitrator",
      "examples": [
        "$ sfp pool:org:delete -o test-xasdasd@example.com -v devhub"
      ],
      "flags": {
        "apiversion": {
          "aliases": [
            "apiversion"
          ],
          "description": "Override the api version used for api requests made by this command",
          "name": "apiversion",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "targetusername": {
          "aliases": [
            "targetusername",
            "u",
            "o"
          ],
          "char": "o",
          "name": "targetusername",
          "required": true,
          "summary": "Username or alias of the target org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "targetdevhubusername": {
          "aliases": [
            "targetdevhubusername"
          ],
          "char": "v",
          "name": "targetdevhubusername",
          "required": true,
          "summary": "Username or alias of the Dev Hub org.",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "loglevel": {
          "description": "logging level for this command invocation",
          "name": "loglevel",
          "required": false,
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "trace",
            "debug",
            "info",
            "warn",
            "error",
            "fatal",
            "TRACE",
            "DEBUG",
            "INFO",
            "WARN",
            "ERROR",
            "FATAL"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "pool:org:delete",
      "pluginAlias": "@petter-eikeland-sopra/sfp",
      "pluginName": "@petter-eikeland-sopra/sfp",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "requiresUsername": false,
      "requiresDevhubUsername": true,
      "isESM": false,
      "relativePath": [
        "lib",
        "commands",
        "pool",
        "org",
        "delete.js"
      ]
    }
  },
  "version": "39.8.4"
}