Your projects, shells, agents, and editors. One terminal.
A custom Rust workbench with persistent sessions, local Git inspection, and keyboard navigation.
Quick start · Watch the demos · Handbook · Performance · Keyboard reference
Recorded from the Flere 0.3.0 release UI in a real PTY using a generated project. Static screenshots, walkthrough, and recording source →
| Stay in context | Keep work running | Inspect what changed |
|---|---|---|
| Project cards, shell tabs, native agents, and named editor buffers. Search and switch from the keyboard. | Detach the UI and reconnect to the same processes. Explicit refresh preserves PIDs, terminal history, and unsent drafts. | Browse files and Git history. Open working files or side-by-side Vim/Neovim comparisons. |
Flere owns its UI, renderer, navigation, explorer, and terminal emulator. Small infrastructure crates handle JSON, Unicode, argv parsing, and OS bindings; Git, your editor, shells, and agent CLIs run as external programs.
On macOS Apple Silicon or Linux x86_64 GNU (glibc 2.39+), install prebuilt packages with Python 3.9+ and Wget:
wget -qO- https://raw.githubusercontent.com/robert-cronin/flere/main/scripts/install.sh | sh
"$HOME/.local/bin/flere" --versionNo Rust or source checkout is required. The bootstrap verifies the published
installer before running it. Default downloads are selected per platform: Linux
v0.3.13 and the unsigned macOS arm64 v0.3.0 prebuilt. See the terminal installation guide
for curl, --core-only, PATH setup and existing-installation rules. Default Linux installs
retain release-index selection. The normal Update screen discovers compatible
releases automatically; explicit CLI and Advanced sources retain their pins.
With Rust 1.98+ and a system C linker, install the core from crates.io:
cargo install flere --locked --version 0.3.13The Cargo package builds locally on Linux or macOS and excludes the separate SSH/clipboard companion. See Cargo setup for platform requirements.
Or install from the published Homebrew source tap:
Homebrew 7 requires trusting the formula names before installation:
brew trust --formula robert-cronin/flere/flere robert-cronin/flere/flere-connect
brew install robert-cronin/flere/flere
flere --version
brew install robert-cronin/flere/flere-connect # optional local SSH/clipboard companionHomebrew compiles the pinned source locally. See installation channels and validation limits for setup, upgrades and the documented platform limits. Flere v0.3.13 provides Linux x86_64 downloads, a Debian package and the Windows x86_64 companion ZIP. See the 0.3.13 release notes for reduced SSH graphics output and input-delay diagnostics. Homebrew source formulas remain at v0.3.8. macOS arm64 prebuilt downloads remain at v0.3.0; notarized Mac prebuilts are still pending.
On Windows, with Scoop installed:
scoop bucket add flere https://github.com/robert-cronin/scoop-flere
scoop install flere/flere
flere ssh devUse your existing OpenSSH host or alias in place of dev. Or
download and verify the public companion ZIP.
Both flere.exe and flere-connect.exe launch the companion for a Linux/macOS
workbench. The owned Scoop bucket is published. WinGet submission is deferred;
Chocolatey catalogue publication remains pending.
From this checkout, with Rust 1.98+, Python 3, a system C linker and cached dependencies:
./scripts/dev update --with-companion --state "$HOME/.local/state/flere"
"$HOME/.local/bin/flere" --versionThis validates offline, installs verified managed packages and registers this
checkout for future updates. Use the actual state path when updating an existing
instance; see the complete setup guide for intentional
adoption of a manual installation. Add ~/.local/bin to PATH, open an ordinary
terminal in your project, and run flere. On macOS, the build needs Xcode
Command Line Tools.
Ctrl+Space enters navigation. Then G adds a project, n creates a worktree
card, t opens a shell tab, g opens Git, and q detaches. Run flere
again to reconnect. S opens the agent harness selector.
Detach preserves running processes. A supervisor crash or machine reboot retains the open-tab layout. Opening Flere reopens each saved agent conversation and starts shells in their saved directories, preserving tab order and selection. Understand the lifecycle →
| Median input → frame | p95 input → frame | Idle Railhand RAM | Idle Railhand CPU |
|---|---|---|---|
| 18.7 ms | 20.3 ms | 6.0 MiB RSS | 0.00% observed |
Measured on Railhand 0.2.20, before the current Ghostline UI and graphics changes. One local release-build run on Apple M5 / macOS 26.5.1 / 32 GiB, at 120×32 cells. Latency: 100 eight-byte shell-echo samples after five warmups. Resources: 10 seconds idle, supervisor + UI; child shells counted separately. CPU showed no measurable counter increment during this sample; 100% would mean one core. These are observations, not a latency guarantee or model-speed benchmark.
Full methodology, percentiles, and raw data →
Keep native terminals in the centre, expand each workspace's terminals with Ctrl+Space, h, Tab, and open its notes, issue/PR links and details with ?. Git groups staged, unstaged and untracked files into trees; committed branch changes appear only when they differ from the local target comparison.
Local Ghostty/Kitty graphics display repository icons, the yellow duck and image previews without SSH or a companion. Folder loading runs in the background; r in Files retries a failed read. See workspace trees and details and the complete runtime guide for the current keyboard, Git, graphics, pet and coordination behaviour.
Press Ctrl+Space, ! or choose Run Task from Actions. Enter a build or test command for the selected workspace; Tab switches between its label and command, Enter runs it, and Esc cancels. Each task gets a new terminal in the focused pane, leaving existing shell and agent drafts intact.
Press Ctrl+Space, ; for Problems. Tab cycles task results, j/k selects a file location, and Enter opens it at the reported line and column in the configured editor. The task terminal retains interpreted output, including formats Problems does not recognize. Finished tasks show their exit result and stay open until closed. Detach and refresh preserve them; after a full supervisor restart, previously running tasks reopen as ordinary shells in their saved directories, without repeating commands. Finished task reports are not saved across that restart.
| Guide | What you can do |
|---|---|
| Workspaces, editors, and Git | Organize directories, inspect history, and compare revisions. |
| Native agents | Explicitly start or resume Codex, Claude, or Copilot conversations. |
| Agent coordination | Track assignments, messages, decisions, and review states. |
| Remote sessions | Connect through SSH and understand the optional companion. |
| Architecture and persistence | Learn which process owns what, and what survives each lifecycle event. |
| Troubleshooting | Resolve navigation, refresh, agent-delivery, and compatibility issues. |
| Platform | Evidence |
|---|---|
| macOS Apple Silicon | Native port with runtime evidence; see release scope and macOS port details. |
| macOS Intel | Compilation evidence; runtime acceptance pending. |
| Linux x86_64 | First supported target; see release scope and the validation record. |
| Windows | Optional SSH companion; no native Windows workbench backend. |
Flere is an experimental workbench. Full VT compatibility, older macOS acceptance, and comprehensive native-agent/physical SSH workflows remain open. The companion uses each local platform’s clipboard facilities and Sixel image rendering; physical terminal acceptance remains separate. Compatibility details · macOS port evidence
Development guide · Design record · Acceptance checklist · Repository instructions
The handbook, captured demos, chart generators, and benchmark sources live in this repository. Reproduce the measurements or record a fresh demo.
Flere is licensed under the MIT License. The bundled JetBrains Mono Nerd Font retains its SIL Open Font License and Nerd Fonts notices; see the font attribution.
