Screenshots

June 27, 2026 ยท View on GitHub


๐ŸŒ“ The Moon-powered shell! A comfy and extensible shell for Lua fans! ๐ŸŒบ โœจ

GitHub commit activityGitHub commits since latest release (by date)GitHub contributors
help wanted GitHub license Discord

Hilbish is an extensible shell designed to be highly customizable.

It is configured in Lua, and provides a good range of features. It aims to be easy to use for anyone, and powerful enough for those who need more.

The motivation for choosing Lua was that its simpler and better to use than old shell scripts. It's fine for basic interactive shell uses, and supports both Lua and Sh interactively.

That's the only place Hilbish can use traditional shell syntax though; everything else is Lua and aims to be infinitely configurable.

If something isn't, open an issue!

Screenshots

Getting Hilbish

NOTE: Hilbish is not guaranteed to work properly on Windows, starting from the 2.0 version. It will still be able to compile, but functionality may be lacking. If you want to contribute to make the situation better, comment on the Windows discussion.

You can check the install page on the website for distributed binaries from GitHub or other package repositories. Otherwise, continue reading for steps on compiling.

Prerequisites

  • Go 1.22+
  • Task (Go on the hyperlink here to see Task's install method for your OS.)

Compiling

First, clone Hilbish. The recursive is required, as some Lua libraries are submodules.

git clone --recursive https://github.com/sammy-ette/Hilbish
cd Hilbish
go get -d ./...

Editions

Hilbish comes in 2 editions: Standard and Midnight edition.

The standard edition of Hilbish uses a pure-Go written Lua implementation and is the default.

Midnight edition uses a binding to the original C Lua to run Lua code instead.

Midnight edition is offered as a nice feature in case you want to use a Lua library written in C, or LuaJIT, but should not be used for other reasons.

Standard Edition

To build, run:

task

Or, if you want a stable branch, run these commands:

git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
task build

Midnight Edition

To build midnight edition, run:

task midnight

To change the Lua version used, you can use the LUA environment variable. Fedora users require this to compile with the right Lua library:

LUA=lua54,lluadash task midnight

Note that Hilbish is only officially supported on Lua 5.4.

lluadash is used incase the Lua library on your system is named something like liblua-5.4 (with a dash, which it is on Fedora).

Install

After you did all that, run sudo task install to install Hilbish globally.

Contributing

Any kind of contributions are welcome! Hilbish is very easy to contribute to. Read CONTRIBUTING.md as a guideline to doing so.

Thanks to everyone below who's contributed!

Made with contributors-img.

License

Hilbish is licensed under the MIT license.
Images and assets are licensed under CC-BY-SA 4.0