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.36.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.36, the published ZIP SHA-256 is ff8165f5bf954880068e91fd5ba38e0de2ea839bde65249154c1f1e2686a3f71.
Get-FileHash .JSONBuddyPortable-x64-UnicodeRelease-7.4.0.36.zip -Algorithm SHA256
The reviewed XML ValidatorBuddy package is XMLValidatorBuddyPortable-x64-UnicodeRelease-8.2.0.31.zip; its published SHA-256 is a04796bc208f9ea3700eddd21b3c4bc034c8f51dac9e9c360c97b9af533dd615.
Get-FileHash .\XMLValidatorBuddyPortable-x64-UnicodeRelease-8.2.0.31.zip -Algorithm SHA256
For a controlled plugin rollout, review tag valbuddy-cli-v1.0.1 and pin the JSONBuddy marketplace source to an reviewed 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 reviewed 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: optional wrapper parameter-Offline, then-vor-wf, optional-verbose, optional-s <schema>, and input files. The wrapper forwards native-offline.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.
Every supplied wrapper accepts -Offline and forwards the process-wide native policy. The command contract also documents -patch, -jsl, -jst, -jsv, and -j2csv. Treat exit code 0 as success. Exit code 12 means offline mode blocked a network-capable resource or disabled an operation whose resource resolution cannot be constrained safely.
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 network access. The wrapper scripts contain no network or download commands.
Native offline mode
Use wrapper parameter -Offline, or native switch valbuddy.exe -offline, when the complete reference graph must remain local. Local relative and absolute references remain available. A remote JSON Schema $ref, XML schema, DTD, entity, catalog, import, include, or direct HTTP or HTTPS input is rejected before connection, the blocked URI is reported, and the process returns 12.
Settings-XML batches, configured schema tests, official JSON Schema Test Suite runs, and signature verification fail closed in offline mode because their configured or third-party resource paths cannot all be constrained without modifying third-party libraries. On September 28, 2026, both reviewed public packages passed the same 21-case native offline suite: local JSON and XML reference graphs succeeded, every network-capable case was rejected, and the loopback recorder observed zero offline requests. A non-offline control produced one request.
Without offline mode, validation can resolve document-selected remote resources. There is no universal destination allowlist. www.json-buddy.com and xml-buddy.com serve product downloads and checksums, while GitHub hosts marketplace installation and updates. api.json-buddy.com is not part of local validation.
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 reviewed build.