oxframe-cli
Status: oxframe is under very active development. The API is not stable yet and may change from version to version. Pin the exact version in your Cargo.toml and check the changelog before upgrading.
The oxframe command for oxframe
projects: create, preview with hot reload, render, check.
&&
Updating
Projects pin the SDK (oxframe = "=0.17.0"), so a new release never changes
an existing project by itself. Once a day the CLI checks crates.io in the
background (cargo search) and mentions a newer version; set
OXFRAME_NO_UPDATE_CHECK=1 to turn that off (it is off on CI).
Full reference: https://oxframe.dev/docs/cli.
AI coding agents
oxframe init writes AGENTS.md, CLAUDE.md (@AGENTS.md) and a skill in
.claude/skills/oxframe/ (workflow + API cheat sheet). They tell agents to
verify visual changes with oxframe check (storyboard and report.json) and never to run oxframe dev.
oxframe agents refreshes them after an upgrade; files without the
oxframe-agents marker (edited by you) are kept unless --force.
How oxframe dev works
browser ──WS──▶ oxframe dev (127.0.0.1:3000) ──WS──▶ <project> preview --port 0
serves the embedded editor restarted on every change
watches src/, assets/, Cargo.toml → cargo build
- Changes (debounced 200 ms) trigger
cargo build; the editor shows Building…, then either Reloaded (it re-seeks to the same frame) or the compiler errors with file and line — while the previous build keeps running. - The old process gets
Shutdown, 2 s grace, then is killed (process tree on Windows). Crashes restart the project up to three times. - Security: loopback only,
Origincheck, one-time token in the URL; the CLI runs only cargo and your project and makes no network requests.
Exit codes: 0 ok, 1 build error, 2 environment (ffmpeg, port), 3 version mismatch.
The embedded editor
ui/dist is the editor-ui release pinned in ui.lock, packed into the
binary with rust-embed (no network access in build.rs or cargo install).
ui/debug-client/ is a minimal single-file protocol client kept for debugging.
Development
Licensed under MIT or Apache-2.0.