oxframe-cli
The oxframe command for oxframe
projects: create, preview with hot reload, render, check.
&&
Updating
Projects pin the SDK (oxframe = "=0.1.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 snapshot 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.