Skip to main content

Documentation Index

Fetch the complete documentation index at: https://vercel.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Azul separates configuration into two independent layers so you can tune daemon behavior on your machine without coupling it to any one project, while still letting individual places override specific settings in Studio. The CLI user config covers how the daemon runs on your system; the plugin settings control how Studio connects and what it syncs.
The CLI user config is a JSON file stored on your machine. It sets the default behavior for every Azul daemon session. To open the file in your default editor, run:
azul config
To print the file path without opening it:
azul config --path

Config fields

FieldTypeDefaultDescription
portnumber8080Port used for WebSocket communication between the daemon and the Studio plugin.
syncDirstring"./sync"Directory where the DataModel is mirrored on disk.
sourcemapPathstringPath where azul pack writes the generated sourcemap.json file.
scriptExtensionstring".luau"File extension used for all script files.
fileWatchDebouncenumberDelay in milliseconds applied to local file watcher events before syncing to Studio.
deleteOrphansOnConnectbooleanfalseWhen true, deletes files in syncDir that don’t map to any Studio instance on the initial snapshot.
suffixModuleScriptsbooleanfalseWhen true, writes ModuleScript files with a .module.luau suffix instead of no suffix.
debugModebooleanfalseWhen true, enables verbose daemon logs for troubleshooting.
port in the CLI config must match the WebSocket URL port set in the Studio plugin. If they differ, the plugin will not be able to connect.

Per-place daemon config

For team workflows, you can store daemon overrides directly inside a place so every collaborator automatically gets project-specific behavior when they connect. Create a ModuleScript at ServerStorage.Azul.Config that returns a configuration table. Fields set here override the corresponding CLI user config values for the duration of that session.
-- ServerStorage/Azul/Config
-- Returned table is sent to the Azul daemon when it connects.
return {
    port = 8080,
    debugMode = false,
    deleteOrphansOnConnect = true,
    pushMappings = {
        {
            source = "Packages",
            destination = { "ReplicatedStorage", "Packages" },
            destructive = true,
            rojoMode = true,
        },
    },
}
The most common use for per-place config is defining pushMappings so your team can run azul push without passing source and destination arguments manually. See Advanced Usage for the full list of supported fields and additional push mapping examples.
ServerStorage.Azul.Config is read by the daemon at connect time. Changes to it take effect the next time you connect — not while a session is already active.