Skip to content

CLI

Audience: automation and CI builders
Status: Preview

The CLI is the operational command boundary for Ophiolite.

It is the platform command surface, not the Ophiolite Workbench desktop command table.

The current public command set includes:

  • doctor
  • auth status
  • auth import <license_json_path>
  • auth login
  • operation-catalog
  • create-project
  • open-project
  • project-summary
  • list-project-wells
  • list-project-wellbores
  • project-operator-lock
  • install-operator-package
  • list-project-compute-catalog
  • run-project-compute
  • import
  • inspect-file
  • summary
  • list-curves
  • examples
  • generate-fixture-packages
  • install health checks
  • repeatable local commands
  • JSON output for scripts
  • CI validation
  • package inspection and creation
  • project admin-style tasks

ophiolite doctor returns JSON with one record per check. Each record includes:

  • name: the specific check, such as writable_cache
  • status: pass, warn, or fail
  • category: support class, such as install, environment, runtime, cache, license, or sample_workflow
  • code: stable support code, such as OPH_DOCTOR_WRITABLE_CACHE_FAIL
  • message: human-readable summary
  • details: structured diagnostic payload
  • remediation: next action for warnings and failures when available

Use the full JSON output in support tickets and CI logs.

If OPHIOLITE_COMMERCIAL_SERVICE_URL or OPHIOLITE_COMMERCIAL_SERVICE_URI is configured, doctor also includes an account_service check. This check is optional in preview builds and is omitted when no account service URL is configured.

ophiolite auth status inspects the configured local license certificate. ophiolite auth import <license_json_path> copies a signed preview certificate to the configured license path after verification.

ophiolite auth login is currently a commercial-service contract smoke. When OPHIOLITE_COMMERCIAL_SERVICE_URL or OPHIOLITE_COMMERCIAL_SERVICE_URI is set, it calls the account, entitlement, and license issue mock-service routes and reports whether the account has the ophiolite-sdk-developer entitlement.

Example:

Terminal window
$env:OPHIOLITE_COMMERCIAL_SERVICE_URL = "http://127.0.0.1:8787"
$env:OPHIOLITE_COMMERCIAL_SERVICE_SCENARIO = "paid-sdk-developer"
ophiolite auth login

The preview login command does not cache mock certificates. Use ophiolite auth import <license_json_path> for signed local certificates until production account activation is available.

If a behavior is part of the public platform contract, it should be visible as an intentional command, not hidden behind app-specific glue.

The inverse is also true:

  • Ophiolite Workbench desktop command names are app-local adapter details
  • the CLI should teach platform meanings directly
  • app transport quirks should not be documented as if they were stable CLI API

Relationship to Ophiolite Workbench desktop

Section titled “Relationship to Ophiolite Workbench desktop”

Ophiolite Workbench desktop uses its own internal command boundary for frontend-to-backend transport.

That boundary may call the same shared runtime and contract layers as the CLI, but it is still an application shell concern:

  • the command list is not a public Ophiolite API commitment
  • desktop commands should stay thin and delegate to shared or app-framework behavior
  • compatibility shims can exist in the desktop layer without expanding the platform promise

Use the CLI when you want a platform-owned operational surface. Use Ophiolite Workbench desktop when you want the first-party workflow application.

Terminal window
ophiolite doctor
ophiolite auth status
cargo run --quiet --manifest-path Cargo.toml -p ophiolite-cli -- project-summary .\demo-project

Next: CLI automation guide