HyperRoute

CLI Reference

Global Options

These flags are available on every command:

FlagDescription
-v, --verboseEnable verbose output. Shows internal steps, API calls, and timing
--format <FORMAT>Output format: human (default) or json. Use json for CI/CD pipelines
-h, --helpPrint help for the command
-V, --versionPrint the DevKit version

Command Overview

CategoryCommandsDescription
Schema Managementpush, compose, diff, subgraphPush, compose, compare, and manage schemas
Bundle Lifecyclepack, bundle, validate, deploy, activate, rollbackCreate, validate, deploy, and manage bundles
Governanceapprove, governance, policy, contractApproval workflows, policy checks, contract testing
Registrypublish, registry, snapshot, promoteManage schema registries and promotions
Observabilityobserve, explain, visualize, replayMonitoring, tracing, query visualization
Operationsrelease, audit, retention, verify, signRelease management, audit logs, retention policies
Developmentinit, doctor, compat, version, migrate-to-directivesSetup, diagnostics, compatibility, migration
PlanningplannerQuery cost analysis, regression testing

hyperroute init

Initialize a new devkit.yaml configuration file in the current directory.

hyperroute init

hyperroute compose

Compose a supergraph from subgraph schemas defined in devkit.yaml or the local registry.

hyperroute compose --env <ENV> [OPTIONS]
FlagDescription
-e, --env <ENV>Required. Environment to compose for
-s, --schema <SCHEMAS>Subgraph schema files. Format: name=path or name=path@url
-c, --config <PATH>Path to devkit.yaml
-o, --out <PATH>Output directory for the composed bundle
--from-registryRead subgraph schemas from the local registry
--visualizePrint a visual representation of the composition result
--diff <PATH>Compare against a previous bundle directory
--base <PATH_OR_URL>Base bundle for version lineage tracking
--waitWait for registry lock instead of failing
--max-wait-seconds <N>Maximum lock wait time (default: 300s)
--lock-ttl <N>Lock time-to-live (default: 600s)
--no-lockSkip locking entirely (use with caution)
# Compose from devkit.yaml
hyperroute compose --env dev

# Compose specific schemas
hyperroute compose --env dev \
  -s users=./users/schema.graphql \
  -s products=./products/schema.graphql@http://products:4001/graphql

# Compose from registry with diff
hyperroute compose --env staging --from-registry --diff ./previous-bundle

hyperroute doctor

Run diagnostic checks on the local environment, router connectivity, and bundle integrity.

hyperroute doctor [OPTIONS]
FlagDescription
--bundle <PATH>Path to a bundle directory to validate
--routerd <PATH>Path to the routerd binary to check
--url <URL>URL of a running router to health-check
--skip-upstreamSkip upstream connectivity checks

hyperroute deploy

Deploy a bundle to a running router.

hyperroute deploy --url <ROUTER_URL> [OPTIONS]
FlagDescription
--url <URL>Required. Router URL
-b, --bundle <PATH>Bundle directory or .tar.gz archive
--bundle-id <ID>Bundle ID to fetch from registry
--snapshot-id <ID>Snapshot ID to compose and deploy
-e, --env <ENV>Deploy latest bundle for environment
--dry-runValidate without deploying
--wait-healthyPoll router health after deploying
--timeout <SECS>Health check timeout (default: 30s)
--auto-rollbackAuto-rollback if activation fails
# Deploy from a local bundle directory
hyperroute deploy --url http://localhost:4000 --bundle .hyperroute

# Deploy a specific bundle from the registry
hyperroute deploy --url http://router:4000 --bundle-id bundle-abc123 -c devkit.yaml

# Deploy latest for an environment
hyperroute deploy --url http://router:4000 --env production -c devkit.yaml

hyperroute activate

Activate a specific bundle on a running router (assumes bundle is already uploaded).

hyperroute activate --bundle-id <ID> --router-url <URL>
FlagDescription
-b, --bundle-id <ID>Required. Bundle ID to activate
--router-url <URL>Required. Router URL
--wait-healthyWait for router to report healthy
--timeout <SECS>Health check timeout (default: 30s)

hyperroute rollback

Rollback to the previous bundle on a running router.

hyperroute rollback --router-url <URL>
FlagDescription
--router-url <URL>Required. Router URL
--wait-healthyWait for router to report healthy
--timeout <SECS>Health check timeout (default: 30s)

hyperroute validate

Validate a bundle directory for correctness.

hyperroute validate [PATH]
FlagDescription
[PATH]Path to the bundle directory (default: .hyperroute)
--previous <PATH>Previous bundle for breaking change detection

hyperroute pack

Pack a bundle directory into a compressed .tar.gz archive.

