A real-easy, high-performance
modular web development stack
for designers and developers
using Lua.

The Skinny

Moonstalk is free software for *nix systems (Linux, macOS) enabling efficient development and hosting of dynamically generated web projects built using the Lua language; from basic pages to complex applications.

For web designers Moonstalk is an all-purpose templating and rendering language (akin to PHP), just add dynamic markup into your HTML and you're done; … for site developers Moonstalk allows you to use your own structure (e.g. MVC), supplemented by your choice of application functionality (such as a CMS environment); … for application developers Moonstalk is a framework with which you can provide, configure, hook-into, or replace its components—favouring (but not enforcing) convention-over-configuration (avoiding settings), synchronous request–response flow (avoiding callbacks), and free-form relationships (avoiding class hierarchies).


Learn More

Status

The framework is beta, and in limited production use. Ongoing development is currently primarily derived from private projects being deployed with the framework, however feedback is encouraged! See the public BitBucket repository for the latest commits; As BitBucket stopped supporting Mercurial repositories, we might migrate to Git, but until then there's no longer a public repo. If you're especially interested, drop a line and you can pull from a private repo or grab an archive.

Internal API changes are likely to occur for applications, however other functions (sites, pages,…) should remain stable. The manual is not currently up-to-date and you may need to refer to the sources.

Moonstalk was conceived and is maintained by Jacob Jay. For assistance or collaboration, you are most welcome to contact moonstalk@moonmill.com or @moonstalk.

Goals

Whilst Moonstalk's development has been self-supporting to date, its future goals could employ additional backing, therefore potential sponsors, development partners and volunteers are invited to get in touch to help further them.

The core framework is functional, and has been (mostly) ported to Nginx/OpenResty and Tarantool. Applications independently supplement functionality beyond the scope of the framework itself, however most of the original applications were built on a now deprecated database, these primitives for building your own systems are likely to be redeveloped on Tarantool in time. Improvements to the internal request-response flow and application hooks should also be made, with some (e.g. authentication) requiring better (complete) separation from internal framework routines.

Ultimately Moonstalk should also provide dynamic code updates (extending the current dynamic view-controller reloading to include functions and settings too), and on-demand node scaling (through applications handling provider PaaS APIs).

A Social Enterprise Project of The Moon Mill