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

# Configuration

Which files you can edit, and where each setting lives.

The core of the script is protected, but everything you might want to change is in **open files**:

```
vision_badges/
├── config/
│   ├── config.lua        ← framework, inventory, admins, issuing, photos, presenting, UI
│   ├── badges.lua        ← the badge types
│   ├── designs.lua       ← design presets (shape, metal, colours)
│   ├── desks.lua         ← issuing desks
│   └── theme.lua         ← colours of the on-screen panels
├── locales/
│   ├── en.lua            ← English texts
│   └── ar.lua            ← Arabic texts (right-to-left)
├── bridge/               ← framework, inventory and target adapters
├── install/              ← inventory items, icons, optional SQL
└── web/                  ← the interface; web/logos/ holds your badge logos
```

{% hint style="info" %}
After changing a file in `config/`, **restart the resource** (`restart vision_badges`). Changes made in the Badge Studio apply at once, with no restart.
{% endhint %}

{% hint style="warning" %}
**The Studio wins over the files.** A badge or desk saved in the Studio is stored in the database and is used instead of the file entry with the same id (tagged **EDITED**). Click **Reset to file** in the Studio to go back to the file version.
{% endhint %}

## Settings by topic

| Page                                                                                    | What's inside                                                                                      |
| --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| [General](/visionstore-docs/scripts/badges/configuration/general.md)                    | Language, debug, framework / inventory / target, the item, admins, network and cache               |
| [Issuing and photos](/visionstore-docs/scripts/badges/configuration/issuing.md)         | Distances, self-issue, re-issues, cooldowns, `/issuebadge`, photo capture                          |
| [Presenting and validity](/visionstore-docs/scripts/badges/configuration/presenting.md) | Showing a badge, the prop and animation, the close key, VALID / INACTIVE, badge position on screen |
| [Badge types](/visionstore-docs/scripts/badges/configuration/badges.md)                 | Every option of `config/badges.lua`: jobs, issuers, numbers, texts, item                           |
| [Designs and logos](/visionstore-docs/scripts/badges/configuration/designs.md)          | Shapes, centre symbols, metals, colours, presets, custom logos                                     |
| [Desks](/visionstore-docs/scripts/badges/configuration/desks.md)                        | Issuing desks in `config/desks.lua`                                                                |
| [Theme colours](/visionstore-docs/scripts/badges/configuration/theme.md)                | Recolour the panels around the badges                                                              |

## Languages

Set `Config.Locale` to `'en'` or `'ar'`. Arabic turns the whole interface right-to-left; an Arabic font is included. To add a language:

1. Copy `locales/en.lua` to `locales/<code>.lua` (for example `locales/fr.lua`).
2. In the copy, change `Locales.en = {` to `Locales.fr = {`. If you skip this, the copy replaces English.
3. Translate the texts. Keep every `%s` and `%d`. For a right-to-left language set `meta = { dir = 'rtl' }`.
4. Set `Config.Locale = 'fr'` and restart the resource.

Missing keys automatically fall back to English.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://visionstore.gitbook.io/visionstore-docs/scripts/badges/configuration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
