30 open-source projects similar to gitui-org/gitui, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Gitui alternative.
Gitui is a terminal user interface and repository manager built with Rust. It provides a keyboard-driven visual environment for performing version control operations without the need to type manual command line arguments. The application enables the management of Git branches, commits, and remote synchronization, alongside capabilities for stashing temporary work and managing submodules. It includes support for GPG commit signing to verify identity through cryptographic signatures. Users can customize the experience through keyboard shortcut rebinding and visual theme adjustments. The interf
This project is a keyboard-driven terminal file manager designed for efficient navigation and manipulation of local and remote filesystems. It functions as both a standalone console file explorer and a versatile file picker, allowing users to select paths and pass them to external shell commands or system utilities for automated workflows. The application distinguishes itself through a highly modular architecture that supports compile-time feature flagging and static binary compilation, ensuring a minimal memory footprint and portability across environments. Users can extend its core function
GitButler is a desktop application designed for managing Git version control workflows. It provides a visual interface for organizing concurrent development tasks, allowing users to work on multiple features or bug fixes simultaneously within a single repository without the need for manual context switching. The application utilizes a virtual file system overlay and in-memory staging to track granular file modifications independently of the underlying version control system. It features a conflict isolation engine that breaks down complex merge conflicts into smaller, manageable segments, and
grv is a terminal-based version control client and interactive Git repository browser. It functions as a terminal user interface for browsing commit history, inspecting code differences, and managing branches and tags within Git repositories. The project distinguishes itself through a graphical commit graph visualizer that renders branching patterns and merge history directly in the terminal. It employs a tiled view layout engine and tabbed workspace management to display multiple repository perspectives simultaneously, supported by real-time filesystem monitoring to update the interface auto
Broot is an interactive terminal file manager designed for navigating, searching, and manipulating complex file system hierarchies. It provides a visual tree-based interface that allows users to explore disk contents, manage file operations, and execute shell commands directly within the command line environment. The tool distinguishes itself through real-time fuzzy searching and recursive tree traversal, which filter directory structures as you type to maintain a clear, relevant view of the file system. It integrates version control status directly into the navigation view, displaying branch
lsd is a directory listing tool and directory tree visualizer designed as a modern replacement for the standard Unix ls command. It provides a command line interface for listing directory contents and visualizing hierarchical folder structures with enhanced visual formatting. The utility distinguishes itself through customizable themes, allowing users to modify the output appearance by mapping specific colors and icons to file names, types, or extensions. It uses extension-based icon mapping to provide visual file type identification via specific glyphs. The tool covers functional domains in
React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.
This project is a command-line utility designed to list directory contents within terminal environments. It functions as a replacement for standard directory listing commands, providing enhanced visual metadata for files and folders on Unix-like systems. The tool distinguishes itself by integrating color-coded output and file-type icons directly into the terminal interface to improve readability. It utilizes a lookup system to assign these visual identifiers based on file names and extensions, while employing ANSI escape sequences to render the information. The utility supports recursive dir
Zellij is a terminal multiplexer and workspace manager designed to organize command-line sessions into persistent, reconfigurable layouts. It functions as a terminal plugin framework, allowing users to extend their environment with modular, event-driven components that interact with the host through a structured message-passing protocol. The project distinguishes itself through a layout-engine-based architecture that decouples visual pane arrangements from process execution, enabling automated and repeatable terminal workflows. It includes integrated support for web-based remote access, facil
Neogit is a visual Git version control client designed for managing repositories through staging, committing, pushing, and merging. It provides a suite of tools for inspecting code differences, visualizing commit history via a graphical branch tree, and automating event-based workflows. The project features a workflow automation system that triggers custom logic and notifications based on repository events, such as branch creation or pushes. It also includes utilities for generating direct deep-links to commits, pull requests, and file structures on remote version control hosting providers.
This project is a Vim plugin that functions as a comprehensive Git version control interface. It integrates repository management, staging, and commit operations directly into the text editor, allowing users to maintain project history and manage repository state without switching contexts. The plugin distinguishes itself by mapping version control operations to temporary text buffers, enabling users to manipulate repository data using standard editing commands. It utilizes a virtual file system to present historical commits, trees, and blobs as read-only buffers, facilitating navigation and
Ungit is a web-based graphical interface and version control client for managing Git repositories. It provides a visual dashboard for performing version control operations, staging changes, and committing files without using a terminal. The project integrates third-party merge utilities to resolve file conflicts and includes a system for signing and verifying the authenticity of code contributions using PGP encryption keys. The interface maintains synchronization with the local filesystem by monitoring directory changes in real time to update the repository state. It interfaces with the unde
DevOps-Bash-tools is a collection of shell scripts and aliases designed to automate cloud infrastructure, container orchestration, and CI/CD pipelines. It provides a comprehensive toolset for managing operational workflows through the command line. The project specializes in automating tasks across multiple platforms, including managing namespaces and secrets in Kubernetes, auditing resources in AWS and GCP, and triggering builds or managing environment variables in GitHub Actions, GitLab CI, and CircleCI. It also includes a toolkit for interacting with container registries to query manifests
Tig is a terminal-based interface for version control systems that functions as an interactive visual layer over standard command-line operations. It provides a text-based environment for navigating commit history, managing staging areas, and inspecting file changes directly within the terminal. By utilizing a split-view layout, the application allows users to view logs, diffs, and status information simultaneously for efficient code analysis. The tool distinguishes itself through a state-driven navigation model that processes piped output from version control utilities into structured, color
This project is a comprehensive collection of pre-commit hooks designed to automate code linting, style enforcement, and file validation before changes are committed to version control. It provides a suite of ready-to-use scripts that serve as quality guards, including static analysis hooks, configuration file validators, and tools for maintaining version control integrity. The collection distinguishes itself by offering specialized guards for repository health and security. This includes detection of leaked credentials and private keys, prevention of large file commits, and enforcement of br
Chokidar is a cross-platform file system monitoring library designed to provide a unified interface for tracking disk activity. It functions as a foundational utility for Node.js development environments, enabling applications to detect file additions, modifications, and deletions across diverse operating systems through a consistent event stream. The library distinguishes itself by normalizing inconsistent event signatures from various operating system kernels and implementing robust event debouncing logic. By buffering rapid sequences of file system events and waiting for a quiet period, it
fswatch is a cross-platform file change monitor that watches files and directories for modifications using the native event API of each operating system. It functions as a multi-backend file watcher library that selects from platform-specific backends such as inotify, kqueue, and FSEvents, with a polling fallback when no native API is available. The tool groups multiple file changes into a single event batch and triggers one command per batch, while also executing user-specified commands each time monitored files or directories are modified. The project applies include, exclude, event-type, a
Watchexec is a command-line task runner and file system change trigger that automates developer workflows by executing scripts or programs when files in a directory are modified. It functions as a process lifecycle manager, ensuring that triggered child processes and process groups are managed and restarted cleanly. The tool provides path filtering to restrict monitoring to specific extensions or directories and utilizes debouncing to group rapid bursts of file system notifications into a single execution. It supports propagating the list of modified files to the executed command via standard
Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel
fswatch is a cross-platform file change monitor and event automation tool. It tracks file system modifications across different operating systems using native kernel event APIs or a portable polling fallback. The project implements specific wrappers for Linux systems using inotify and fanotify, as well as a watcher for BSD and macOS using kqueue. It translates these platform-specific APIs into a unified event format to provide consistent monitoring behavior. The tool allows for the automatic execution of external programs or scripts in response to detected changes. It includes capabilities f
LearningNotes is a technical knowledge base and engineering study guide focused on Android framework internals, system architecture, and mobile performance optimization. It serves as a reference for analyzing the Android boot sequence, process bootstrapping, and system service initialization. The project provides detailed guides on mobile performance, including strategies for reducing memory footprints, identifying memory leaks, and optimizing image decoding. It further covers Android inter-process communication using AIDL and the Binder kernel driver, as well as software architecture manuals
x-cmd is an AI agent orchestrator, cloud infrastructure CLI, and cross-platform package manager that provides an enhanced POSIX shell toolkit. It integrates large language models directly into the terminal for chatting, code generation, and the execution of agentic workflows, while offering a framework for building interactive terminal user interface components. The project distinguishes itself by deploying containerized AI agents within isolated sandboxes, provisioning them with specialized skills and headless browser automation capabilities. It further streamlines development through a unif
This project is a modular, terminal-based dashboard framework designed to aggregate and display real-time information within a grid-aligned interface. It functions as a centralized monitoring tool that translates data from local system resources, infrastructure services, and external web APIs into a unified, text-based display. The dashboard is distinguished by its plugin-based architecture, which allows users to encapsulate distinct data sources and display logic into isolated, independently managed modules. Users define their workspace through declarative configuration files or an interacti
fsnotify is a cross-platform filesystem notification library that provides a programming interface for tracking file and directory changes within Go applications. It utilizes native kernel notification interfaces to detect events such as file creation, deletion, and attribute updates, allowing developers to integrate real-time monitoring into their software. The library distinguishes itself by providing a unified abstraction layer that normalizes disparate kernel APIs into a consistent event stream. It manages high-volume activity through non-blocking event polling and internal memory bufferi
Hammerspoon is a programmable automation engine for macOS that enables deep system-level control through a Lua scripting environment. By bridging high-level scripts with native Objective-C APIs, it allows users to interact with the operating system's accessibility tree, intercept hardware input streams, and manage the lifecycle of running applications. The project distinguishes itself through an event-driven architecture that registers asynchronous hooks for system notifications and hardware events. This allows for real-time automation, such as remapping keyboard and mouse inputs, managing wi
This is an open-source educational website that translates and localizes MIT's Missing Semester course, teaching practical computing skills for computer science students. The curriculum covers developer tooling, shell scripting, version control, security fundamentals, and open-source collaboration, with a focus on core computing skills including data processing pipelines, workflow automation, secure remote access, shell productivity, Vim editing, and Git version control. The project distinguishes itself by teaching command-line mastery, shell scripting, and automation to boost daily developer
FluentTerminal is a terminal emulator and SSH client designed for running multiple shell sessions. It functions as a shell profile manager and a Tmux session manager, allowing for the organization of diverse shell environments within a single interface. The application provides secure remote access via SSH and Mosh protocols, which enables persistent session management over intermittent networks. It distinguishes itself through a profile configuration system that allows users to save and switch between named environment settings for different shell types. The tool includes workspace manageme
go-prompt is a library for building interactive command-line interfaces in Go. It serves as a cross-platform console UI framework and terminal input manager, providing the tools necessary to capture user input and execute commands through a persistent interactive loop. The library features a dedicated auto-completion engine that provides real-time command suggestions. It also supports dynamic prompt prefixes updated via callback functions and a system for managing and recalling command history. The framework covers a broad range of terminal capabilities, including keyboard shortcut mapping,
Flexsearch is a full-text search library designed to execute complex indexing and retrieval operations directly within the web browser. By operating entirely on the client side, it enables rapid information lookup without requiring a backend server, ensuring that search functionality remains self-contained and private. The library distinguishes itself through a highly configurable text processing pipeline that allows developers to tailor tokenization and normalization to specific language requirements. To maintain interface responsiveness during large-scale queries, it utilizes background thr
This project is an AI agent workflow framework and development toolkit designed for AI-driven software engineering. It provides a system of modular instructions, prompt libraries, and standardized routines to orchestrate complex engineering sequences and automate the decomposition of plans into technical tasks. The system differentiates itself through advanced context management and prompt engineering, using state compression and handoff documents to preserve conversation history between different AI sessions. It employs a structured library of prompt skills and high-signal trigger words to e