CLI Commands
OxyMake provides the ox command-line tool. Every command supports --json
for structured NDJSON output.
Core Commands
ox init
Initialize a new OxyMake project in the current directory.
ox init
Creates a starter Oxymakefile.toml and .oxymake/ directory.
ox run
Execute the workflow, ensuring requested outputs exist.
ox run # Build default targets
ox run results/report.html # Build a specific target
ox run -j 8 # Parallel execution (8 jobs)
ox run --rule stats # Only run jobs from a rule (exact or /regex/)
ox run --json # Structured NDJSON output
ox run --note "experiment v2" # Annotate the run
ox run --no-cache # Ignore the cache, re-run everything
Options:
-j N,--jobs N-- Maximum concurrent jobs (default: 1)--rule RULE-- Only run jobs from this rule (exact name or/regex/)-k,--keep-going-- Continue independent jobs after a failure-n,--dry-run-- Show what would run without executing--json-- Emit NDJSON events on stdout--report-json PATH-- Write the NDJSON event stream to a file--note TEXT-- Attach a note to this run--no-cache-- Ignore cached outputs and re-execute--executor EXEC-- Choose executor:local(default),slurm,ray
Exit codes:
0-- Success (all jobs succeeded or were cached)1-- Runtime error or one or more jobs failed2-- Command-line usage error
ox plan
Show the execution plan without running anything.
ox plan # Show what would run (optimized)
ox plan --json # Structured plan output
ox plan --no-optimize # Show the raw plan (skip optimization passes)
ox plan --level rules # Show the RuleGraph instead of the JobGraph
ox lint
Validate the Oxymakefile without executing.
ox lint # Check for errors
ox lint --json # Structured diagnostics
Checks for: syntax errors, missing inputs, cycles, ambiguous rules, undefined wildcards.
Inspection Commands
ox dag
Visualize the dependency graph.
ox dag # Graphviz DOT output (default)
ox dag --format mermaid # Mermaid graph syntax
ox dag --group-by rule # Collapse nodes by field
ox dag --json # Structured JSON
ox status
Show current execution status.
ox status # Summary of current state
ox status --json # Structured status
ox logs
View job logs.
ox logs stats-alice # Logs for a specific job
ox logs --failed # Logs for all failed jobs
ox history
List past runs.
ox history # Recent runs
ox history --json # Structured history
Management Commands
ox gate
Manage gates (human-in-the-loop checkpoints).
ox gate list # Show pending gates
ox gate approve qc_check # Approve a gate
ox gate approve qc_check --reason "ok" # Approve with reason
ox snapshot
Manage workflow snapshots for comparison.
ox snapshot save baseline-v1 # Save current state
ox snapshot diff baseline-v1 # Compare with snapshot
ox snapshot list # List snapshots
ox invalidate
Invalidate cached outputs to force re-execution.
ox invalidate stats # Invalidate a rule
ox invalidate results/alice.txt # Invalidate a specific output
ox clean
Remove outputs and cache.
ox clean # Remove all outputs
ox clean --cache # Also remove cache
ox clean --state # Delete a corrupt state.db (it is a regenerable cache)
ox cancel
Cancel running jobs.
ox cancel # Cancel all running jobs
ox cancel stats-alice # Cancel a specific job
ox top
Live TUI dashboard for monitoring execution.
ox top # Interactive dashboard
Shows real-time job status, resource utilization, and DAG progress.
Global Options
Every command accepts:
| Flag | Description |
|---|---|
--color <MODE> | Color output mode (auto, always, never) |
-V, --version | Print version |
-h, --help | Print help |
Most subcommands additionally accept --json (structured NDJSON output) and
-v/-vv (increase verbosity).
Next Steps
- Oxymakefile Format -- workflow definition reference
- Configuration -- project settings