Inflorescence is a cross-platform native GUI for the Pijul version control system, built with Rust and the iced framework, inspired by Magit and designed for keyboard-driven navigation with async responsiveness.
# tzemanovic/inflorescence
Source: [https://nest.pijul.com/tzemanovic/inflorescence](https://nest.pijul.com/tzemanovic/inflorescence)
A cross\-platform native GUI for[Pijul](https://pijul.org/)aiming for a pleasant UX, heavily inspired by[Magit](https://magit.vc/), built using[iced](https://iced.rs/)\.
The core principles are:
- Quick and easy to navigate and to execute common actions
- Everything can be done with keyboard only \(though mouse is also supported\)
- Show a menu of possible commands to aid exploration
- Be responsive \(use async\)
- Logic separated from UI implemention to allow reuse to build e\.g\. TUI, Emacs or other integrations
Feature highlights:
- Watches over the active files \(respecting`\.ignore`filter\) to always show up\-to\-date state
- Shows diffs in context \(currenly only supported in changed files, recorded changes diffs don't yet have it\)
- Can compare local against a remote repository
- Interactive recording change selection- You can keep editing files with some to\-record selection \(these are the toggles next to changed files and hunks\) - Allows to toggle individual files and hunks - Note that the state of toggles is currently not persisted \(selects all on app restart\)
- Project finder with support for Git repo import- Automatically searches sub directories for Pijul and Git repositories - Previously managed projects are persisted \(ordered by last closed timestamp\)
- Can render images tracked in Pijul \(currently only able to show the latest version\)
- You can inspect logs and diffs of other channels without switching to them
This project is developed and tested on Linux, but it*should*work elsewhere too\. Issue reports are welcome\!
## Config
Known projects are stored in`~/\.config/inflorescence/projects\.toml`\.
Key bindings are not yet configurable \(though you can change them in the source in`inflorescence\_model/src/action\.rs`\)\.
## Install
```
cargo install --path inflorescence
```
## Add a desktop shortcut
### Linux
```
# Copy the .desktop file
cp contrib/holonyte-inflorescence.desktop ~/.local/share/applications/
# Copy the app icon
cp assets/icon.png ~/.local/share/icons/inflorescence.png
```
Clauge is an open-source cross-platform desktop app built with Rust and Tauri that integrates multiple developer tools — including parallel coding agents, a Kanban workspace, and an API client — all with AI capabilities.
Croft is a VS Code-style three-pane workspace that runs entirely in the terminal, built with Rust and featuring tree-sitter syntax highlighting, inline previews for images/PDFs/spreadsheets, and an embedded shell.
Kyde is a fast native Git client and code editor built in Rust using Zed's gpui framework, featuring GPU rendering, side-by-side diffs, tree-sitter syntax highlighting, and a hand-tuned dark theme.
Pake is a command-line tool that converts any webpage into a native desktop app using Rust and Tauri, offering lightweight (~5MB) packages for macOS, Windows, and Linux.
Jane Street engineers introduce strace-ui, an interactive terminal UI for strace that simplifies syscall debugging with filtering, PID tracking, and man page integration, and highlight the TUI renaissance enabled by their Bonsai framework.