Lua in your shell.
Hilbish is a modern, extensible shell for everyone. Write your config and scripts in Lua, not bash.
Why Lua?
Truly Configurable
Your shell, your way. Change prompts, keybinds, completions, all in Lua. The power is in your hands.
Fast to Learn
If you know Python or JavaScript, Lua will feel natural. Maybe you already know Lua too :)
Built for Developers
Runner Mode
Choose how to interpret commands. Lua-first (default), shell-first, pure Lua, or custom languages like Fennel.
Smart Completions
Write contextual tab completions in Lua. Grid or list menus, descriptions, and flags, all fully customizable.
Customizable Line Editor
Syntax highlighting, history search, vim mode are all tweakable in Lua. Full control over your input experience.
Interactive History Menu
Visual history search. Browse and search your command history with an intuitive graphical interface.
Notification System
In-shell messaging for background jobs and custom events. Display and manage shell notifications in Lua.
Full Lua Ecosystem
Use any pure Lua library. LuaRocks packages, custom modules, whatever you need is all available.
Quick Example
local bait = require 'bait'
local commander = require 'commander'
-- Custom command
commander.register('mycommand', function()
print('Hello from Lua!')
end)
-- React to directory changes
bait.catch('cd', function()
os.execute 'ls -la'
end)
-- Aliases
hilbish.alias('ga', 'git add')
hilbish.alias('gm', 'git commit -m')