MonoCode supports macOS, Linux, and Windows. You need Node.js 20+ and a current stable Rust toolchain. Install and sign in to at least one agent CLI using provider setup.
On Linux, install the standard Tauri prerequisites, including libwebkit2gtk-4.1-dev, libgtk-3-dev, libsoup-3.0-dev, and libjavascriptcoregtk-4.1-dev on Debian/Ubuntu. The setup helpers below install the native dependencies and packaging tools for their distributions.
On Windows, the packaging script uses stable-x86_64-pc-windows-msvc. The installer bootstraps the WebView2 runtime when it is missing.
From the repository root:
npm install
npm run tauri devOn an Ubuntu/Debian workstation, the repository can install the native Tauri prerequisites and build distributable Linux packages directly:
npm run setup:linux:deb
npm ci
npm run build:linuxThe Linux build emits .deb and AppImage bundles under target/release/bundle/, in the deb/ and appimage/ directories. build:linux repacks the AppImage so it uses the host WebKitGTK 4.1 stack instead of bundled Ubuntu libraries. See Linux installation for runtime dependencies and package instructions.
On Fedora or Enterprise Linux 10 (registered RHEL, Rocky, Alma, CentOS Stream, Oracle):
npm run setup:linux:fedora
npm ci
npm run build:fedoraOn EL 10, the setup helper enables EPEL 10 and CRB automatically, since the development packages need CRB. On Oracle Linux it enables ol10_codeready_builder and ol10_developer_EPEL. Fedora does not need these extra repositories.
The build emits a .rpm under target/release/bundle/rpm/, installable with:
sudo dnf install ./target/release/bundle/rpm/MonoCode-*.rpmEL 9 and older are unsupported (webkit2gtk4.1-devel only exists in EPEL 10). The published release .rpm is built on Enterprise Linux 10 so it loads on Fedora and EL 10. See Linux installation for release package installation and runtime repository setup.
npm ci
npm run build:windowsThe Windows build emits an NSIS installer under target/release/bundle/nsis/.
- src-tauri/tauri.conf.json contains the shared application and bundle configuration.
- src-tauri/tauri.linux.conf.json loads automatically for Linux development and builds.
- src-tauri/tauri.windows.conf.json loads automatically for Windows development and builds.
Prerelease tags such as v0.9.1-beta.1 publish to beta/latest.json, and beta builds use that feed even when a stable updater endpoint is configured. Beta releases leave the stable feed and macOS download links unchanged.
To trial AppImage updates, install a beta AppImage in a writable directory, publish a newer beta, and verify the update downloads, installs, and relaunches successfully before publishing a stable version.
The release workflow packages the platform builds and publishes the updater feed. scripts/release-channel.cjs selects the stable or beta feed.
Read CONTRIBUTING.md for contribution guidelines and checks. The experimental remote host has its own build and packaging instructions.