Stable v1.2.7

🌲 fuss

Interactive git staging with tree view

(noun): the quicker picker upper

A complete git workflow TUI written in modern Fortran 2018. Navigate your repository's dirty files in a tree view, stage and unstage changes, commit, push, and perform virtually any git operation without leaving the terminal. Features three-mode design, fuzzy search navigation, and fzf integration.

🎯 RPM Available 🏛️ AUR Available

Features

Installation

RPM (Fedora/RHEL/CentOS)

terminal
$sudo dnf config-manager --add-repo https://repos.musicsian.com/musicsian.repo
$sudo dnf install fuss

AUR (Arch Linux)

terminal
$paru -S fuss# or yay -S fuss

Homebrew (macOS)

terminal
$brew tap FortranGoingOnForty/fuss
$brew install fuss

From Source

terminal
$git clone https://github.com/FortranGoingOnForty/fuss.git
$cd fuss && make
$sudo cp fuss /usr/local/bin/# or ~/.local/bin/
Dependencies
  • gfortran >= 4.8 - GNU Fortran compiler (build only)
  • make - Build automation (build only)
  • git - Version control (required at runtime)
  • fzf - Fuzzy finder for branch/stash selection (required)

First Run

Navigate to any git repository and run fuss. Interactive mode is the default.

terminal
$cd ~/my-project# navigate to git repository
$fuss# launch interactive mode
What You'll See
fuss:trunk                              ← repo name : branch name

.
├── ▼ src
│   ├── main.f90                    ← staged
│   └── utils.f90                   ← modified
├── README.md                      ← both staged and unstaged changes
└── new_file.txt                    ← untracked

Legend: =staged =modified =untracked =incoming
Keys: j/k/↓/↑:nav | ←/→:nav tree | space:toggle | .:hide-dots | alt-g:git-mode

Quick Start Workflow

  1. Run fuss in your git repository
  2. Use j/k to navigate to files you want to stage
  3. Press Alt-g to enter Git Mode
  4. Press a to stage selected file
  5. Press m to commit and type your message
  6. Press p to push to remote
  7. Press Ctrl-c to quit

Verify Installation

terminal
$fuss --version
fuss v1.2.7 A git staging tool. Written in Fortran, for some reason. https://github.com/FortranGoingOnForty/fuss
$fuss --help# show all keybindings

← Back to all packages