OpenClaw-inspired, built from scratch with minimal dependencies

moonclaw.lua // from scratch

Build Moonclaw, Keep It Small

Moonclaw is a Lua-based claw built from scratch. The goal is simple: keep dependencies low, wire it to Prosody cleanly, and ship a setup you can reason about.

[=^..^=] minimal stack // explicit config // no magic

Step 1: Base Install

Install only what is needed: Prosody, Lua, LuaRocks, and the Lua TLS package. Keep your runtime surface area small from day one.

sudo apt install prosody lua5.4 luarocks lua-sec

Step 2: Prosody Config

Prosody is a lightweight XMPP server written in Lua. It handles user accounts, rooms (MUC), and message routing so Moonclaw has a clean chat transport.

/etc/prosody/conf.avail/chat.mydomain.com.cfg.lua

Step 3: Claw Wiring

Message your Moonclaw bot from Monal on your phone. Keep commands short, run actions server-side, and reply with plain status.

Monal -> /deploy restart | /mail ops "done"

chat control flow

Message Moonclaw From Monal

Keep it safe: require auth per user/JID, restrict commands with an allowlist, and require confirmations for destructive tmux commands.