30 open-source projects similar to fish-shell/fish-shell, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Fish Shell alternative.
Nushell is a cross-platform shell and programming language designed to treat all input and output as structured data rather than raw text streams. By enforcing data types and command signatures, it provides a consistent environment for building robust, pipeline-oriented workflows. The shell allows users to chain commands that pass structured objects between stages, enabling complex data processing and automation tasks that remain predictable across different operating systems. What distinguishes the project is its focus on interactive data exploration and modular extensibility. Users can quer
Highlight.js is a syntax highlighting library that automatically detects and applies color-coded styling to source code blocks within web pages. It functions as a language-agnostic formatting engine, utilizing a modular processor that applies consistent visual themes to diverse programming languages based on their specific grammatical rules. By decoupling the core parsing logic from language-specific definitions, the library provides a unified execution environment that operates without requiring internal knowledge of the target language. The project is distinguished by its modular architectu
This project is a static analysis tool and linter designed to improve the quality, reliability, and portability of shell scripts. By performing deep structural analysis, it identifies common programming pitfalls, syntax errors, and security vulnerabilities before scripts are executed. It functions as an automated code reviewer that enforces best practices and helps developers maintain consistent, robust code across different operating environments. The tool distinguishes itself through its dialect-aware grammar resolution, which adapts its parsing logic based on the specific shell interpreter
This project is a command-line processor designed for the parsing, filtering, and transformation of structured data streams. It functions as a declarative programming environment that treats data as immutable streams, allowing users to perform complex structural modifications through the composition of small, reusable functions. By utilizing a recursive tree traversal engine, the system enables the navigation, inspection, and modification of deeply nested hierarchical data structures. The engine distinguishes itself through a stream-oriented architecture that processes input records one by on
Comprehensive Rust is a structured educational curriculum designed to teach the Rust programming language, focusing on its core principles of memory safety, performance, and type correctness. The project provides a comprehensive learning path for software engineers, covering the language's ownership model, borrow checking, and compile-time validation mechanisms that eliminate common memory-related errors without the need for a garbage collector. The curriculum distinguishes itself by offering specialized modules that demonstrate how to apply these safety guarantees in diverse, high-performanc
PSReadLine is a command line editor for PowerShell that provides advanced line editing and command history management. It functions as a suite of tools for enhancing the interactive shell experience through a Bash-inspired implementation of editing, completion, mapping, synchronization, and highlighting. The project includes an interactive completion engine for navigating suggestions via a menu system and a keyboard mapping tool for assigning shortcuts to custom actions. It also features a session history synchronizer that automatically saves and shares command history across multiple active
ble.sh is a programmable line editor for Bash that provides syntax highlighting, auto-completion, and advanced text editing capabilities. It functions as a Bash syntax highlighter and command completion engine to enhance the standard shell input experience. The project implements a Vim-inspired shell editor, bringing motions, visual modes, and macros to the command line. It further distinguishes itself with a system for text abbreviation expansion and a modal interaction system that toggles between insert and command modes. The editor supports multiline command input and a dynamic suggestion
This is a Unix-based dotfiles repository providing a version-controlled collection of configuration files, environment variables, and shell aliases. Its primary purpose is to optimize macOS for software development by applying a curated set of system defaults and Zsh shell workflow enhancements. The project distinguishes itself through a comprehensive collection of macOS system defaults and specific configurations for the Zsh shell. It includes specialized Git workflow configurations and whitespace settings designed to standardize and accelerate version control operations across different env
Prezto is a Zsh configuration framework and shell environment manager designed to organize environment variables, aliases, and startup scripts through a modular file structure. It functions as a plugin collection and prompt theme engine, utilizing Zsh-native scripting to manage shell behavior across different platforms. The framework distinguishes itself through a modular-based configuration and submodule-driven extensions, allowing users to load discrete functional modules and update core components via Git. It features a dedicated prompt engine that integrates repository metadata and system
Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
This project is a configuration framework for the Zsh shell that automates the setup, maintenance, and synchronization of terminal environments. It functions as a plugin manager and productivity suite, providing a unified workflow to manage shell extensions, environment variables, and interface settings without requiring manual edits to core configuration files. The framework distinguishes itself by using a modular approach to shell customization, allowing users to organize aliases, functions, and environment variables into separate files. It provides a command-line interface to toggle themes
Xonsh is a cross-platform command-line interface shell and automation tool that integrates a full Python interpreter with standard shell capabilities. It functions as a Python-powered environment where users can mix native programming logic and external subprocesses within a single shared namespace. The shell is designed for extensibility, supporting a plugin system, custom event hooks, and the ability to import configurations from other shells such as Bash or Zsh. It differentiates itself by representing system environment variables and paths as mutable Python objects, allowing for programma
This project is the core source code for a general-purpose, server-side scripting language designed for web development. It provides a high-performance execution engine that parses and runs scripts to generate dynamic content, supported by a comprehensive standard library for data manipulation, networking, and system interaction. The repository serves as an open-source development platform where the language runtime and its interpreter are built, maintained, and evolved through community-driven governance. The runtime is powered by a stack-based virtual machine that executes compiled bytecode
This project is a curated knowledge base and technical reference for shell scripting, focused on performing common system tasks using only built-in shell features. It serves as a guide for implementing logic and automation without relying on external binaries or dependencies, ensuring scripts remain portable across standard Unix-like environments. The repository distinguishes itself by emphasizing native shell functions and syntax to minimize process forking and improve execution performance. It provides idiomatic patterns for complex string transformations, pattern matching, and data flow ma
This project is a high-performance numerical computing library designed for large-scale scientific and machine learning workloads. It functions as an automatic differentiation framework and a just-in-time compilation engine, transforming high-level Python code into optimized machine instructions. By enforcing pure functional programming patterns and immutable array semantics, the library ensures that mathematical functions remain compatible with automated graph transformations and symbolic differentiation. The platform distinguishes itself through its distributed array computing capabilities,
Tokio is an asynchronous runtime for the Rust programming language, designed to manage and execute concurrent tasks efficiently. It provides a multi-threaded execution environment that schedules lightweight tasks across available processor cores, utilizing a work-stealing scheduler to balance computational load. By employing a poll-based execution model and waker-based notifications, the runtime drives asynchronous operations forward without requiring active polling loops, ensuring efficient resource utilization. The project distinguishes itself through a comprehensive suite of tools for high
This project is a command-line tool designed to manage multiple isolated language runtime versions on a single development machine. It enables users to install, switch between, and maintain different runtime versions, ensuring that project-specific requirements are met without conflicting with system-wide software. The tool distinguishes itself through a shim-based execution environment that intercepts system calls and dynamically routes them to the correct runtime version based on the current directory. By traversing the file system hierarchy to locate configuration files, it automatically a
Zim is a Zsh configuration framework and environment manager designed to optimize shell performance and productivity. It serves as a plugin manager, prompt customizer, and performance optimizer that bundles themes and modules into a cohesive system. The framework distinguishes itself by using bytecode compilation to accelerate shell startup times and improve execution speed. It employs a modular system for installing, updating, and synchronizing external shell modules and scripts from local or remote sources. The project covers a broad range of capabilities, including developer workflow auto
Tide is an asynchronous shell prompt and Zsh theme designed to maintain interface responsiveness by computing high-latency data in the background. It functions as a context-aware command line that tracks active programming language versions, cloud infrastructure status, and command execution times. The project includes an interactive prompt configurator that allows users to visually design layouts, color schemes, and behavior settings through a terminal-based wizard. It also features a transient prompt engine that collapses previous command lines to reduce terminal scrollback clutter. The sy
Spaceship Prompt is a modular, highly customizable Zsh prompt framework designed to provide rich contextual information directly within the command line interface. It functions as a shell environment monitor, allowing users to track system metrics, version control status, and development environment details through a structured, theme-based layout. The framework distinguishes itself through an asynchronous execution model that offloads resource-intensive status checks to background processes, ensuring the terminal remains responsive during prompt generation. It supports incremental rendering,
This project is a comprehensive educational resource consisting of a Bash programming tutorial, scripting reference, and Linux command line manual. It provides instructional materials for writing scripts, automating system tasks, and mastering terminal navigation and Unix system administration. The guides cover a wide range of shell environment customization, including prompt styling and the use of aliases. It also provides a shell environment guide for managing configuration files and initializing user environments. The materials detail a broad set of capabilities including control flow log
Upterm is a terminal emulator development project designed to render an interactive command-line interface. It provides emulation for standard terminals to maintain compatibility with complex command-line programs, text editors, and remote shells. The project focuses on shell workflow optimization through interactive command completion. This includes a state-driven suggestion engine that displays a suggestion box with command descriptions and expanded alias values while a user is typing. The system manages real-time input and output streams using pseudo-terminals and virtual terminal emulati
PSReadLine is a command line editor, completion engine, history manager, and syntax highlighter for the PowerShell console. It provides a bash-inspired line editing experience that enables advanced cursor movement and text manipulation within the terminal. The project features a customizable input mapper for assigning keyboard shortcuts to specific actions and navigation logic. It includes a completion system that suggests matching commands through selectable menus or prefix-based matching. The tool covers real-time color coding for command text and error notifications to improve readability
Rocky is an open-source enterprise operating system designed for server and cloud infrastructure. It is a community-maintained Linux server distribution that provides a platform focused on stability and security. The project is fundamentally a Red Hat Enterprise Linux compatible operating system, maintaining bug-for-bug binary compatibility to ensure identical software behavior. This allows it to serve as an enterprise-grade platform without proprietary licensing. The distribution covers a broad range of system administration capabilities, including package management via modular repository
xiki is a GUI-enhanced shell console that integrates graphical user interface components and an editable output buffer into a standard shell environment. It functions as an interactive command-line interface and CLI overlay, rendering graphical elements on top of a traditional character-based terminal grid. The project serves as a custom shell command builder and menu system, allowing users to map shell commands to graphical menus and interactive shortcuts. This enables the creation of personalized workflows to launch and manage system tools through a visual interface. The system transforms
Linenoise is a lightweight C library for terminal line editing, command history management, and asynchronous input processing. It functions as a self-contained alternative for capturing user input from the command line without requiring external dependencies. The utility provides a non-blocking input processor that handles keyboard data via a feed mechanism, allowing applications to process user typing and external events simultaneously. It supports the implementation of custom shells and REPLs through features such as callback-based autocompletion, input hinting, and a circular history buffe
Kitty is a high-performance, GPU-accelerated terminal emulator designed to provide a consistent and extensible workspace across different operating systems. It leverages graphics hardware to render text, images, and complex layouts with low latency, while providing a robust environment for demanding command-line workflows. The project distinguishes itself through its integrated workspace management and programmable interface. It functions as a tiling window manager that organizes terminal windows, tabs, and layouts into persistent, keyboard-driven sessions. Users can automate complex workflow
zimfw is a Zsh configuration framework and plugin manager designed to customize and optimize the Zsh shell environment. It functions as a system for installing, updating, and pinning shell extensions and themes from remote or local repositories. The framework focuses on shell performance by using byte-code compilation of scripts to reduce startup time and improve execution speed. It employs a declarative configuration model for module management, allowing for version-pinned dependency resolution and the ability to fetch modules without full git clones to accelerate installation. The project
mcfly is a database-backed system for tracking, filtering, and exporting shell command execution history and metadata. It functions as a shell command history manager and a command-line tool for analyzing command frequency and success rates. The tool utilizes a neural network to find the most relevant past shell commands based on execution context. This search capability ranks historical commands by analyzing patterns and environmental context to surface relevant results. The system includes utilities for managing shell privacy by scrubbing sensitive records from history files and internal d
This project is a configuration framework for the Fish shell, providing a centralized system for managing plugins, themes, and custom environment settings. It functions as a plugin manager and theme engine that allows users to install, update, and remove functional extensions and visual styles. The framework includes a shell extension scaffolder that generates standardized directory structures and boilerplate files for creating new plugins and themes. To ensure quality, it provides a specification-based testing suite for validating package functionality through automated assertions. The syst