> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Azul CLI commands: build, push, pack, config

> Complete reference for every Azul CLI command — azul, build, push, pack, and config — with all flags, options, and usage examples.

Azul is driven entirely from the terminal using the `azul` command and its subcommands. Every flag accepts either a space-separated value (`--flag value`) or an equals-separated value (`--flag=value`). Optional arguments are shown in brackets — for example, `[PATH]` — and short aliases are available where noted.

> [!NOTE]
>
> Run `azul --help` at any time to print usage information. Add `--help` after any subcommand (e.g., `azul push --help`) to see that command's options.

## `azul`

Running `azul` on its own starts the live sync daemon. The daemon connects to Roblox Studio via the companion plugin and mirrors your DataModel to disk in real time.

```bash theme={null}
azul [command] [options]
```

### Global options

The following options are accepted by `azul` and can also be combined with any subcommand.

| Option | Short | Description |
| - | - | - |
| `--help` | `-h` | Print help text and exit |
| `--version` | | Print the installed Azul version and exit |
| `--debug` | | Enable verbose debug logs |
| `--no-warn` | | Skip confirmation prompts |
| `--sync-dir [PATH]` | | Override the sync directory |
| `--port [NUMBER]` | | Override the daemon port |

```bash theme={null}
azul --sync-dir ./sync --port 8080
```

***

## `azul build`

`azul build` performs a one-time push from your local filesystem into Roblox Studio. Use it to seed Studio from local files without starting continuous sync.

```bash theme={null}
azul build [options]
```

| Option | Description |
| - | - |
| `--from-sourcemap [FILE]` | Build from sourcemap data instead of the filesystem |
| `--rojo` | Enable Rojo-compatible parsing for your project structure |
| `--rojo-project [FILE]` | Override the Rojo project file path (default: `default.project.json`) |

```bash Basic build theme={null}
azul build
```

```bash Build from sourcemap theme={null}
azul build --from-sourcemap ./sourcemap.json
```

```bash Build with Rojo theme={null}
azul build --rojo --rojo-project default.project.json
```

> [!TIP]
>
> If you're migrating an existing Rojo project into Studio, use `--rojo` together with `--rojo-project` to point Azul at your project file.

***

## `azul push`

`azul push` selectively pushes a local folder to a specific location in the Studio DataModel. Unlike `azul build`, which processes your entire project, `push` targets a single source-to-destination mapping.

```bash theme={null}
azul push [options]
```

| Option | Short | Description |
| - | - | - |
| `--source [DIR]` | `-s` | Local source folder to push |
| `--destination [PATH]` | `-d` | Studio destination path (e.g., `ReplicatedStorage.Packages`) |
| `--from-sourcemap [FILE]` | | Push from sourcemap data instead of the filesystem |
| `--destructive` | | Wipe all children at the destination before pushing |
| `--no-place-config` | | Ignore place config path mappings |
| `--rojo` | | Enable Rojo-compatible parsing |
| `--rojo-project [FILE]` | | Override the Rojo project file path |

```bash Push a folder to ReplicatedStorage theme={null}
azul push -s Packages -d ReplicatedStorage.Packages
```

```bash Push with destructive wipe theme={null}
azul push -s Packages -d ReplicatedStorage.Packages --destructive --rojo
```

```bash Push a server folder theme={null}
azul push -s src/Server -d ServerScriptService.Server
```

> [!WARNING]
>
> `--destructive` deletes all existing children at the destination before writing. This cannot be undone from within Azul — make sure your local files are the source of truth before using this flag.

***

## `azul pack`

`azul pack` serializes Studio instance properties into a `sourcemap.json` file for hermetic, reproducible builds. The output is compatible with tools like Luau LSP.

```bash theme={null}
azul pack [options]
```

| Option | Short | Description |
| - | - | - |
| `--output [FILE]` | `-o` | Output path for the generated sourcemap |
| `--scripts-only` | | Serialize only scripts and their descendants |

```bash Generate sourcemap to default path theme={null}
azul pack
```

```bash Generate sourcemap to a specific path theme={null}
azul pack -o sourcemap.json
```

```bash Serialize scripts only theme={null}
azul pack -o sourcemap.json --scripts-only
```

***

## `azul config`

`azul config` opens the Azul configuration file in your default editor. Use `--path` if you want to locate the file without opening it.

```bash theme={null}
azul config [options]
```

| Option | Description |
| - | - |
| `--path` | Print the config file path and exit without opening it |

```bash Open config in default editor theme={null}
azul config
```

```bash Print config file path theme={null}
azul config --path
```

> [!TIP]
>
> Use `azul config --path` to find the config file and open it manually, pipe it to another tool, or check it into version control.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.