- Rust stable toolchain (install)
- Git with submodule support
No additional dependencies needed. GPUI uses native Metal rendering.
Install the following system libraries:
sudo apt-get install -y \
libwayland-dev \
libxkbcommon-x11-dev \
libvulkan-dev \
libfontconfig1-dev \
libfreetype6-dev \
libxcb-shape0-dev \
libxcb-xfixes0-dev \
libxcb-cursor-dev \
libxcb-render0-dev \
libxcb-randr0-dev \
libxcb-keysyms1-dev \
libxcb-xkb-dev \
libxkbcommon-dev \
libglib2.0-dev \
libatk1.0-dev \
libgtk-3-dev \
libclang-dev \
cmakegit clone --recurse-submodules https://github.com/zarubaf/reflex.git
cd reflexIf you already cloned without --recurse-submodules:
git submodule update --init --recursivecargo build # Debug build
cargo build --release # Release build (recommended for large traces)cargo run --release -- path/to/trace.uscopecargo fmt # Format code
cargo clippy # Lint
cargo test # Run testsThe project uses GitHub Actions for CI:
- Build — macOS and Linux release builds
- Clippy — Lint with
-D warnings - Format —
cargo fmt --check - Test —
cargo test
All CI jobs use actions/checkout@v4 with submodules: recursive to handle the µScope submodule.
Tagged releases (v*) trigger the release workflow:
- macOS:
.appbundle, signed and notarized - Linux: standalone binary tarball
- Both uploaded as GitHub release artifacts