Oro Runtime is the cross-platform runtime and CLI toolchain for Oro applications. A built distribution gives you the oroc CLI, the public oro:* JavaScript modules, generated API/config/CLI references, and installed manpages for downstream application development.
These docs assume you are using an installed runtime from an app workspace. They do not assume you are inside the runtime source repository.
This repository is the final legacy snapshot of the runtime. Active forward development continues in the new Oro Runtime repository; this tree is being preserved as the last legacy reference point.
oroc: project setup, build, packaging, update, device, config, and inspection workflows.api/README.md: generated JavaScript API reference for publicoro:*modules.api/index.d.ts: generated TypeScript declarations for the shipped public API.api/CLI.md: generated CLI reference.api/CONFIG.md: generated configuration reference fororo.toml, legacyoro.ini, and.ororc.share/man/man1:oroccommand manuals.share/man/man3: JavaScript and C API manuals.share/man/man7: concepts, IPC, route catalogs, and workflow guides.share/doc/oroc/{README.md,MCP.md,llms.txt,LEGACY_LIMITATIONS.md}: installed high-level reference docs.
- Run
oroc help <query>for task-oriented discovery such asoroc help ios signing,oroc help json logs, ororoc help updates. - Create a project with
oroc init my-app. - Inspect the generated
oro.toml. - Run the app with
oroc run my-appor build it withoroc build my-app. - Use
oroc config --describe <key>andoroc envto inspect effective configuration and environment inputs. - Use
man 3 <module>,man 7 <guide>,api/README.md, andapi/index.d.tswhen you need deeper API detail.
- Prefer public high-level modules such as
oro:application,oro:window,oro:fs/promises, andoro:secure-storagebefore dropping tooro:ipc. - Use section 3 manpages and
api/index.d.tsfor exact contracts. - Use section 7 manpages for concepts, transport guidance, and route catalogs.
- Treat configuration as part of the API contract.
oro.toml, legacyoro.ini, and.ororcoften explain runtime behavior that would otherwise look surprising. - Platform support varies. Check the installed docs for capability limits before assuming desktop, mobile, and browser-like surfaces are equivalent.
- Use subcommand-local
--jsonwhen a command supports structured stdout. - Use
--log-file=<path>when you need logs without polluting structured stdout. - Use
oroc mcp --stdioororoc mcp --httpwhen you want stable tool-oriented access instead of shell parsing. - In MCP clients, prefer
runtime-doc:/...resources for runtime reference andworkspace:/...resources for app-local docs and config when present. - Prefer specialized MCP tools such as
search_docs, config helpers, build helpers, and version helpers before falling back to generic CLI execution.
oro.tomlis the primary config format.oro.iniremains supported for legacy projects whenoro.tomlis absent.- Do not assume a default service-worker mode. Respect the project config and the installed runtime docs.
- Autoindex is opt-in.
- The runtime does not guarantee
SharedArrayBufferorAtomics.wait; code that depends on shared memory needs a safe fallback. - For frozen platform gaps and archive-era caveats, see Legacy Runtime Limitations.