Quick start
1. Install the CLI
Use Node.js 22.22 or later. The product is GoodVision CLI, invoked as goodvision (shorthand: gv). Packages @goodvision/cli and @goodvision/sdk share the @goodvision npm scope with @goodvision/ui; install them from npm or build from source.
Install the public packages in your integration project:
npm install @goodvision/cli @goodvision/sdk
npx --no-install goodvision --helpWith the source distribution, run from its root:
pnpm install --frozen-lockfile
pnpm tooling:verify
node packages/cli/bin/gv.mjs api list
node packages/cli/bin/gv.mjs schema resolveCustomerUserContextSource checkouts and offline .tgz artifacts are for local development, acceptance, or environments without registry access. For a source checkout, run the build gate above; for offline artifacts, pass their paths to npm install.
Examples below use goodvision. After a project installation, use npx --no-install goodvision; for a source checkout, use node packages/cli/bin/gv.mjs. The CLI consumes public APIs; listing an operation grants no permissions and does not establish target-environment availability.
2. Configure your application
Get the current API address, application ID and authorized user Token from your application. Keep the Token in a private credential file owned by your user; never commit it. Configuration stores the file reference:
goodvision config init --file ./goodvision.json \
--api-base "$GOODVISION_API_BASE" \
--docs-origin "$GOODVISION_DEVELOPER_DOCS_ORIGIN" \
--application "$GOODVISION_APPLICATION_ID" \
--environment sandbox --token-file ./current-token
goodvision context --config ./goodvision.json
goodvision auth status --config ./goodvision.json
goodvision auth check --config ./goodvision.jsonauth status shows credential configuration offline, without reading credentials or evaluating expiry. auth check proves only that credentials can be read or obtained. For application service access, replace the Token file option with --issuer "$GOODVISION_IDENTITY_ISSUER" --client-id "$GOODVISION_SERVICE_CLIENT_ID" --secret-file ./client-secret --scope openplatform.api.invoke, requesting only contract-defined Scopes. Service identity cannot substitute for user consent.
One file may define multiple profiles; select one explicitly with --profile. Application environments are sandbox or production. Relative credential paths resolve from the configuration directory. Expired identity, wrong application, revoked access and dependency failures never cause automatic context changes or browser Cookie reuse. Interactive terminal OAuth login is outside the first release's authentication contract.
3. Run your first task
Ask Codex:
Use GoodVision CLI to find the user-context API. Read its Schema and required Scopes,
preview a sandbox request, then show me the request before executing it.goodvision api products
goodvision api search user context
goodvision schema resolveCustomerUserContext
goodvision api call resolveCustomerUserContext --config ./goodvision.json --input ./request.json --dry-runFor this request, create request.json with {"body":{}}. Execute explicitly after reviewing the preview by removing --dry-run. This API requires a current-user Token. See API calls and authentication.