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

# Customization

### Notifications and text prompts

`notificationProvider` and `textProvider` accept `tweak` or `ox_lib`. Tweak uses the included interface. Adjust notification colors and behavior in configuration and styling in `web/theme.css`.

### Customer customization

| File                           | Purpose                                                                 |
| ------------------------------ | ----------------------------------------------------------------------- |
| config.lua                     | Framework, providers, locale, UI and debug settings                     |
| customize/client/ui.lua        | Notification, text, progress, menu, dialog and skill-check integrations |
| customize/client/target.lua    | Target integration                                                      |
| customize/server/framework.lua | Framework integration                                                   |
| customize/server/inventory.lua | Inventory integration                                                   |
| locales/\*.lua                 | Translations; preserve formatting placeholders                          |
| web/theme.css                  | UI styling                                                              |

Back up your settings before editing. Follow the included `BRIDGE.md` for adapter contracts. Keep privileged operations on the server and never place secrets in client files.

## Customize step by step

### Choose the notification interface

In `config.lua`, set `notificationProvider` to `tweak` for the included UI or `ox_lib` for OX notifications. Set `textProvider` independently for text prompts. Keep each setting inside the existing returned configuration table.

### Change the included UI colors

Edit `notify.accent`, `notify.background` and `notify.text` using hex colors. Edit `notify.title`, `notify.duration` (milliseconds), and `notify.position` for defaults. A consuming script may supply its own title, position or duration.

Save, restart during maintenance, and trigger a notification through a consuming script. For more styling, use `web/theme.css`.

### Choose progress style

Set `progress` to `bar` or `circle`. Both use the installed ox\_lib. Keep `maxProgressDuration` at a value suitable for your consuming scripts.

### Translate messages

Choose `locale` in configuration and edit the corresponding `locales/*.lua` file. Preserve keys and formatting placeholders. Missing keys fall back to English.

### Add another provider

Use the matching file in `customize/` and follow the included `BRIDGE.md`. Keep cancellation, failure reporting and cleanup working. NOIR still needs its specified OX inventory stack; changing a generic adapter does not replace that requirement.
