Skip to content

hellish 🐚πŸ”₯

A from-scratch, almost-POSIX shell in C β€” runs like a minimalist shell, reads like bash, and loads real oh-my-zsh plugins.

hellish is engineered like a teaching lab and benchmarked like a production shell: input β†’ lexer β†’ parser β†’ word reparser β†’ heredoc β†’ expander β†’ executor, each a small readable module, one t_shell struct as the single source of truth. It diffs byte-for-byte against a pinned bash 5.3.9 on 4248 golden cases, runs clean under AddressSanitizer, ships two allocators you swap at compile time, and races #3 of 9 against the shells you actually use β€” faster than bash, zsh, mksh, yash and fish.

Install in one command

curl -fsSL https://raw.githubusercontent.com/Univers42/hellish/main/install.sh | sh

The installer detects whether you have sudo rights and routes itself β€” system install + login shell with sudo, ~/.local/bin + rc hook without (the 42 school machine path) β€” then offers the plugin framework and a pick-list of plugins. Details and every other route (source, npm, Docker): What hellish is + Install.

Find your way

you want to… read
know what it is and install it Product & Install
man hellish β€” invocation, startup files, grammar, everything The manual
look up one builtin Builtins reference β€” all 69, from the shell's own help
install and write plugins (with screenshots) Plugins
live at the prompt β€” themes, completion, zsh dialect Interactive Experience
run your bash scripts on it Bash Compatibility & Scripting
see the numbers Benchmarks Β· Performance
understand how it's built Architecture
run it on your OS Platforms
fix something Troubleshooting Β· Fix write-ups

Source, issues and releases live at github.com/Univers42/hellish.