{
  "markdown": "# @provartesting/provardx-cli\n\n[![Version](https://img.shields.io/npm/v/@provartesting/provardx-cli.svg)](https://npmjs.org/package/@provartesting/provardx-cli)\n[![Downloads/week](https://img.shields.io/npm/dw/@provartesting/provardx-cli.svg)](https://npmjs.org/package/@provartesting/provardx-cli)\n[![License](https://img.shields.io/npm/l/@provartesting/provardx-cli.svg)](https://github.com/ProvarTesting/provardx-cli/blob/main/LICENSE.md)\n[![Get Access](https://img.shields.io/badge/Quality%20Hub%20API-Get%20Access-blue)](https://aqqlrlhga7.execute-api.us-east-1.amazonaws.com/dev/auth/request-access)\n\n# What is the ProvarDX CLI?\n\nThe Provar DX CLI is a Salesforce CLI plugin for Provar customers who want to automate the execution of tests using Provar Automation, and the reporting of test results and other quality-related metrics to Provar Quality Hub.\n\n# Installation, Update, and Uninstall\n\n**Requires Node.js 18–24 (LTS 22 recommended).** Node 25+ is not yet supported due to a breaking change in a transitive dependency. Check with `node --version`.\n\nInstall the plugin\n\n```sh-session\n$ sf plugins install @provartesting/provardx-cli\n```\n\nUpdate plugins\n\n```sh-session\n$ sf plugins update\n```\n\nUninstall the plugin\n\n```sh-session\n$ sf plugins uninstall @provartesting/provardx-cli\n```\n\n# MCP Server (AI-Assisted Quality)\n\nThe Provar DX CLI includes a built-in **Model Context Protocol (MCP) server** that connects AI assistants (Claude Desktop, Claude Code, Cursor) directly to your Provar project. Once connected, an AI agent can inspect your project structure, generate Page Objects and test cases, validate every level of the test hierarchy with quality scores, and work with NitroX (Hybrid Model) component page objects for LWC, Screen Flow, Industry Components, Experience Cloud, and HTML5.\n\nValidation runs in two modes: **local only** (structural rules, no key required) or **Quality Hub API** (170+ rules, quality scoring — requires a `pv_k_` API key). Don't have an account? **[Request access](https://aqqlrlhga7.execute-api.us-east-1.amazonaws.com/dev/auth/request-access)**.\n\n## Quick setup\n\n**Requires:** Provar Automation IDE installed with an activated license. Node.js 18–24 must be on your PATH.\n\n### Option A — Zero-install (recommended for Claude Desktop)\n\nNo prior setup needed. Paste this into your Claude Desktop config file and restart the app:\n\n- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"provar\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@provartesting/provardx-cli\", \"mcp\", \"start\", \"--allowed-paths\", \"/path/to/your/provar/project\"]\n    }\n  }\n}\n```\n\n`npx -y` downloads the package automatically on first use — no `sf` or separate install step required.\n\n**Claude Code** — run once to register the server:\n\n```sh\nclaude mcp add provar -s user -- npx -y @provartesting/provardx-cli mcp start --allowed-paths /path/to/your/provar/project\n```\n\n### Option B — Global sf plugin install\n\nPrefer a persistent global install? Install once, then use the `sf` command:\n\n```sh\n# 1. Install the plugin\nsf plugins install @provartesting/provardx-cli\n\n# 2. (Optional) Authenticate for full 170+ rule validation\nsf provar auth login\n```\n\n**Claude Desktop** config using the global install:\n\n```json\n{\n  \"mcpServers\": {\n    \"provar\": {\n      \"command\": \"sf\",\n      \"args\": [\"provar\", \"mcp\", \"start\", \"--allowed-paths\", \"/path/to/your/provar/project\"]\n    }\n  }\n}\n```\n\n> **Windows (Claude Desktop):** Use `sf.cmd` instead of `sf` if the server fails to start.\n\n**Claude Code** using the global install:\n\n```sh\nclaude mcp add provar -s user -- sf provar mcp start --allowed-paths /path/to/your/provar/project\n```\n\n📖 **[docs/mcp.md](https://github.com/ProvarTesting/provardx-cli/blob/main/docs/mcp.md) — full setup, all 43 tools, 6 resources, 11 MCP prompts, troubleshooting.**\n\n---\n\n# Commands\n\n- [`sf provar auth login`](#sf-provar-auth-login)\n- [`sf provar auth rotate`](#sf-provar-auth-rotate)\n- [`sf provar auth status`](#sf-provar-auth-status)\n- [`sf provar auth clear`](#sf-provar-auth-clear)\n- [`sf provar mcp start`](#sf-provar-mcp-start)\n- [`sf provar config get`](#sf-provar-config-get)\n- [`sf provar config set`](#sf-provar-config-set)\n- [`sf provar automation config generate`](#sf-provar-automation-config-generate)\n- [`sf provar automation config load`](#sf-provar-automation-config-load)\n- [`sf provar automation config validate`](#sf-provar-automation-config-validate)\n- [`sf provar automation config get`](#sf-provar-automation-config-get)\n- [`sf provar automation config set`](#sf-provar-automation-config-set)\n- [`sf provar automation setup`](#sf-provar-automation-setup)\n- [`sf provar automation project compile`](#sf-provar-automation-project-compile)\n- [`sf provar automation metadata download`](#sf-provar-automation-metadata-download)\n- [`sf provar automation test run`](#sf-provar-automation-test-run)\n- [`sf provar quality-hub connect`](#sf-provar-quality-hub-connect)\n- [`sf provar quality-hub display`](#sf-provar-quality-hub-display)\n- [`sf provar quality-hub open`](#sf-provar-quality-hub-open)\n- [`sf provar quality-hub testcase retrieve`](#sf-provar-quality-hub-testcase-retrieve)\n- [`sf provar quality-hub test run`](#sf-provar-quality-hub-test-run)\n- [`sf provar quality-hub test run report`](#sf-provar-quality-hub-test-run-report)\n- [`sf provar quality-hub test run abort`](#sf-provar-quality-hub-test-run-abort)\n- [`sf provar manager connect`](#sf-provar-manager-connect) _(deprecated — use `sf provar quality-hub connect`)_\n- [`sf provar manager display`](#sf-provar-manager-display) _(deprecated — use `sf provar quality-hub display`)_\n- [`sf provar manager open`](#sf-provar-manager-open) _(deprecated — use `sf provar quality-hub open`)_\n- [`sf provar manager testcase retrieve`](#sf-provar-manager-testcase-retrieve) _(deprecated — use `sf provar quality-hub testcase retrieve`)_\n- [`sf provar manager test run`](#sf-provar-manager-test-run) _(deprecated — use `sf provar quality-hub test run`)_\n- [`sf provar manager test run report`](#sf-provar-manager-test-run-report) _(deprecated — use `sf provar quality-hub test run report`)_\n- [`sf provar manager test run abort`](#sf-provar-manager-test-run-abort) _(deprecated — use `sf provar quality-hub test run abort`)_\n\n## `sf provar auth login`\n\nLog in to Provar Quality Hub and store your API key.\n\n```\nUSAGE\n  $ sf provar auth login [--url <value>]\n\nFLAGS\n  --url=<value>  Override the Quality Hub API base URL (for non-production environments).\n\nDESCRIPTION\n  Opens a browser to the Provar login page. After you authenticate, your API key is\n  stored at ~/.provar/credentials.json and used automatically by the Provar MCP tools\n  and CI/CD integrations. The key is valid for approximately 90 days.\n\n  For CI/CD pipelines (GitHub Actions, Jenkins, etc.) where a browser cannot open:\n  run sf provar auth login once on your local machine, copy the api_key value from\n  ~/.provar/credentials.json, and store it as the PROVAR_API_KEY environment variable\n  or secret in your pipeline. Rotate the secret every ~90 days when the key expires.\n\n  Don't have an account? Request access at:\n  https://aqqlrlhga7.execute-api.us-east-1.amazonaws.com/dev/auth/request-access\n\nEXAMPLES\n  Log in interactively:\n\n    $ sf provar auth login\n\n  Log in against a staging environment:\n\n    $ sf provar auth login --url https://dev.api.example.com\n```\n\n## `sf provar auth rotate`\n\nRotate your stored API key without re-authenticating via browser.\n\n```\nUSAGE\n  $ sf provar auth rotate\n\nDESCRIPTION\n  Exchanges your current pv_k_ key for a new one atomically. The old key is\n  invalidated immediately. The new key is written to ~/.provar/credentials.json.\n\n  Use this to rotate your key on a regular schedule (~every 90 days) without\n  going through the browser login flow. If your current key is already expired,\n  run sf provar auth login instead.\n\nEXAMPLES\n  Rotate the stored API key:\n\n    $ sf provar auth rotate\n```\n\n## `sf provar auth status`\n\nShow the current API key configuration and validate it against Quality Hub.\n\n```\nUSAGE\n  $ sf provar auth status\n\nDESCRIPTION\n  Reports whether an API key is configured, where it came from (environment variable\n  or credentials file), and performs a live check against the Quality Hub API to\n  confirm the key is still valid.\n\nEXAMPLES\n  Check auth status:\n\n    $ sf provar auth status\n```\n\n## `sf provar auth clear`\n\nRemove the stored API key.\n\n```\nUSAGE\n  $ sf provar auth clear\n\nDESCRIPTION\n  Deletes ~/.provar/credentials.json and revokes the key server-side. After clearing,\n  the MCP tools fall back to local validation mode. Has no effect if no key is stored.\n\nEXAMPLES\n  Remove the stored key:\n\n    $ sf provar auth clear\n```\n\n## `sf provar mcp start`\n\nStart a local MCP server for Provar tools over stdio transport.\n\n```\nUSAGE\n  $ sf provar mcp start [-a <value>...]\n\nFLAGS\n  -a, --allowed-paths=<value>...  Allowed base directory paths for file operations.\n                                  Defaults to the current working directory.\n                                  Repeat the flag to allow multiple paths.\n\nDESCRIPTION\n  Launches a stateless MCP (Model Context Protocol) server that exposes Provar tools\n  to AI assistants (Claude Desktop, Claude Code, Cursor) via stdio transport. All MCP\n  JSON-RPC communication happens over stdout; all internal logging goes to stderr.\n\n  Note: --json is not available on this command — stdout is reserved for MCP traffic.\n\nTOOLS EXPOSED\n  43 tools across: project inspection & org describe, Page Object and test-case\n  authoring/validation, test-suite/plan validation, properties files, Quality Hub\n  (test runs, defects, corpus examples), Provar Automation, ANT build, and NitroX\n  components. See docs/mcp.md for the full catalogue with schemas and examples.\n\nEXAMPLES\n  Start MCP server (accepts stdio connections from Claude Desktop / Cursor):\n\n    $ sf provar mcp start\n\n  Start with an explicit allowed path:\n\n    $ sf provar mcp start --allowed-paths /workspace/provar\n\n  Allow multiple directories:\n\n    $ sf provar mcp start -a /workspace/project-a -a /workspace/project-b\n```\n\n📖 **Full tool documentation and client configuration: [docs/mcp.md](https://github.com/ProvarTesting/provardx-cli/blob/main/docs/mcp.md)**\n\n## `sf provar config get`\n\nRetrieve a value from the specified JSON file.\n\n```\nUSAGE\n  $ sf provar config get -f <value> [--json]\n\nFLAGS\n  -f, --file-path=<value>  (required) File path of the JSON file to get the property value from.\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Retrieve a value from the specified JSON file.\n\nEXAMPLES\n  Get the testEnvironment value within the environment property from the config.json file:\n\n    $ sf provar config get environment.testEnvironment -f config.json\n```\n\n## `sf provar config set`\n\nSet one or more properties in the specified JSON file.\n\n```\nUSAGE\n  $ sf provar config set [--json]\n\nFLAGS\n  -f, --file-path=<value>  (required) File path of the JSON file to get the property value from.\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Set one or more properties in the specified JSON file.\n\nEXAMPLES\n  Set the environment to “SIT” in the config.json properties file:\n\n    $ sf provar config set environment.testEnvironment=\"SIT\" -f config.json\n\n  Set the testEnvironment to “SIT” and the webBrowser to “Chrome”, within the environment property.\n\n    $ sf provar config set environment.testEnvironment=\"SIT\" environment.webBrowser=\"Chrome\" -f config.json\n\n  Set testCases to a list of test case paths in the config.json properties file.\n\n    $ sf provar config set testCases='[\"tests/myTestCase.testcase\",\"tests/testSuite1/myTestCase1.testCase\"]' -f config.json\n```\n\n## `sf provar automation config generate`\n\nGenerate a boilerplate ProvarDX properties file.\n\n```\nUSAGE\n  $ sf provar automation config generate [--json] [-p <value>]\n\nFLAGS\n -p, --properties-file=<value>    (required) Path to the properties file that will be generated.\n -n, --no-prompt                  Don't prompt to confirm file should be overwritten.\n\nGLOBAL FLAGS\n  --json    Format output as json.\n\nDESCRIPTION\n  Generate a boilerplate property file.\n\nEXAMPLES\n  Generate a basic properties file named provardx-properties.json:\n\n    $ sf provar automation config generate -p provardx-properties.json\n```\n\n## `sf provar automation config load`\n\nValidate and load a ProvarDX properties file for later use.\n\n```\nUSAGE\n  $ sf provar automation config load -p <value> [--json]\n\nFLAGS\n  -p, --properties-file=<value>  (required) Path of the properties file to be loaded.\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Validate and load a ProvarDX properties file for later use.\n\nEXAMPLES\n  Validate that the myproperties.json file is valid.\n\n    $ sf provar automation config load -p myproperties.json\n```\n\n## `sf provar automation config validate`\n\nCheck if the loaded properties file has all the required properties set.\n\n```\nUSAGE\n  $ sf provar automation config validate [--json]\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Check if the loaded properties file has all the required properties set.\n\nEXAMPLES\n  Check if the loaded properties file has all the required properties set:\n\n    $ sf provar automation config validate\n```\n\n## `sf provar automation config get`\n\nRetrieve a value from the loaded properties file.\n\n```\nUSAGE\n  $ sf provar automation config get [--json]\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Retrieve a value from the loaded properties file.\n\nEXAMPLES\n  Get the testEnvironment property value from the provardx-properties.json properties file:\n\n    $ sf provar automation config get environment.testEnvironment\n```\n\n## `sf provar automation config set`\n\nSet one or more properties in the loaded properties file.\n\n```\nUSAGE\n  $ sf provar automation config set [--json]\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Set one or more properties in the loaded properties file.\n\nEXAMPLES\n  Set the environment to \"SIT” in the provardx-properties.json properties file:\n\n    $ sf provar automation config set environment.testEnvironment=\"SIT\"\n\n  Set the testEnvironment to \"SIT” and the webBrowser to \"Chrome”, within the environment property:\n\n    $ sf provar automation config set environment.testEnvironment=\"SIT\" environment.webBrowser=\"Chrome\"\n\n  Set testCases to a list of test case paths in the provardx-properties.json properties file:\n\n    $ sf provar automation config set testCases='[\"tests/myTestCase.testcase\",\"tests/testSuite1/myTestCase1.testCase\"]'\n```\n\n## `sf provar automation setup`\n\nDownload and install Provar Automation.\n\n```\nUSAGE\n  $ sf provar automation setup [--json] [-v <value>]\n\nFLAGS\n  -v, --version=<value>  Provar Automation build version number.\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Download and install Provar Automation.\n\nEXAMPLES\n  Install version Provar Automation version 2.12.1:\n\n    $ sf provar automation setup --version 2.12.1\n```\n\n## `sf provar automation project compile`\n\nCompile PageObject and PageControl Java source files into object code.\n\n```\nUSAGE\n  $ sf provar automation project compile [--json]\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Compile PageObject and PageControl Java source files into object code.\n\nEXAMPLES\n  Compile the project using the configuration set in the properties file:\n\n    $ sf provar automation project compile\n```\n\n## `sf provar automation metadata download`\n\nDownload any required metadata for a specified Provar Salesforce connection.\n\n```\nUSAGE\n  $ sf provar automation metadata download -c <value> [--json]\n\nFLAGS\n  -c, --connections=<value>  (required) Comma-separated list of names of Provar Salesforce connections to use, as defined in the project.\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Download any required metadata for a specified Provar Salesforce connection.\n\nEXAMPLES\n  Refresh metadata for the MySalesforceConnection connection and store it in folder set in the properties file:\n\n    $ sf provar automation metadata download -c MySalesforceConnection\n```\n\n## `sf provar automation test run`\n\nRun the tests as specified in the loaded properties file.\n\n```\nUSAGE\n  $ sf provar automation test run [--json]\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Run the tests as specified in the loaded properties file.\n\nEXAMPLES\n  Run the tests as specified in the loaded properties file:\n\n    $ sf provar automation test run\n```\n\n## `sf provar quality-hub connect`\n\nConnect to a Provar Quality Hub org.\n\n```\nUSAGE\n  $ sf provar quality-hub connect -o <value> [--json]\n\nFLAGS\n  -o, --target-org=<value>  (required) Username or alias set in the SF CLI which corresponds to the Provar Quality Hub org.\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Load the alias or username to be used in subsequent Quality Hub commands.\n\nEXAMPLES\n  Connect to the Quality Hub org stored with alias \"ProvarQualityHub\":\n\n    $ sf provar quality-hub connect -o ProvarQualityHub\n```\n\n## `sf provar quality-hub display`\n\nDisplay information about the connected Provar Quality Hub org.\n\n```\nUSAGE\n  $ sf provar quality-hub display [--json]\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nEXAMPLES\n  Display information about the connected Quality Hub org:\n\n    $ sf provar quality-hub display\n```\n\n## `sf provar quality-hub open`\n\nOpen Provar Quality Hub in a browser.\n\n```\nUSAGE\n  $ sf provar quality-hub open [--json]\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nEXAMPLES\n  Open Quality Hub in a browser:\n\n    $ sf provar quality-hub open\n```\n\n## `sf provar quality-hub testcase retrieve`\n\nRetrieve test cases related to the provided user stories or metadata components.\n\n```\nUSAGE\n  $ sf provar quality-hub testcase retrieve -p <value> -t Apex|ProvarAutomation [--json] [-m <value>] [-f <value>] [-i <value>] [-o <value>] [-n <value>] [-l <value>]\n\nFLAGS\n  -f, --metadata-file=<value>          Path to a text file containing the list of metadata components.\n  -i, --issues=<value>                 Comma-separated list of issue IDs or keys.\n  -l, --test-plan=<value>              Test Plan name. Use to retrieve test instance file paths.\n  -m, --metadata-components=<value>    Semicolon-separated list of metadata components.\n  -n, --ignore-metadata=<value>        Semicolon-separated list of metadata types to ignore.\n  -o, --output=<value>                 Output to a specific file instead of stdout.\n  -p, --test-project=<value>           (required) Test Project key to filter by.\n  -t, --test-automation-tool=<option>  (required) <options: Apex|ProvarAutomation>\n\nEXAMPLES\n  Retrieve Provar Automation test cases for user story \"TM-766\":\n\n    $ sf provar quality-hub testcase retrieve -p PAT -t ProvarAutomation -i \"TM-766\" --json\n```\n\n## `sf provar quality-hub test run`\n\nRun tests via Provar Quality Hub.\n\n```\nUSAGE\n  $ sf provar quality-hub test run -f <value> [--json] [-y] [-w <value>] [-p <value>] [-o <value>] [-r <value>]\n\nFLAGS\n  -f, --configuration-file=<value>  (required) Path to the configuration file.\n  -o, --output=<value>              Output to a specific file instead of stdout.\n  -p, --polling-interval=<value>    [default: 60] Polling interval in seconds.\n  -r, --result-format=<value>       [default: human] Format of the test results.\n  -w, --wait=<value>                Polling timeout in minutes.\n  -y, --synchronous                 Run synchronously.\n\nEXAMPLES\n  Run tests and store results as JSON:\n\n    $ sf provar quality-hub test run -f config/run-grid-tests.json -w 10 -p 30 -r json -o results.json\n```\n\n## `sf provar quality-hub test run report`\n\nCheck or poll for the status of a Quality Hub test run.\n\n```\nUSAGE\n  $ sf provar quality-hub test run report -i <value> [--json] [-r <value>] [-o <value>]\n\nFLAGS\n  -i, --test-run=<value>       (required) Test run ID.\n  -o, --output=<value>         Output to a specific file instead of stdout.\n  -r, --result-format=<value>  [default: human] Format of the test results.\n\nEXAMPLES\n  Retrieve results for a test run:\n\n    $ sf provar quality-hub test run report -i 45f70417-df21-4917-a667-abc2ee46dc63 -r json -o results.json\n```\n\n## `sf provar quality-hub test run abort`\n\nAbort an in-progress test run triggered via Provar Quality Hub.\n\n```\nUSAGE\n  $ sf provar quality-hub test run abort -i <value> [--json] [-p <value>] [-w <value>]\n\nFLAGS\n  -i, --test-run=<value>          (required) Test run ID.\n  -p, --polling-interval=<value>  [default: 30] Polling interval in seconds.\n  -w, --wait=<value>              [default: 2] Polling timeout in minutes.\n\nEXAMPLES\n  Abort a test run:\n\n    $ sf provar quality-hub test run abort -i 45f70417-df21-4917-a667-abc2ee46dc63\n```\n\n---\n\n> **Deprecated commands:** The `sf provar manager *` commands below are retained for backwards compatibility and will print a deprecation warning when used. Use the equivalent `sf provar quality-hub *` commands above for all new pipelines.\n\n---\n\n## `sf provar manager connect`\n\nLoad the alias or username to be used in subsequent commands to connect to Provar Manager.\n\n```\nUSAGE\n  $ sf provar manager connect -o <value> [--json]\n\nFLAGS\n  -o, --target-org=<value>  (required) Username or alias set in the SF CLI which corresponds to the Provar Manager org.\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Load the alias or username to be used in subsequent commands to connect to Provar Manager.\n\nEXAMPLES\n  Connect to the Provar Manager org that has been previously authorised using the SF CLI, and stored with the alias \"ProvarManager\":\n\n    $ sf provar manager connect -o ProvarManager\n```\n\n## `sf provar manager display`\n\nDisplay information about the connected Provar Manager org.\n\n```\nUSAGE\n  $ sf provar manager display [--json]\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Display information about the connected Provar Manager org.\n\nEXAMPLES\n  Display information about the connected Provar Manager org:\n\n    $ sf provar manager display\n```\n\n## `sf provar manager open`\n\nOpen Provar Manager in a browser.\n\n```\nUSAGE\n  $ sf provar manager open [--json]\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Open Provar Manager in a browser.\n\nEXAMPLES\n  Open Provar Manager in a browser:\n\n    $ sf provar manager open\n```\n\n## `sf provar manager testcase retrieve`\n\nRetrieve test cases related to the provided user stories (issues) or metadata components, for a given test project.\n\n```\nUSAGE\n  $ sf provar manager testcase retrieve -p <value> -t Apex|ProvarAutomation [--json] [--flags-dir <value>] [-m <value>] [-f <value>] [-i <value>] [-o <value>] [-n <value>] [-l <value>]\n\nFLAGS\n  -f, --metadata-file=<value>          Path to a text file that contains the list of metadata components in source format.\n  -i, --issues=<value>                 A comma-separated list of issue IDs, keys, or external IDs.\n  -l, --test-plan=<value>              Test Plan Name. Use if you want to retrieve test instance file paths.\n  -m, --metadata-components=<value>    Semicolon-separated list of metadata components, grouped and prefixed by their metadata type.\n  -n, --ignore-metadata=<value>        Semicolon-separated list of metadata types to ignore from METADATA-COMPONENTS or METADATA-FILE.\n  -o, --output=<value>                 Output to a specific file instead of stdout.\n  -p, --test-project=<value>           (required) Test Project key to filter by.\n  -t, --test-automation-tool=<option>  (required) Test Automation tool used to automate the tests.\n                                       <options: Apex|ProvarAutomation>\n\nDESCRIPTION\n  Retrieve test cases related to the provided user stories (issues) or metadata components, for a given test project.\n\nEXAMPLES\n  Retrieve Apex unit test class ids from the test project \"Salesforce Project\" with key \"SFP\" that cover the \"NewLeadFormController\" and \"ExistingLeadFormController\" Apex classes:\n\n    $ sf provar manager testcase retrieve -p SFP -t Apex -m \"ApexClass:NewLeadFormController,ExistingLeadFormController\"\n\n  Retrieve Provar Automation test case paths from the test project with key \"PAT\" related to the user story with key \"TM-766\", in JSON format:\n\n    $ sf provar manager testcase retrieve -p PAT -t ProvarAutomation -i \"TM-766\" --json\n\n  Retrieve Provar Automation test case paths from the test project with key \"PAT\" related to the metadata listed in the file \"changes.txt\", ignoring changes to custom objects, output to \"testcases.txt\":\n\n    $ sf provar manager testcase retrieve -p PAT -t ProvarAutomation -f changes.txt -n CustomObject -o testcases.txt\n\n  Example of a list of metadata changes:\n\n    base/main/default/layouts/Release__c-Release Layout.layout-meta.xml\n    base/main/default/objects/Sprint__c/fields/Sprint_Goal__c.field-meta.xml\n\n```\n\n## `sf provar manager test run`\n\nRun tests via Provar Manager.\n\n```\nUSAGE\n  $ sf provar manager test run -f <value> [--json] [-y] [-w <value>] [-p <value>] [-o <value>] [-r <value>]\n\nFLAGS\n  -f, --configuration-file=<value>  (required) Path to the configuration file.\n  -o, --output=<value>              Output to a specific file instead of stdout.\n  -p, --polling-interval=<value>    [default: 60] Sets the polling interval in seconds. Default is 60 seconds.\n  -r, --result-format=<value>       [default: human] Format of the test results.\n  -w, --wait=<value>                Sets the polling timeout in minutes.\n  -y, --synchronous                 Runs command synchronously; if not specified, the command is run asynchronously.\n\nGLOBAL FLAGS\n  --json               Format output as json.\n\nDESCRIPTION\n  Run tests via Provar Manager.\n\nEXAMPLES\n  Run tests as per the config/run-grid-test.json configuration file, wait 10 minutes, poll every 30 seconds, and store the results as JSON in the results.json file:\n\n    $ sf provar manager test run -f config/run-grid-tests.json -w 10 -p 30 -r json -o results.json\n\n  Run tests as per the config/run-grid-test.json configuration file, wait 20 minutes, and store the results as JUnit in the junit-results.xml file:\n\n    $ sf provar manager test run -f config/run-grid-tests.json -w 20 -r junit -o junit-results.xml\n\n```\n\n## `sf provar manager test run report`\n\nCheck or poll for the status of a test run operation.\n\n```\nUSAGE\n  $ sf provar manager test run report -i <value> [--json] [-r <value>] [-o <value>]\n\nFLAGS\n  -i, --test-run=<value>       (required) Test run ID.\n  -o, --output=<value>         Output to a specific file instead of stdout.\n  -r, --result-format=<value>  [default: human] Format of the test results.\n\nGLOBAL FLAGS\n  --json               Format output as json.\n\nDESCRIPTION\n  Check or poll for the status of a test run operation.\n\nEXAMPLES\n  Retrieve results for test run 45f70417-df21-4917-a667-abc2ee46dc63 and store the results as JSON in the results.json file\n\n    $ sf provar manager test run report -i 45f70417-df21-4917-a667-abc2ee46dc63 -r json -o results.json\n\n  Retrieve results for test run 45f70417-df21-4917-a667-abc2ee46dc63 and store the results as JUnit in the junit-results.xml file:\n\n    $ sf provar manager test run report -i 45f70417-df21-4917-a667-abc2ee46dc63 -r junit -o junit-results.xml\n\n```\n\n## `sf provar manager test run abort`\n\nAbort an in-progress test run triggered via Provar Manager.\n\n```\nUSAGE\n  $ sf provar manager test run abort -i <value> [--json] [-p <value>] [-w <value>]\n\nFLAGS\n  -i, --test-run=<value>          (required) Test run ID.\n  -p, --polling-interval=<value>  [default: 30] Sets the polling interval in\n                                  seconds. Default is 30 seconds.\n  -w, --wait=<value>              [default: 2] Sets the polling timeout in\n                                  minutes. Default is 2 minutes.\n\nGLOBAL FLAGS\n  --json               Format output as json.\n\nDESCRIPTION\n  Abort an in-progress test run triggered via Provar Manager.\n\nEXAMPLES\n  Abort test run with ID 45f70417-df21-4917-a667-abc2ee46dc63\n\n    $ sf provar manager test run abort -i 45f70417-df21-4917-a667-abc2ee46dc63\n\n```\n",
  "bytes": 28088,
  "sha": "7c3cc101f3de77d5e6e9d6fdbeaba8811ba6c7e5326eb0c82c5817d82bdf9cf2",
  "repo_slug": "provartesting/provardx-cli",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_provartesting_provar_7abc1c5b/readme"
}