The compiler
Luau source in, a semantic model out. Markdown is a backend.
Think of fumablox as a small compiler. The frontend is Luau. The IR is a project model. Fumadocs MDX is one of several backends.
What it reads
From source, not only from tags:
| Kind | How it shows up |
|---|---|
| Class / module | returned table, __index, or @class / @module |
| Method | function Aircraft:Takeoff() or Takeoff: (self: Aircraft) -> () |
| Property | fields on export type tables, or @prop |
| Event | RBXScriptSignal / Signal fields |
| Enum | "Idle" | "Takeoff" unions |
| Constant | local MAX_SPEED = 250 |
| require graph | require(script.Parent.Aircraft) |
| Wally | wally.toml / wally.lock (packages linked, not mirrored) |
| Services | game:GetService("Players") |
| Explorer | Rojo default.project.json |
Comments are annotations on that model. They never have to repeat a signature the parser already has.
The Aircraft rule
This example has no @class and no @param:
export type Aircraft = {
altitude: number,
speed: number,
Takeoff: (self: Aircraft) -> (),
Land: (self: Aircraft) -> (),
}
function Aircraft:Takeoff()
endThe compiler still emits Aircraft:
altitude/speedas propertiesTakeoff/Landas methods (selfmeans method, not callback)TookOff: RBXScriptSignalas an eventAircraftStateas an enumMAX_SPEEDas a constantFlightControlleras a dependant
Coverage is a feature
Because Aircraft has no prose, fumablox check reports it as undocumented. The page exists; the quality tool still has teeth.
IR
fumablox extract --out api.json writes the whole model: classes, modules, graph, hierarchy, coverage, and Wally packages. That JSON is what an LSP, GitHub Action, or Studio plugin would consume later. Documentation is one backend, not the product.
import { extractProject, loadConfig } from '@metricsrb/fumablox';
const { config } = loadConfig(process.cwd());
const model = extractProject({ cwd: process.cwd(), config });Backends today
- Fumadocs MDX —
fumablox generate - Stdout / JSON —
fumablox extract - Terminal —
check,coverage,graph,search,diff