awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
oh-my-fish avatar

oh-my-fish/oh-my-fish

0
View on GitHub↗
11,342 stars·801 forks·Shell·MIT·13 views

Oh My Fish

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 system covers a broad range of capabilities, including repository management for Git-based distribution, autoload path and key binding configuration, and system health diagnostics for identifying installation errors. It also supports the management of startup scripts and offline installation.

Features

  • Shell Configuration Frameworks - Functions as a comprehensive configuration framework for managing plugins, themes, and settings in the Fish shell.
  • Terminal and Command-Line Environments - Provides a comprehensive framework for customizing the interactive Fish shell experience, including key bindings and startup scripts.
  • Git Repository Distributions - Manages the distribution, installation, and updating of extensions via remote Git repositories.
  • Configuration Search Paths - Manages search paths to determine where functions and completions are loaded from.
  • Custom Key Mappings - Provides a system for loading script files that define keyboard shortcuts for users and plugins.
  • Shell Plugin Systems - Provides a framework to install, manage, and activate custom extensions for the Fish shell.
  • Shell Key Bindings - Sources keyboard shortcuts from themes and packages while supporting user-defined overrides.
  • Git-Based Repositories - Manages the installation and updating of shell extensions by cloning and tracking remote Git repositories.
  • Shell Themes - Includes a theme engine for managing the visual styling, prompts, and appearance of the Fish shell.
  • Package Initialization - Automates the loading of functions, completions, and key bindings during extension package initialization.
  • Search Path Loading - Implements directory-based loading of functions and key bindings via shell autoload search paths.
  • Prompt Theme Engines - Implements a theme engine for applying visual styles and prompt appearances to the Fish shell.
  • Package Registries - Uses a simple file system layout to track installed extensions and metadata for shell discovery.
  • Extension Scaffolders - Ships a utility for generating standardized directory structures and boilerplate for creating new shell plugins and themes.
  • Hook Registration - Provides mechanisms for registering custom logic to be executed at specific system lifecycle stages.
  • Lifecycle Script Execution - Executes specific scripts during installation or resource management lifecycle events.
  • Package Installers - Implements utilities to download and install shell extensions from external registries or URLs.
  • Direct URL Installations - Allows installing plugins or themes directly from specified web URLs or Git commits.
  • Package Removal Utilities - Provides a mechanism to delete installed packages and execute cleanup hooks to remove residual files.
  • Scaffolding Tools - Provides automated utilities for generating boilerplate code and structures for new plugins and themes.
  • Project Scaffolding Templates - Provides templates for generating standardized directory structures and boilerplate for new plugins and themes.
  • Shell Startup Managers - Manages the execution of custom initialization logic before or after plugins load.
  • Theme Installers - Allows the installation of visual themes and color schemes for the command prompt.
  • Plugin Development Kits - Includes a scaffolder to generate standardized directory structures and boilerplate files for creating new plugins and themes.
  • Release Channel Managers - Allows users to switch between stable and development release tracks for the core system.
  • Repository Management - Allows users to add, remove, and list the external sources used to discover and install packages.
  • Event Hook Systems - Implements an architectural pattern for executing custom logic during specific lifecycle events like installation.
  • System Update Managers - Provides a mechanism to refresh the core framework and all installed extensions to their latest versions.
  • Automated Test Suites - Ships a specification-based test suite to validate package functionality through automated assertions.
  • Visual Themes - Enables changing the shell's visual appearance by selecting and activating specific themes from available options.
  • Command Line Tools - Listed in the “Command Line Tools” section of the The Book Of Secret Knowledge awesome list.
  • Shell Environment - Configuration framework for the Fish shell.
  • Shell Environments - Framework for the Fish shell.
  • Shell Frameworks - Core infrastructure for extending the Fish shell.
  • Shells and Scripting - Framework for extending Fish shell functionality.
  • Terminal and Shell Tools - Plugin framework for the Fish shell.

Star history

Star history chart for oh-my-fish/oh-my-fishStar history chart for oh-my-fish/oh-my-fish

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does oh-my-fish/oh-my-fish do?

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.

What are the main features of oh-my-fish/oh-my-fish?

The main features of oh-my-fish/oh-my-fish are: Shell Configuration Frameworks, Terminal and Command-Line Environments, Git Repository Distributions, Configuration Search Paths, Custom Key Mappings, Shell Plugin Systems, Shell Key Bindings, Git-Based Repositories.

What are some open-source alternatives to oh-my-fish/oh-my-fish?

Open-source alternatives to oh-my-fish/oh-my-fish include: robbyrussell/oh-my-zsh — This project is a configuration framework and environment manager for the Zsh shell. It functions as a plugin manager… jorgebucaran/fisher — Fisher is a plugin manager and shell extension manager specifically for the Fish shell. It provides a system for… unixorn/zsh-quickstart-kit — This project is a configuration framework for the Zsh shell that automates the setup, maintenance, and synchronization… scoopinstaller/scoop — Scoop is a command-line package manager for Windows designed to automate the installation, configuration, and… bash-it/bash-it — Bash-it is a framework for organizing and enhancing the Bash shell environment. It provides a structured system for… getgrav/grav — Grav is a flat-file content management system that eliminates the need for a traditional database by storing site…

Open-source alternatives to Oh My Fish

Similar open-source projects, ranked by how many features they share with Oh My Fish.
  • robbyrussell/oh-my-zshrobbyrussell avatar

    robbyrussell/oh-my-zsh

    188,075View on GitHub↗

    This project is a configuration framework and environment manager for the Zsh shell. It functions as a plugin manager and prompt theme engine, automating the installation, organization, and updating of terminal workflow configurations. The framework decouples visual presentation from shell logic using a library of interchangeable themes and a prompt engine that supports asynchronous rendering to maintain interface responsiveness. It employs a plugin-based architecture to inject custom aliases and specialized tools into the shell session. Users can manage shell settings and environment variab

    Shell
    View on GitHub↗188,075
  • jorgebucaran/fisherjorgebucaran avatar

    jorgebucaran/fisher

    9,300View on GitHub↗

    Fisher is a plugin manager and shell extension manager specifically for the Fish shell. It provides a system for installing, updating, and removing plugins, themes, functions, and completion scripts. The tool uses a flat-file state persistence method to track installed extensions in a plain text file, which enables the synchronization of shell environments across different systems using version control. It covers the full lifecycle of shell extensions, including the discovery of installed plugins, the installation of packages from remote repositories, and the development of distributable she

    Shellfishfish-pluginplugin-manager
    View on GitHub↗9,300
  • unixorn/zsh-quickstart-kitunixorn avatar

    unixorn/zsh-quickstart-kit

    896View on GitHub↗

    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

    Shelldotfileshacktoberfestoh-my-zsh
    View on GitHub↗896
  • scoopinstaller/scoopScoopInstaller avatar

    ScoopInstaller/Scoop

    23,635View on GitHub↗

    Scoop is a command-line package manager for Windows designed to automate the installation, configuration, and lifecycle management of software. It utilizes a manifest-driven architecture where applications are defined in structured text files, allowing for consistent and repeatable deployments. By leveraging shim-based path management and symlink-based version switching, it enables users to install and toggle between multiple software versions without cluttering the global system environment. The project distinguishes itself through its focus on portability and clean system integration. It su

    PowerShellinstallerpowershellscoop
    View on GitHub↗23,635
  • See all 30 alternatives to Oh My Fish→