MoonUI is Moonbot's standalone GPUI runtime and component workspace.
Applications use this repository directly from Cargo. Developers who need to
edit the runtime or components can clone MoonUI next to the application and add
a local [patch] override without changing public manifests.
crates/moon-gpuiis the GPUI facade used by applications.crates/moon-gpui-platformselects Windows, macOS, Linux, web, and headless backends.crates/moon-uiis the public Moon UI facade for application code.crates/moon-ui-componentsis the Moon-maintained component port. Its Rust crate name remainsgpui_componentto keep port diffs readable.docs/MOON_PATCH_QUEUE.mddescribes the maintainer workflow for updating the standalone GPUI extraction from upstream Zed.
Applications should depend on the public Git repository:
gpui = { package = "moon-gpui", git = "https://github.com/Moonbot-Tech/MoonUI", branch = "master" }
gpui_platform = { package = "moon-gpui-platform", git = "https://github.com/Moonbot-Tech/MoonUI", branch = "master", features = ["font-kit", "wayland", "x11"] }
moon-ui = { package = "moon-ui", git = "https://github.com/Moonbot-Tech/MoonUI", branch = "master" }For local development, keep the public Cargo.toml unchanged and add a private
path override in the consuming application's .cargo/config.toml:
[patch."https://github.com/Moonbot-Tech/MoonUI"]
moon-gpui = { path = "../MoonUI/crates/moon-gpui" }
moon-gpui-platform = { path = "../MoonUI/crates/moon-gpui-platform" }
moon-ui = { path = "../MoonUI/crates/moon-ui" }Do not commit that override. It is only for local editing. Prefer [patch]
over top-level paths: it replaces the same Git source without changing the
shape of the dependency graph.
Windows MSVC:
cmd.exe /d /s /c 'call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat" >nul && cargo check -p moon-gpui --target x86_64-pc-windows-msvc'
cmd.exe /d /s /c 'call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat" >nul && cargo check -p moon-ui --target x86_64-pc-windows-msvc'macOS requires the full Xcode Metal toolchain. Linux requires the GPUI Linux backend dependencies used by Zed.
MoonUI preserves upstream licensing from the projects it is built from.
- GPUI-derived crates are based on Zed and carry their original Zed license
metadata. See the root
LICENSEand crate-levelLICENSE-APACHEfiles. - Zed's GPL
zlog/ztracinghelper crates are intentionally not extracted. The remaining extracted GPUI crates in this repository are Apache-2.0. - Moon UI component crates are an Apache-2.0 port of Longbridge
gpui-component. The component crate also keeps its upstream copyright notice incrates/moon-ui-components/LICENSE-APACHE. - Moonbot-specific additions are distributed under Apache-2.0 unless a file or crate manifest says otherwise.
Moonbot
Advanced terminal for cryptocurrency trading
moonbot.pro