Repolode
1bye

1bye/rake

A Rust framework on GPUI for building desktop and browser apps from one codebase, with agent-controllable runtime inspection.

Stars
99
Forks
2
Open issues
1
Last commit
yesterday

What is it?

Rake is a Rust framework built on GPUI, the UI framework from Zed. It lets developers write one application that targets both native desktop and WebAssembly in the browser, with typed routes, independent tabs, multi-window support, and save/discard/cancel guards on navigation and quit.

The framework also includes shared services for HTTP, storage, files, clipboard and preferences, plus managed async loaders tied to views or tabs. A `view!` macro provides a markup-like syntax for GPUI elements. Packaging covers DMG, NSIS, AppImage and other formats, with optional signed update controllers.

Rake is also designed for AI agents: apps can expose commands with JSON schemas, be inspected through a JSON CLI, and be driven through Chrome DevTools Protocol. The project is in alpha, so APIs may change between revisions.

Key features

  • 01Builds desktop and WebAssembly browser targets from one Rust codebase.
  • 02Typed routes with independent tabs, histories and multi-window support.
  • 03Save/discard/cancel guards that apply to navigation, close and quit.
  • 04Shared services for HTTP, storage, files, clipboard and preferences.
  • 05Commands with JSON schemas and a JSON CLI for inspecting running apps.
  • 06Packaging for DMG, NSIS and AppImage with optional signed updates.

Use cases

  • Building a cross-platform Rust desktop app on GPUI that also runs in the browser.
  • Letting AI agents drive and test a running GPUI interface through commands or CDP.
  • Shipping signed desktop releases with auto-update controllers from a Rust project.

Quick start

  1. 1

    Install the Rake CLI from the repository

    cargo install --git https://github.com/1bye/rake --locked rake-cli
  2. 2

    Create a new app named hello-rake

    rake new hello-rake
  3. 3

    Enter the app directory

    cd hello-rake
  4. 4

    Run the app in development mode

    rake dev

Things to know

  • Rake is in alpha, and APIs can change between revisions.
  • It requires Rust 1.98.0, native development tools and Python 3.11+.
  • The browser target needs a WebGPU-capable browser and the matching wasm-bindgen-cli, and GPUI Kit and AppKit controls are native-only (AppKit is macOS-only).

In collections

Topics

FAQ

What is rake?
A Rust framework on GPUI for building desktop and browser apps from one codebase, with agent-controllable runtime inspection. Rake is a Rust framework built on GPUI, the UI framework from Zed. It lets developers write one application that targets both native desktop and WebAssembly in the browser, with typed routes, independent tabs, multi-window support, and save/discard/cancel guards on navigation and quit.
Is rake free to use? What license does it have?
rake is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is rake still maintained?
Actively maintained. The last commit to rake was on Nov 6, 2026.
What can I use rake for?
Building a cross-platform Rust desktop app on GPUI that also runs in the browser. Letting AI agents drive and test a running GPUI interface through commands or CDP. Shipping signed desktop releases with auto-update controllers from a Rust project.
How do I install rake?
Install the Rake CLI from the repository: cargo install --git https://github.com/1bye/rake --locked rake-cli Create a new app named hello-rake: rake new hello-rake Enter the app directory: cd hello-rake Run the app in development mode: rake dev
Where can I get rake?
The source code and installation instructions are on GitHub: https://github.com/1bye/rake

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects