What the plugin does
valbuddy-cli is an Agent Plugin that packages one skill, PowerShell wrappers, recipes, and a versioned command contract. The wrappers locate and invoke valbuddy.exe for JSON and JSON Schema validation, XML/XSD validation, well-formedness checks, JSON minification, and explicitly selected advanced operations.
The plugin has no binary, MCP server, hook, custom agent, background service, downloader, credential store, or elevation request. valbuddy.exe is installed separately and performs the validation or transformation.
License boundary and functionality
The wrapper files under plugins/valbuddy-cli are MIT-licensed. That license does not apply to JSONBuddy, XML ValidatorBuddy, or valbuddy.exe; the executable is proprietary, closed-source software governed by its product license.
Local JSON and JSON Schema validation, XML validation, well-formedness checks, and JSON minification are permanently free for commercial and personal use. The following operations require a paid license after evaluation: settings-XML batch automation, JSON Patch (-patch), JSON Schema linting (-jsl), JSON pretty-printing (-jspp), JSON Schema tests (-jst), and JSON-to-CSV conversion (-j2csv). JSON Schema documentation (-jsdoc) remains free for local schemas smaller than 50 KB after evaluation; streaming validation (-jsv) requires a JSONBuddy Large Data license.
Executable source, version, and integrity
Obtain the Windows portable package through the official JSONBuddy download page. The reviewed package is JSONBuddyPortable-x64-UnicodeRelease-7.4.0.34.zip; its included ValBuddy.exe reports file and product version 7.4.1.0, company Clemens Uhlenhut, and product XML ValidatorBuddy.
The current executable is unsigned, so an Authenticode publisher rule is not available. Approve each release by file source and SHA-256. For build 7.4.0.34, the published ZIP SHA-256 is bb6275dee2cefe85b40b7273dacddd3894b61996a870e5911b8bd8c7f4b2e065.
Get-FileHash .\JSONBuddyPortable-x64-UnicodeRelease-7.4.0.34.zip -Algorithm SHA256
For a controlled plugin rollout, review tag valbuddy-cli-v1.0.1 and pin the JSONBuddy marketplace source to an approved full commit SHA. A full SHA is stronger evidence than a movable branch name; do not treat a tag name alone as a cryptographic signature.
Installation and updates
Copilot downloads the plugin source from github.com/Clemens-U/jsonbuddy when an administrator or user adds the marketplace and installs valbuddy-cli@jsonbuddy. The plugin never downloads valbuddy.exe. Deploy the executable separately to a reviewed path and, when needed, set VALBUDDY_EXE.
The wrapper resolves the executable in this order: explicit -ValBuddyPath, VALBUDDY_EXE, valbuddy.exe on PATH, then JSONBuddy or XML ValidatorBuddy under 64-bit or 32-bit Program Files. Enterprise deployments should set one explicit approved path and restrict changes to it.
Automatic marketplace and plugin updates are an administrator choice. Managed extraKnownMarketplaces can enable or disable automatic updates; pinning the source to a reviewed full commit SHA with autoUpdate: false supports change-controlled rollout.
Shell commands and child processes
The plugin's wrappers are PowerShell scripts. The generic wrapper resolves the executable and starts only that resolved valbuddy.exe, forwarding the selected arguments. The supplied wrappers expose these command shapes:
validate-json.ps1andvalidate-xml.ps1:-vor-wf, optional-verbose, optional-s <schema>, then input files.format-json.ps1:-jsppor-jsm, optional-oj <output>, then one JSON input.generate-schema-docs.ps1:-jsdoc -o <output.html> <local-schema.json>.run-settings.ps1: passes one settings XML file to the executable.
The command contract also documents -patch, -jsl, -jst, -jsv, and -j2csv. Treat exit code 0 as success and every non-zero code as failure. Console wording is not a stable API.
File access and output behavior
Ordinary validation reads the executable, the user-selected JSON or XML inputs, the selected JSON Schema or XML schema, and any local schemas, catalogs, DTDs, XSLT files, or other resources referenced by those documents. Do not grant broad filesystem access when the project can name narrower input and schema roots.
Validation itself does not require an output-file permission. Generated or transformed workflows do: documentation writes the explicitly supplied HTML path; JSON formatting writes the supplied -oj path, or overwrites the input when no output path is supplied; linter and JSON-to-CSV modes write their selected outputs; settings-XML jobs can write configured output and log paths. Documentation generation first uses a sibling temporary file before atomically replacing the requested target. Some streaming and formatting paths may also create a GUID-named .tmp file in the input or output directory before rename.
Network behavior
Once the plugin and executable are installed, ordinary validation with entirely local inputs and references does not require access to a JSONBuddy-owned domain. The wrapper scripts contain no network or download commands.
Validation can resolve remote JSON Schema $ref targets, XML schemas, DTDs, catalogs, imports, includes, or related resources through valbuddy.exe. Those destinations come from the documents and configuration chosen by the user, so there is no universal domain allowlist. Block network access for strictly local workflows, or require approval for document-selected domains. The -jsdoc mode rejects an HTTP or HTTPS schema input, although a local schema can still contain references whose resolution must be governed.
JSONBuddy-owned access is separate: www.json-buddy.com serves product information, the portable download, and checksum file. GitHub-hosted marketplace installation and updates use github.com. No call to api.json-buddy.com is part of this plugin's local validation path.
Document privacy, retention, and telemetry
For ordinary local validation, customer documents are opened by the locally installed executable and are not uploaded to JSONBuddy. The plugin wrappers do not copy document contents to a service or retain them. Local input, output, logs, and temporary files remain subject to the organization's storage, backup, endpoint-protection, and deletion policies.
Remote references are an explicit qualification: resolving one can disclose the requested URL and normal connection metadata to the remote server. The AI client can also transmit prompts, selected content, or diagnostics under the organization's GitHub Copilot configuration; that behavior is outside the plugin and executable.
No telemetry is implemented by the plugin wrappers. Independent telemetry behavior of the proprietary valbuddy.exe has not been confirmed in the reviewed public contract, so administrators that require a definitive telemetry statement should confirm it with JSONBuddy support and verify observed network activity in their approved build.