om indicator is the command group for authoring Indicators on your
machine: the templates, a workspace, a build, a local install, and the reads
that prove a value moves. om wrun is the same group under its older
spelling (wrun is the runtime's internal name, the one you still meet in
metric ids like wrun/@scope/name/output and in the package kind
wrun-indicator), so every command on this page accepts either. The
compile step needs bun on your PATH. kScript (legacy) scripts have no CLI
authoring lane: they are written and published in the chart's editor.
Author
om indicator templates
om indicator create @you/my-sma ./my-sma --template sma-codefirst
om indicator build ./my-sma
om indicator validate ./my-sma
om indicator install ./my-sma --replace
om indicator list
om indicator show @you/my-sma| Command | What it does |
|---|---|
om indicator templates | lists the nine starting points: sma-codefirst, sma-box, sma, vp-buy-share-codefirst, polymarket-odds, conviction-score, event-asset-divergence, escalation-risk, hud-terminal |
om indicator create <package> [dir] | scaffolds a workspace (--template, --force); om indicator scaffold <dir> --name is the same verb with the name as a flag |
om indicator build <dir> | derives the sheet from your declarations, regenerates src/gen, runs bun install once and bun run build, checks the module against the contract, exports dist/package (--out, --wasm, --compile-command, --install, --replace, --no-install-deps) |
om indicator install <dir> | the build plus the local install under ~/.openmarket/packages, with a receipt naming the path and the undo |
om indicator export <dir> | the export step alone (--out, --force, --install) |
om indicator validate <dir> | validates a workspace or an exported package without building |
om indicator list, om indicator show <id> | installed packages and their outputs; one package or metric id |
om indicator source search <provider> <query>, om indicator source set <name> | find a Polymarket condition id; repoint a pinned odds input (refused on a derived sheet and on a bindable input) |
om indicator upgrade <package> --version <x> | moves saved alert locks onto an installed version |
om indicator remove <package> | uninstalls (--version for one version); warns when alerts still reference the package |
A workspace scaffolded by an older release is lifted onto the current scaffold contract on its next build, once and non-destructively: your source and sheet are never touched, the SDK files and build scripts are refreshed, and the migration is reported in the build's warnings (Releases overview).
Read a value
om metric get --metric wrun/@you/my-sma/sma:period=20 --symbol BTCUSDT --exchange BINANCE_FUTURES
om metric series --metric wrun/@you/my-sma/sma --params period=20 --symbol BTCUSDT --exchange BINANCE_FUTURES --bars 60
om metric screen --metric wrun/@you/my-sma/sma:period=20 --exchange BINANCE_FUTURES --top-n 50 --by VOLUME_24H --filter gte:1
om chart indicator preview --type wrun/@you/my-sma/sma --bars 300om metric get returns the newest value; om metric series one
[barOpenSec, value] pair per bar (oldest first, newest the still-forming
bar) with a sparkline in text mode; om metric screen ranks a universe on
the output; om chart indicator preview draws the draft on your active
chart workspace without publishing. A watch condition on the same id is an
alert (Alerts).
Backtest a strategy package
om backtest run @you/my-strategy --asset BINANCE_FUTURES:BTCUSDT --window 90dA package whose sheet declares strategy(...) replays its orders through
the engine's own broker; om backtest <target> is the same one-shot (run
is its explicit spelling) and om backtest spec the full-control form
(Reading the Strategy Tester).
Publish and install
om publish ./my-sma --dry-run
om publish ./my-sma
om install @you/my-sma
om search sma --kind wrun-indicator
om packages
om open @you/my-smaom publish sends an Indicator to the OpenMarket platform
(chart.openmarket.xyz), where the release is a script beside your grants
and versions, with the one source entry the manifest names beside the
module; --script <id> lands it on a script you already own, and with
--dry-run it prints exactly what would ship (files, size, sha256, the
target) without uploading. om watch publish is the same command, and a
watch pack takes the registry door instead. om install fetches a
published package, verifies its tarball sha256 and writes a receipt; om packages is the ledger of
everything installed, published and followed on this machine; om open
opens a fresh chart with the package mounted at its exact published version
(Publishing).
One command, another registry
om install @you/my-sma --registry production--registry names the registry for one registry-lane command: an
om install of any kind, and an om publish of a kind that publishes to
the registry (a watch pack); an Indicator's publish goes to the platform
door whatever --registry says. The values are production
(registry.openmarket.xyz), staging (registry-staging.openmarket.xyz,
the default until launch), or the origin OM_REGISTRY_URL names (a
self-hosted registry or a rig); any other origin is refused before a
request goes out, because your account key only ever travels to a registry
this machine trusts. Nothing else changes: OM_REGISTRY_URL keeps setting
the default for every other command, and the agent's package_publish and
package_install take the same value as registry.
What's next
- Quick start: the five steps with the template read line by line.
- Alerts: a watch condition on an output.
- Publishing: scopes, visibility, versions, deleting.