Used it for world of warcraft scripting and openresty http rules, that’s a wide range.
The established center is still LuaRocks for packages. Around it, people use different layers depending on the ecosystem: OpenResty has its own runtime/server world, as we know Neovim has its plugin conventions, games often use LÖVE, embedded apps usually vendor or tightly control Lua themselves, and tools like hererocks/Nix/asdf/mise/etc... are often used to pin Lua/LuaJIT versions.
Lux is worth mentioning as a newer Lua package manager/project tool, and I see it as adjacent rather than a direct enemy. Since you can use moonstone for solving the environment lua interpreter, and lux for packages side-by-side.
Moonstone is trying to sit in a slightly different space: reproducible Lua-family project environments. So not “a new Lua VM,” but a manager for interpreters, lockfiles, native C module builds, ABI compatibility, isolated envs, and mixed-runtime repos (plus some personal additions that I would have loved, such as open internal communications for custom CLIs.)
The pain point I’m aiming at is: “this repo needs Lua 5.4, this benchmark needs LuaJIT/OpenResty, this example uses LÖVE, and native modules need to rebuild correctly when ABI changes, and want to preserve it all clean and tidy”
Lua did not have an answer like cargo for rust, or UV for python... Till now.
LLMs are usually too busy agreeing to push back on the ideas & details like this.
To give some context:
Moonstone is currently under heavy, messy(getting better with time), active development. As I build various Lua + Zig projects with it, API contracts, CLI routes + flags, and configurations are constantly shifting. Using AI co-authoring has been a bit of a survival mechanism to ensure the documentation doesn't fall completely out of sync with the codebase. That said, AI authored docs can definitely feel dry to the eye, and/or verbose. If you or anyone else would like to help prune, rewrite, or polish the documentation to make it read more naturally, I would be incredibly grateful for the help!
In every, single, new HN post.
In every, single, new comment.
(I don't really care, I just noticed it now. I honestly enjoy many of your comments.)
Checking his profile multiple times for the total score and compare when a post was made?
Quick clarification because the HN title is easy to misread:
Moonstone is *not* (*EXTRA BOLD*) a Lua VM/runtime implemented in Zig.
It is a Lua environment and package manager written in Zig. It installs/selects Lua-family interpreters, resolves packages, builds native C modules, checks Lua ABI compatibility, creates isolated project environments(through symlinking), and stores artifacts in a content-addressed store.
So the closest mental model is:
LuaRocks + isolated project envs + lockfile replay + Zig-powered native builds + multi-interpreter workspace support. All batteries included for Lua development.
The project does use thematic names like “orbits” and “Ballad”; that’s an intentional design language, but the docs clearly need a stronger translation layer for first-time readers. I’m updating the landing/docs to lead with the concrete systems model first.