lazyfossil 0.3.4

A lazygit-inspired TUI for Fossil SCM
lazyfossil-0.3.4 is not a library.

lazyfossil

Crates.io Multiplatform Release License: MIT GitHub stars

lazyfossil logo

A lazygit-inspired terminal UI for Fossil SCM.

Project goals

  • Provide a fast terminal workflow for Fossil checkouts
  • Combine working-tree and history browsing in a single UI
  • Commit subsets of files without a staging area
  • Start with a small, practical MVP and refine it over time

Installation

From crates.io

lazyfossil is written in Rust and can be installed with cargo:

cargo install lazyfossil

Pre-built binaries

Download pre-built binaries from the GitHub releases page:

https://github.com/geraldolsribeiro/lazyfossil/releases/

Available builds:

  • Linux
  • macOS
  • Windows

Source code

The lazyfossil source code is maintained in Fossil SCM and mirrored to GitHub and crates.io. A public Fossil repository will be available soon, likely on https://chiselapp.com/.

Screenshots

lazyfossil is currently in alpha, but it is already usable. There is still plenty to polish.

Screenshot 01

Screenshot 02

Screenshot 03

Features

Repository browsing

  • Fossil checkout detection
  • Working-tree file list
  • Diff/details pane
  • Timeline/history view
  • File-history timeline for the selected path
  • Hidden-file listing (extras --dotfiles)
  • Keyboard and mouse navigation

Commit and sync flow

  • Temporary commit selection with Space
  • Commit selected files, the current file, or all files
  • Extra-file commit support
  • Ignore-file editing via .fossil-settings/ignore-glob
  • Sync with the remote via p / P
  • Inline commit and ignore prompts
  • Command logging to fossil-debug.log
  • Binary-file handling before commit via binary-glob

Preview and UI polish

  • Binary preview fallback with a friendly notice
  • Tab-expanded text previews (for example, Makefiles)
  • Footer and input UX improvements
  • Reusable ASCII logo text asset

Project and release polish

  • Project logo asset and README branding
  • GitHub Actions release workflow fix for Windows executable naming
  • README credits section
  • Cargo package, versioning, and release housekeeping
  • Additional test coverage for parsing, selection, and prompts

Commit flow

Fossil does not use a staging area. Instead, lazyfossil builds commit commands like:

fossil commit -m "commit message" file1 file2 file3

Extra files are added automatically before commit when needed.

Binary files are handled by setting:

fossil settings binary-glob "*.png,*.jpg,*.jpeg,*.gif,*.ico"

Roadmap

Done

  • Working-tree MVP
  • History timeline basics
  • Temporary selection-based commit flow
  • Inline commit message prompt
  • Ignore-file support
  • Sync support
  • Binary preview fallback

Next

  • Commit details and file history in the history pane
  • Footer and status layout polish
  • Better mouse interactions and scrolling

Build

cargo build --release

Run

cargo run

Versioning

This project follows semantic versioning: MAJOR.MINOR.PATCH. Current version: 0.3.4.

Credits

pi.dev

Pi provides the agent harness used to develop and refine this project. Its tooling made it easier to iterate quickly, validate changes, and improve the TUI with confidence.

crates.io/crates/lazyfossil

The crates.io listing is the distribution channel for the Rust application, helping make lazyfossil available to the broader Rust ecosystem and simplifying installation and release management.

emojicombos.com/lazyfossil

This source provided the project logo artwork used in the README and assets, giving lazyfossil a recognizable visual identity.