> For the complete documentation index, see [llms.txt](https://laot7490.gitbook.io/ltbridge/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://laot7490.gitbook.io/ltbridge/daily-use/config.md).

# Configuration

LTBridge stores settings in `ltbridge/config.json`, created when you run `ltbridge init`.

## Settings

| Setting   | Default     | Description                                                            |
| --------- | ----------- | ---------------------------------------------------------------------- |
| `version` | CLI version | Written by the tool; used to detect CLI upgrades and refresh API stubs |
| `bundle`  | `false`     | Combine output into `shared.lua`, `client.lua`, `server.lua`           |
| `debug`   | `false`     | Show internal debug prints from modules                                |
| `minify`  | `false`     | Optimize code and randomize globals for performance                    |
| `modules` | `[]`        | Installed modules — managed automatically by LTBridge                  |

## Example

```json
{
  "version": "1.0.0",
  "bundle": true,
  "debug": false,
  "minify": true,
  "modules": [
    "@Framework/GetPlayerName",
    "@Inventory/HasItem",
    "@Notify"
  ]
}
```

{% hint style="info" %}
You usually don't edit `modules` by hand — the watcher maintains this list. Use `ltbridge add` / `ltbridge remove` instead.
{% endhint %}

## When to change settings

* **Turn on `debug`** while developing a new script to see adapter messages
* **Turn on `minify`** for production to shrink bundle size
* **Set `bundle` to `true`** for three combined output files; leave `false` for individual files with loaders

After changing config, run `ltbridge build` or restart the watcher.

{% hint style="info" %}
`ltbridge build -w` keeps a build fingerprint in memory for the watch session so unchanged work skips rebuilds. Restarting the watcher always rebuilds once.
{% endhint %}
