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

# The smallest theme.json

> The manifest that makes ejGames recognize your theme.

Create `theme.json` with this:

```json theme={null}
{
  "id": "ejemplo",
  "name": "Mi primer tema",
  "version": "1.0.0",
  "author": "Tu nombre",
  "description": "Rejilla de carátulas con ficha de juego (el tema de la guía)",
  "sdk": 1
}
```

| Field | What it is |
| - | - |
| `id` | **Required.** A unique identifier: letters, numbers, `-` and `_` (64 at most). Do not use a built-in theme's (`steam`, `ps5`, `xbox`, `switch`, `cinema`, `retro`, `moneda`). It usually matches the folder name. |
| `name` | **Required.** The name shown in the gallery. |
| `version`, `author`, `description` | Optional. The description appears under the name in the gallery. |
| `sdk` | The SDK version your theme uses. Today it is `1`. |

There are more fields (`entry`, `palette`, `host`, `sounds`, `settings`…) that we
will add in steps 7 and 8. `entry` is the entry page and, if you leave it out,
it is `index.html`.

> [!TIP]
>
> **Not in the gallery?** It is almost always badly written JSON (a trailing
> comma, missing quotes) or an `id` with spaces or accents. ejGames skips the
> theme and writes it to `%APPDATA%\ejGames\logs\ejgames.log`, on a line like
> `WARN ejgames_lib::themes: tema C:\…\themes\ejemplo: trailing comma at line 1
>   column 33`. Fix it and open Appearance again.


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