orbseal/Docs

CLI Reference

Install:

# No install needed — use npx directly:
npx @dotlabshq/orbseal <command>

# Or install globally:
npm install -g @dotlabshq/orbseal

Auth

login

orbseal login <token> [api_base]
orbseal login                       # interactive prompt

Saves the token to ~/.orbseal/config.json. Admin tokens (orb_admin_...) and app keys (orb_live_...) are saved to separate slots — logging in with an app key does not overwrite your saved admin token.

switch

orbseal switch admin    # restore saved admin token as active
orbseal switch app      # restore saved app key as active
orbseal switch          # show both saved slots

logout

orbseal logout          # remove active token

whoami · alias: wh

orbseal whoami

Shows active token prefix, mode (admin / app key), API base, context, saved slots, and public key.


Context

Set a default workspace/project/environment so you don't repeat them on every command.

use

orbseal use <org>/<workspace>/<project>/<env>
orbseal use acme/platform/taskflow/production

orbseal use --public-key orbpk-...    # save public key only
orbseal use acme/platform --public-key orbpk-...  # combine

orbseal use --clear                   # clear everything

Context is stored in ~/.orbseal/config.json under the context key. Each part is optional — you can set just org/workspace and supply project per-command.

ls

orbseal ls

Shows the full org → workspace → project → env tree. Active context items are highlighted with .


Workspaces · alias: ws

orbseal workspaces list
orbseal workspaces create "My Workspace"
orbseal workspaces get <slug-or-id>
orbseal workspaces rename <slug-or-id> "New Name"
orbseal workspaces delete <slug-or-id>

Fields

Field Description
short_id 6-char immutable ID
slug URL-safe name, mutable
name Display name
project_count Number of projects

Projects · alias: proj

orbseal projects list [workspace]
orbseal projects create "My Project"          # workspace from context
orbseal projects get <slug-or-id>
orbseal projects rename <slug-or-id> "New Name"
orbseal projects delete <slug-or-id>

Environments · alias: env

orbseal envs list
orbseal envs create "production"
orbseal envs get <slug-or-id>
orbseal envs rename <slug-or-id> "New Name"
orbseal envs delete <slug-or-id>

Schema

orbseal sync [orb.yaml]           # sync schema from file (default: ./orb.yaml)
orbseal schema list               # list all definitions
orbseal schema get <plugin:key>   # show one definition

sync blocks breaking changes (type or scope change). Safe updates (new default, label change, new key) are applied and increment the definition version.


Values

orbseal values list
orbseal values set <plugin:key> <value> --scope <scope> --ref <scope_ref>
orbseal values delete <plugin:key> --scope <scope> --ref <scope_ref>

Scopes

Scope --ref value
workspace workspace slug or default
project project slug
environment environment slug
user user ID

Examples

orbseal values set taskflow:max_seats 50 --scope workspace --ref default
orbseal values set taskflow:theme dark --scope user --ref user-abc123
orbseal values set taskflow:app_url https://app.io --scope environment --ref production

Secrets

# Save public key to context once
orbseal use --public-key orbpk-...

# Seal a secret (prompts for value, never logged)
orbseal seal <plugin:key> --scope <scope> --ref <scope_ref>
orbseal seal taskflow:database_url --scope environment --ref production

# Override --public-key for this command
orbseal seal taskflow:stripe_secret \
  --public-key orbpk-... \
  --scope environment --ref production

Releases

orbseal release                              # cut a release for env from context
orbseal releases list [ws] [proj] [env]
orbseal releases get [ws] [proj] [env] <version|latest>

A release is an immutable snapshot of resolved non-secret config. Secrets are NOT in the snapshot — they are resolved live at runtime.


App keys

orbseal keys list
orbseal keys create <name> --public-key <orbpk-...> [--env <slug>]
orbseal keys revoke <id>

App keys (orb_live_...) are shown once at creation time. Store them securely.


Tokens

orbseal tokens list
orbseal tokens create [name]
orbseal tokens revoke <id>

Admin tokens for programmatic management access.


Resolve (runtime)

# Must be logged in with an app key (orb_live_...)
orbseal switch app
orbseal resolve
orbseal resolve --user <user-id>    # include user overrides

Keygen

orbseal keygen                     # generate a new X25519 keypair
orbseal recover "<12 word phrase>" # recover keypair from BIP-39 phrase

Status

orbseal status    # full status: token, org tree, definitions, keys, latest release

Global flags

Flag Description
--json / -j Output raw JSON instead of formatted table

Aliases

Alias Full command
ws workspaces
proj projects
env envs
wh whoami
switch switchToken (internal)

Config file

~/.orbseal/config.json

{
  "token":       "orb_admin_...",
  "admin_token": "orb_admin_...",
  "app_token":   "orb_live_...",
  "apiBase":     "https://api.orbseal.com",
  "context": {
    "org":        "acme",
    "workspace":  "platform",
    "project":    "taskflow",
    "env":        "production",
    "public_key": "orbpk-..."
  }
}