How lune-org/lune works
Lune is a standalone Luau runtime with a command-line runner and asynchronous standard libraries. The main workflow is a user launching a Luau program through the CLI, which runs it in the runtime and exposes standard APIs. Separate capabilities include filesystem, networking, process, terminal I/O, scheduling, and optional Roblox document and instance support. The graph uses the README for documented capabilities and sampled files for concrete wiring; unsampled subsystems are represented only at supported directory paths.
Main entry points: library.rs Standard library setup · lib.rs Roblox API · mod.rs Roblox instances · run.rs CLI commands
Components 20
Program execution
- CLI commands
crates/lune/src/cli/run.rs - Executable entry
crates/lune/src/main.rs - Luau runtime
crates/lune/src/rt/runtime.rs - Standard library setup
crates/lune-std/src/library.rs
Standard libraries
- Filesystem API
crates/lune-std-fs/src/lib.rs - Network API
crates/lune-std-net/src/lib.rs - HTTP server
crates/lune-std-net/src/server/service.rs - Process API
crates/lune-std-process/src/lib.rs - Terminal I/O
crates/lune-std-stdio/src/lib.rs - Date and time
crates/lune-std-datetime/src/lib.rs - Regex API
crates/lune-std-regex/src/lib.rs - Encoding and hashing
crates/lune-std-serde/src/lib.rs - Luau helpers
crates/lune-std-luau/src/lib.rs
Async scheduling
- Task API
crates/lune-std-task/src/lib.rs - Coroutine scheduler
crates/mlua-luau-scheduler/src/scheduler.rs
Roblox support
- Roblox API
crates/lune-std-roblox/src/lib.rs - Place and model documents
crates/lune-roblox/src/document/mod.rs - Roblox instances
crates/lune-roblox/src/instance/mod.rs - Instance queries
crates/lune-roblox/src/instance/query/mod.rs
Other components
- Script user
Connections 21
- Script user → Executable entry: launches
- Executable entry → CLI commands: dispatches
- CLI commands → Luau runtime: runs program
- Luau runtime → Standard library setup: sets up
- Standard library setup → Filesystem API: registers
- Standard library setup → Network API: registers
- Standard library setup → Process API: registers
- Standard library setup → Terminal I/O: registers
- Standard library setup → Date and time: registers
- Standard library setup → Regex API: registers
- Standard library setup → Encoding and hashing: registers
- Standard library setup → Luau helpers: registers
- Standard library setup → Task API: registers
- Task API → Coroutine scheduler: uses
- HTTP server → Coroutine scheduler: dispatches handlers
- Network API → HTTP server: serves requests
- Standard library setup → Roblox API: registers
- Roblox API → Place and model documents: decodes and encodes
- Roblox API → Roblox instances: converts to Lua
- Place and model documents → Roblox instances: creates instances
- Roblox instances → Instance queries: supports queries