hyperroute pack --source <PATH> [OPTIONS]
FlagDescription
-s, --source <PATH>Required. Path to the bundle directory
-o, --output <PATH>Output path for the archive
--validateValidate before packing
--checksumsGenerate a checksums file

hyperroute publish

Publish a bundle to the artifact registry (S3, R2, GCS, or Azure Blob).

hyperroute publish [OPTIONS]
FlagDescription
-b, --bundle <PATH>Bundle directory or .tar.gz archive
-e, --env <ENV>Target environment
-t, --tenant <TENANT>Tenant name
--version <VERSION>Version string (auto-generated if not specified)
--reload-routerTrigger router reload after publishing
--dry-runValidate without publishing

hyperroute promote

Promote a bundle from one environment to another.

hyperroute promote --from <ENV> --to <ENV> [OPTIONS]
FlagDescription
--from <ENV>Required. Source environment
--to <ENV>Required. Target environment
--source <PATH>Source bundle directory
--target <PATH>Target bundle directory
--promoted-by <ID>Identity for audit trail

hyperroute diff

Compare schemas, bundles, or compose reports.

hyperroute diff bundles <PATH_A> <PATH_B>   # Compare two bundles
hyperroute diff reports <PATH_A> <PATH_B>   # Compare two compose reports
hyperroute diff current --env <ENV>          # Compare against current environment
hyperroute diff schema <FILE_A> <FILE_B>    # Compare two GraphQL SDL files

hyperroute subgraph

Manage subgraph schemas in the registry.

SubcommandDescription
subgraph addAdd a new subgraph to the registry
subgraph updateUpdate an existing subgraph's URL or configuration
subgraph listList all subgraphs in an environment
subgraph removeRemove a subgraph (requires confirmation)
subgraph publishPublish a subgraph schema to the registry
subgraph checkCheck a schema for breaking changes before pushing
subgraph showShow subgraph details and version history

hyperroute approve

Manage the schema approval workflow.

SubcommandDescription
approve requestCreate a new approval request from a schema diff
approve statusCheck the status of an approval request
approve approveApprove a pending request
approve rejectReject a pending request
approve emergencyEmergency approve with bypass (audit-logged)
approve listList all pending approval requests
approve analyzeAnalyze a schema diff

hyperroute governance

Governance tooling for policy authoring and enforcement.

SubcommandDescription
governance initInitialize governance configuration
governance dry-runRun a dry-run enforcement check
governance reportGenerate a governance report
governance diffCompare two governance configurations
governance validateValidate governance configuration
governance listList all policies
governance rollbackRollback to a previous governance version

hyperroute sign / hyperroute verify

Sign and verify bundles for integrity and provenance.

# Sign a bundle
hyperroute sign --bundle .hyperroute --backend builtin --private-key key.pem

# Verify a bundle
hyperroute verify --bundle .hyperroute --key public-key.pem
Sign FlagDescription
-b, --bundle <PATH>Required. Bundle directory
--backend <TYPE>builtin (SHA256), minisign, or cosign (sigstore)
--private-key <PATH>Private key file
Verify FlagDescription
-b, --bundle <PATH>Required. Bundle directory or .tar.gz
-k, --key <PATH>Public key file
--key-hex <HEX>Public key as hex string
--skip-checksumsOnly verify signature, skip checksum verification

hyperroute migrate-to-directives

Migrate from legacy mappings.json to schema-embedded @rest and @grpc directives.

hyperroute migrate-to-directives [BUNDLE_PATH] [OPTIONS]
FlagDescription
[BUNDLE_PATH]Bundle directory containing mappings.json (default: .)
--dry-runPreview changes without applying
--output <PATH>Write migrated schema to a different file
--backupBackup original files before migration

Other Commands

CommandDescription
hyperroute compatCheck compatibility between DevKit, routerd, and bundle versions
hyperroute snapshotManage immutable subgraph version sets (create, list, show, compose, versions)
hyperroute bundleLow-level bundle management (upload, download, list, show, deploy, rollback, promote)
hyperroute auditView and verify the append-only audit log (list, show, verify)
hyperroute retentionManage artifact retention policies (show, evaluate, apply, init)
hyperroute registryTest registry connectivity, list bundles, show config (test, ls, config)
hyperroute observeObservability tooling (doctor, generate, dashboards)
hyperroute explainExplain query routing (execution, plan, query)
hyperroute visualizeGenerate visual execution graphs (execution-graph)
hyperroute plannerQuery plan analysis (cost, regression, mapping, explorer)
hyperroute replayReplay execution traces (list, show, export, timeline, import)
hyperroute releaseRelease operations (provenance, workflow, compliance, chain, verify)
hyperroute policyPolicy operations (lint, diff, explain)
hyperroute contractContract stability (diff, validate, gate, show)