Topics / #bash

Bash projects on GitHub

The standard Unix shell and scripting in it for automation and tooling.

As of , the most-starred Bash projects on GitHub are the-book-of-secret-knowledge (251K stars), the-art-of-command-line (162.5K stars) and nvm (95.6K stars). GitHub.Locker tracks 97 Bash repositories with 2.3M stars combined. The fastest-growing on October 17 was the-book-of-secret-knowledge, with +291 stars in a day.

97Projects
2.3MStars in total
+1KStars in a day

Hot right now

Most stars gained in a day · Oct 17

The all-time top

97 projects · by stars

  1. #1 · trimstray/the-book-of-secret-knowledge

    the-book-of-secret-knowledge

    A massive curated collection of lists, manuals, cheatsheets, blogs, hacks, one-liners and CLI/GUI/web tools that the author gathers from everyday sysadmin, DevOps and security work.

    251K
  2. #2 · jlevy/the-art-of-command-line

    the-art-of-command-line

    A single-page guide collecting essential command-line tips, tricks, and notes for using Bash on Linux and other Unix-like systems, from basics through advanced scripting and debugging.

    162.5K
  3. #3 · nvm-sh/nvm

    nvm

    nvm (Node Version Manager) is a POSIX-compliant bash script that lets you install, switch between, and manage multiple versions of Node.js on the same machine.

    95.6K
  1. 4

    fzf

    83.6Kjunegunn/fzf · Go

    fzf is a general-purpose command-line fuzzy finder and interactive terminal toolkit. You pipe any list into it and interactively filter it with fuzzy matching, then it writes your selection to stdout.

  2. 5

    warp

    65.5Kwarpdotdev/warp · Rust

    Warp is an agentic development environment built from the terminal, combining a terminal emulator with a built-in coding agent and support for bringing your own CLI agent.

  3. 6

    pi-hole

    61.3Kpi-hole/pi-hole · Shell

    Pi-hole is a DNS sinkhole that blocks ads and trackers for every device on your network, without needing any software installed on the devices themselves.

  4. 7

    starship

    60.3Kstarship/starship · Rust

    Starship is a minimal, extremely fast, and fully customizable command prompt that works with virtually any shell on any operating system, showing relevant context like git status, language versions, and more.

  5. 8

    hacker-scripts

    49.9KNARKOZ/hacker-scripts · JavaScript

    A comedic collection of sysadmin automation scripts inspired by a viral forum post about a build engineer who scripted away every annoying chore, from faking late-night SSH activity to auto-replying to panicked client emails.

  6. 9

    acme.sh

    47.8Kacmesh-official/acme.sh · Shell

    acme.sh is a pure Unix shell script client for the ACME protocol that automatically issues, renews, and installs free SSL/TLS certificates from CAs like Let's Encrypt or ZeroSSL.

  7. 10

    awesome-cheatsheets

    46.6KLeCoupa/awesome-cheatsheets · JavaScript

    A curated collection of cheatsheets covering popular programming languages, frameworks, databases, and development tools, each condensed into a single reference file.

  8. 11

    zx

    45.8Kgoogle/zx · JavaScript

    zx is a tool from Google that lets you write shell scripts in JavaScript instead of Bash, wrapping Node's child_process with argument escaping and sensible defaults.

  9. 12

    pyenv

    45.2Kpyenv/pyenv · Shell

    pyenv lets you install multiple Python versions side by side and switch between them easily, either globally, per-user, or per-project. It is a pure shell-script tool with no dependency on Python itself.

  10. 13

    pure-bash-bible

    41.7Kdylanaraps/pure-bash-bible · Shell

    A reference collection of pure Bash functions that replace external tools like sed, awk, cut, and grep for common string, array, file, and terminal tasks.

  11. 14

    shellcheck

    40.2Kkoalaman/shellcheck · Haskell

    ShellCheck is a free static analysis tool for shell scripts: it reads your bash/sh code and reports warnings and suggestions for problems in it.

  12. 15

    zoxide

    40.2Kajeetdsouza/zoxide · Rust

    zoxide is a smarter cd command that remembers which directories you use most frequently so you can jump to them with just a few keystrokes.

  13. 16

    awesome-shell

    37.8Kalebcay/awesome-shell

    A curated list of awesome command-line frameworks, toolkits, guides, and gizmos for the shell, inspired by awesome-php.

  14. 17

    linux-command

    37.2Kjaywcjlove/linux-command · Markdown

    A non-profit, ad-free searchable reference of 600+ Linux commands — manuals, detailed explanations and learning notes collected into one bookmarkable website.

  15. 18

    WindTerm

    32.5KkingToolbox/WindTerm · C

    WindTerm is a free professional SSH/Telnet/Serial/Shell/Sftp client and terminal built for DevOps, combining remote connections, a local shell and file transfer in one application.

  16. 19

    atuin

    32Katuinsh/atuin · Rust

    Atuin replaces your shell history with a SQLite database, records extra context for every command, and adds a full-screen interactive search UI — with optional fully encrypted sync of history between machines.

  17. 20

    dotfiles

    31.5Kmathiasbynens/dotfiles · Shell

    Mathias Bynens' personal dotfiles: shell configuration files for macOS (aliases, functions, settings) plus scripts for setting up a new Mac with sensible defaults.

  18. 21

    ProxmoxVE

    29.8Kcommunity-scripts/ProxmoxVE · Shell

    A community-maintained set of one-command install scripts for Proxmox VE: paste a single line into your Proxmox shell and it sets up a popular self-hosted service as a ready container or VM.

  19. 22

    setup-ipsec-vpn

    28.8Khwdsl2/setup-ipsec-vpn · Shell

    A set of shell scripts that turns a fresh Linux server into your own IPsec VPN server in minutes, with IPsec/L2TP, Cisco IPsec and IKEv2 modes. Traffic is encrypted so nobody between you and the server can eavesdrop.

  20. 23

    asdf

    25.6Kasdf-vm/asdf · Go

    asdf is a CLI tool that manages multiple language runtime versions on a per-project basis — like gvm, nvm, rbenv and pyenv all in one. You add a plugin for each language you use.

  21. 24

    autocomplete

    25.2Kwithfig/autocomplete · TypeScript

    IDE-style autocomplete for your terminal: as you type a command, Amazon Q Developer CLI (formerly Fig) suggests subcommands, options and arguments for hundreds of popular CLIs like git, npm, docker and aws.

  22. 25

    gum

    24.5Kcharmbracelet/gum · Go

    Gum is a tool for glamorous shell scripts: interactive prompts, spinners, and styled output for bash or any shell, powered by Charm's Bubbles and Lip Gloss — without writing any Go code.

  23. 26

    cli

    24.3Kurfave/cli · Go

    urfave/cli is a Go package for building command line tools. You declare commands, subcommands, and flags in Go, and it handles argument parsing, the help system, and shell completion for you.

  24. 27

    coreutils

    24.3Kuutils/coreutils · Rust

    A Rust rewrite of the GNU coreutils — the classic command-line utilities like ls, cp, cat and sort — aiming to be a drop-in replacement with output matching GNU exactly.

  25. 28

    neofetch

    23.7Kdylanaraps/neofetch · Shell

    Neofetch is a command-line system information tool written in bash 3.2+. It displays your operating system, software and hardware info in an aesthetic, visually pleasing way, next to your OS logo.

  26. 29

    oh-my-posh

    23.6KJanDeDobbeleer/oh-my-posh · Go

    oh-my-posh is a cross-platform prompt theme engine: it renders the prompt line you see in your terminal, and it is built to be highly customizable and extensible.

  27. 30

    gitui

    22.6Kgitui-org/gitui · Rust

    GitUI is a blazing-fast terminal UI for git written in Rust: the comfort of a git GUI, but running entirely in your terminal.

  28. 31

    ralph

    22Ksnarktank/ralph · TypeScript

    Ralph is an autonomous AI agent loop that runs AI coding tools (Amp or Claude Code) over and over until every item in your PRD is done. Each iteration starts a fresh instance with clean context.

  29. 32

    PEASS-ng

    20.7Kpeass-ng/PEASS-ng · C#

    PEASS-ng is a suite of local privilege escalation enumeration tools: LinPEAS for Linux/Unix/macOS and WinPEAS for Windows. They scan a machine for privesc paths and print misconfigurations with nice colors so you can spot them easily.

  30. 33

    openvpn-install

    20.6KNyr/openvpn-install · Shell

    A shell script that automatically sets up your own OpenVPN road warrior VPN server on Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS or Fedora.

  31. 34

    n

    19.5Ktj/n · Shell

    'n' is a simple command-line tool for managing multiple Node.js versions on your machine, letting you install, switch between, and remove Node.js versions without subshells or shell profile hacks.

  32. 35

    LifeOS

    19.5Kdanielmiessler/LifeOS · TypeScript

    LifeOS is a general-purpose AI harness for life and work: it captures who you are, what you care about, and where you're trying to go, then uses AI that knows you to move you from your Current State to your Ideal State.

  33. 36

    navi

    17.8Kdenisidoro/navi · Rust

    navi is an interactive cheatsheet tool for the command-line: you browse cheatsheets — written by you or downloaded from maintainers — and execute commands straight from them.

  34. 37

    z

    17.1Krupa/z · Shell

    z is a command-line helper that remembers which directories you use most and takes you straight to them from a few keystrokes — its tagline is 'jump around'.

  35. 38

    zphisher

    17Khtr-tech/zphisher · HTML

    Zphisher is an automated phishing tool with 30+ ready-made login-page templates, written as a beginners-friendly shell script and intended purely for education.

  36. 39

    autojump

    17Kwting/autojump · Python

    autojump is a command-line tool that helps you move around your filesystem faster. It learns which directories you use most and lets you jump to them with short queries instead of typing full paths.

  37. 40

    rbenv

    16.7Krbenv/rbenv · Shell

    rbenv is a version manager for the Ruby programming language on Unix-like systems. It lets you install multiple Ruby versions and switch between them per-project so each app runs on the Ruby version it needs.

  38. 41

    openvpn-install

    16.2Kangristan/openvpn-install · Shell

    An installer script that sets up and manages your own OpenVPN server on a Linux machine you control — a VPS, a dedicated server or even a home computer — and generates client config files for every device you want to connect.

  39. 42

    terminalizer

    16.2Kfaressoft/terminalizer · JavaScript

    Terminalizer is a command-line tool that records your terminal session and turns it into an animated GIF image, or gives you a link to an online web player for sharing.

  40. 43

    yq

    16.1Kmikefarah/yq · Go

    yq is a lightweight, portable command-line processor for YAML, JSON, XML, INI and more — you pipe data through jq-like expressions to read, edit or convert it right in the terminal.

  41. 44

    claude-obsidian

    15.6KAgriciDaniel/claude-obsidian · Python

    claude-obsidian is a local-first knowledge system that pairs Claude Code (or any compatible Agent Skills host) with Obsidian. It turns any source you drop in into linked, source-cited Markdown pages and answers questions grounded in the evidence already in your vault.

  42. 45

    direnv

    15.5Kdirenv/direnv · Go

    direnv is an extension for your shell that loads and unloads environment variables depending on the current directory, keeping project-specific settings out of your ~/.profile.

  43. 46

    bash-it

    15.3KBash-it/bash-it · Shell

    Bash-it is a community-maintained framework for organizing Bash configuration: it bundles aliases, custom functions, themes, completions, and plugins so you stop stuffing everything into a single .bashrc file.

  44. 47

    Nuitka

    15.2KNuitka/Nuitka · Python

    Nuitka is a Python compiler, written in Python itself, that translates Python code into C and then compiles it into an executable or extension module.

  45. 48

    Proxmox

    15.2Ktteck/Proxmox · Shell

    A collection of shell scripts for Proxmox VE that let you interactively create and configure LXC containers and virtual machines, offering both quick default setups and advanced customizable ones.

  46. 49

    tpm

    15.1Ktmux-plugins/tpm · Shell

    TPM (Tmux Plugin Manager) installs, loads, updates, and removes tmux plugins so you don't have to manage them by hand.

  47. 50

    powerline

    14.8Kpowerline/powerline · Python

    Powerline is a statusline plugin for vim that also provides statuslines and prompts for many other applications, including zsh, bash, fish, tmux, IPython, Awesome, i3 and Qtile.

  48. 51

    quine-relay

    14.6Kmame/quine-relay · Ruby

    Quine Relay is a self-replicating program chain (an 'uroboros' quine) where a Ruby program generates a Rust program, which generates a Scala program, and so on through 128 different programming languages, until the final language outputs the original Ruby source code again.

  49. 52

    xpipe

    14.6Kxpipe-io/xpipe · Java

    XPipe is a connection hub that lets you access your entire server infrastructure (SSH hosts, Docker, Kubernetes, VMs, cloud servers, WSL, and more) from one local desktop app, without installing any agent on the remote systems.

  50. 53

    shelljs

    14.4Kshelljs/shelljs · JavaScript

    ShellJS is a portable implementation of Unix shell commands (cat, cp, mkdir, grep, sed, etc.) built on top of the Node.js API, letting you write shell-style scripts that run the same on Windows, Linux, and macOS.

  51. 54

    explainshell

    14.3Kidank/explainshell · Python

    explainshell is a tool with a web interface that explains a command-line: it parses manpages, extracts their options, and matches each argument you type to the relevant help text.

  52. 55

    semaphore

    14.3Ksemaphoreui/semaphore · Go

    Semaphore UI is a modern web interface and API for running and managing Ansible playbooks, Terraform/OpenTofu/Terragrunt, PowerShell and Bash scripts, so you don't have to deploy from a terminal anymore.

  53. 56

    dockerfiles

    13.9Kjessfraz/dockerfiles · Dockerfile

    A collection of Dockerfiles for Docker images Jess Frazelle builds and uses on her own desktop and servers; almost all images are published on Docker Hub under the 'jess' namespace.

  54. 57

    opencode

    13.8Kopencode-ai/opencode · Go

    It's an AI coding agent for your terminal: a Go CLI with an interactive TUI where AI models help you code, debug and run commands without leaving the shell.

  55. 58

    tmuxinator

    13.7Ktmuxinator/tmuxinator · Ruby

    Tmuxinator is a command-line tool for managing tmux sessions: you describe your windows, panes and commands once in a project config, and it recreates the whole session with a single command.

  56. 59

    macos-virtualbox

    13.5Kmyspaghetti/macos-virtualbox · Shell

    A Bash script that automates creating a macOS virtual machine (Catalina, Mojave, or High Sierra) inside VirtualBox, using unmodified installation files downloaded directly from Apple's own servers.

  57. 60

    cheat

    13.5Kcheat/cheat · Go

    cheat is a command-line tool for creating and viewing interactive cheatsheets. It was built to remind *nix system administrators of options for commands they use often, but not often enough to remember.

  58. 61

    distrobox

    13.1K89luca89/distrobox · Go

    Distrobox lets you run any Linux distribution inside your terminal using containers, giving you backward and forward software compatibility while keeping the environment tightly integrated with your host system.

  59. 62

    bocker

    12.7Kp8952/bocker · Shell

    Bocker is a minimal reimplementation of Docker written in roughly 100 lines of bash, built to demonstrate how core container functionality works under the hood.

  60. 63

    awesome-cheatsheets

    12.6Kskywind3000/awesome-cheatsheets · Shell

    A curated collection of Chinese-language cheatsheets for programming languages, frameworks, and dev tools, each condensed into a single file covering everything you need to know.

  61. 64

    hadolint

    12.5Khadolint/hadolint · Haskell

    Hadolint is a smarter Dockerfile linter written in Haskell that helps you build best-practice Docker images. It flags mistakes and bad patterns in your Dockerfile before you build the image.

  62. 65

    bash-guide

    12.4KIdnan/bash-guide

    A free, structured Bash guide covering everyday command-line operations (files, text, directories, SSH/network, process monitoring) and shell programming fundamentals like variables, arrays, functions, loops, regex, debugging and multi-threading.

  63. 66

    test-your-sysadmin-skills

    11.9Ktrimstray/test-your-sysadmin-skills

    A free collection of 284 Linux/Unix sysadmin test questions with example answers, built to check your own knowledge or to run interviews and exams for sysadmin positions.

  64. 67

    pipedream

    11.8KPipedreamHQ/pipedream · JavaScript

    Pipedream is a free, hosted integration platform for developers that lets you connect APIs and build event-driven automations, with over 1,000 pre-built app integrations.

  65. 68

    gvm

    11.7Kmoovweb/gvm · Shell

    GVM (Go Version Manager) is a shell tool for installing, switching between, and managing multiple Go versions on one machine, together with the GOPATH environments that go with them.

  66. 69

    bashtop

    11.1Karistocratos/bashtop · Shell

    Bashtop is a terminal-based resource monitor for Linux, macOS and FreeBSD that shows usage and stats for the processor, memory, disks, network and running processes.

  67. 70

    reference

    10.9KFechin/reference · EJS

    Reference is a collection of quick-reference cheat sheets for developers, covering programming languages, Linux commands, databases, and keyboard shortcuts, all laid out in one clean, scannable site.

  68. 71

    awesome-dotfiles

    10.9Kwebpro/awesome-dotfiles

    A curated list of dotfiles resources: articles, tutorials, example configuration repos, and tools for managing your shell and editor setup.

  69. 72

    Bash-Oneliner

    10.8Konceupon/Bash-Oneliner

    A curated collection of handy Bash one-liners and terminal tricks for data processing and Linux system maintenance, covering variables, grep, sed, awk, xargs, find, and more.

  70. 73

    TabNine

    10.8Kcodota/TabNine · Shell

    TabNine is an AI-powered autocompleter that suggests code in any programming language. This repository hosted its backend, and the completion engine itself is closed source.

  71. 74

    mal

    10.7Kkanaka/mal · Assembly

    Mal (Make a Lisp) is a Clojure-inspired Lisp interpreter built as a teaching tool: you implement the same interpreter in 11 incremental steps, and the project provides 95+ reference implementations across 89 languages to compare against.

  72. 75

    inshellisense

    10.7Kmicrosoft/inshellisense · TypeScript

    inshellisense brings IDE-style autocomplete to the terminal: as you type, a suggestion box appears with completions for 600+ command line tools.

  73. 76

    perf-tools

    10.5Kbrendangregg/perf-tools · Shell

    A collection of command-line scripts for analyzing Linux performance using ftrace and perf_events (the 'perf' command), created by Brendan Gregg (author of the DTraceToolkit).

  74. 77

    RetroPie-Setup

    10.4KRetroPie/RetroPie-Setup · Shell

    RetroPie-Setup is a shell script that turns a Raspberry Pi, Vero4K, ODroid-C1, or an Ubuntu PC into a retro gaming console by installing RetroArch, many emulator cores, and the EmulationStation frontend.

  75. 78

    Gogh

    10.3KGogh-Co/Gogh · Shell

    Gogh is a collection of color schemes for terminal emulators across Linux and macOS (plus Cygwin/Mintty on Windows), built to make your terminal prettier and easier to read through better contrast and color separation.

  76. 79

    awesome-bash

    10.1Kawesome-lists/awesome-bash · Shell

    It is a curated list of delightful Bash scripts, frameworks, and resources, organized into categories like command-line productivity, customization, downloading/serving, applications, games, and shell script development tools.

  77. 80

    vphone-aio

    7.7K34306/vphone-aio · Shell

    vphone-aio is a single shell script that downloads, merges, and launches a jailbroken iOS 26.1 virtual phone (vphone) on your Mac, with the jailbreak bootstrap already installed.

  78. 81

    just-bash

    4.4Kvercel-labs/just-bash · TypeScript

    just-bash is a simulated bash environment with a virtual filesystem, built so coding agents can run shell-like commands in a safe sandbox instead of touching the real file system. The repo describes the project as 'Bash for Agents'.

  79. 82

    mirage

    3.7Kstrukto-ai/mirage · TypeScript

    Mirage is a virtual terminal for AI agents that mounts services like S3, Google Drive, Slack, Gmail and Redis into one unified virtual filesystem, so agents access everything with familiar unix tools (ls, grep, find, jq), run virtual CLIs, route code to different runtimes, and stay inside a policy-controlled shell.

  80. 83

    wireguard-install

    3.1Khwdsl2/wireguard-install · Shell

    A shell script that automatically installs and configures a WireGuard VPN server on Linux, letting you set up your own VPN in a few minutes without prior WireGuard experience.

  81. 84

    dsh-ops

    2.8KT-Auto/dsh-ops · JavaScript

    dsh-ops is a Windows plugin for the DSH AI-assistant app that bundles a standalone bash, PowerShell 7, and faster Rust-based file tools so the AI agent stops fighting the native PowerShell shell, which cuts wasted tokens, time, and model attention.

  82. 85

    Linux-

    1.1Kjustxor/Linux-

    This is a free, extensive Russian-language Linux and Bash cheat sheet: it explains how Linux works (files, processes, permissions, memory, boot, networking) in plain language, lists terminal commands with examples, and includes an advanced track covering LVM/RAID, kernel tuning, containers, security hardening, and system recovery, plus interview questions and hands-on practice tasks.

  83. 86

    fauxnix

    99420000419/fauxnix · TypeScript

    Fauxnix lets AI coding agents keep writing bash commands on Windows: it deterministically translates each bash command into PowerShell, runs it natively, and returns GNU-style output, without using a VM or WSL.

  84. 87

    dsh-mobile-apk

    750kelai141/dsh-mobile-apk · Kotlin

    This is 'dsh-mobile-apk', an Android shell app for DeepSeek Harness (dsh): a WebView UI wrapped around an embedded Termux runtime snapshot, giving you a full dsh web agent on your phone that can really execute bash, no desktop or separate Termux app required.

  85. 88

    azerioid-stack-manager

    710azerioid/azerioid-stack-manager · PHP

    AZERIOID Stack Manager is a self-contained stack manager and web control panel for operators who run sites on a single Linux server. It bootstraps Caddy, a dedicated PHP-FPM pool and a SQLite-backed admin UI, then lets you add web servers, databases, cache, mail, Node.js and rootless Docker on demand.

  86. 89

    fable-orchestrator

    615codejunkie99/fable-orchestrator · Shell

    Fable is a local-first routing skill for Codex that plans and adjudicates tasks, delegating bounded implementation work to OpenCode Go agents - GPT-5.6 Luna for normal work and DeepSeek V4 Flash for loops and high-throughput iteration.

  87. 90

    vintage-latex

    439Foadsf/vintage-latex · PowerShell

    A collection of twenty standalone LuaLaTeX and MetaPost (fiziko) example files that recreate the look of old scientific papers: engraved plates, star charts, computed log tables, knots, and telescopes.

  88. 91

    Qwen3.8-Flash-Next-Dual-DGX-Sparks

    410MiaAI-Lab/Qwen3.8-Flash-Next-Dual-DGX-Sparks · HTML

    A multi-node inference launcher that runs the Qwen3.8-Flash-Next-NVFP4 language model across two NVIDIA DGX Spark nodes using vLLM with tensor parallelism, expert parallelism and speculative decoding.

  89. 92

    bashka

    243dmtrKovalenko/bashka · Rust

    bashka is a drop-in safety guard for the curl | bash install pattern: it parses the incoming install script, scores it against many checks, and follows forwarded scripts so every layer gets analyzed.

  90. 93

    vps-security-enhancement-scripts

    2390x10debug/vps-security-enhancement-scripts · Shell

    It is a security-first interactive bash script for hardening a fresh VPS or cloud server, bundled with a scenario-driven handbook and printable cheatsheets that explain why each fix matters, not just how to run it.

  91. 94

    dgx-spark-qwen38

    229hasso5703/dgx-spark-qwen38 · Python

    A one-command installer that sets up a hardened, boot-persistent SGLang serving stack for the Qwen3.8 model family on a single NVIDIA DGX Spark (GB10), reaching 50 tok/s greedy median and up to 1M context on the 27B NVFP4 config, with a 176B Flash-Next MoE model also fitting on one box.

  92. 95

    dsh-gitbash-preset

    135liceses/dsh-gitbash-preset · JavaScript

    A DeepSeek Harness (DSH) plugin that installs an alternate 'Minimal Mode (Git Bash)' agent preset, remapping DSH's built-in minimal-mode bash tool calls to Git for Windows' bash (MSYS) so minimal mode actually works on Windows.

  93. 96

    xdp-dns-evadeproxy

    131Oihalitz/xdp-dns-evadeproxy · Rust

    A DNS proxy in Rust that sidesteps blanket ISP IP blocks: when an operator cuts off an anycast address shared by hundreds of Cloudflare sites, it rewrites that IP in the DNS response to an unblocked neighbor of the same prefix.

  94. 97

    about-me

    120trucesmallweht/about-me

    This is the personal about-me README of Eşref (trucesmallweht), a backend developer. It introduces who he is, what he works on and where to find him — a profile card, not a software project.

Often tagged together