# Card Definitions (Authoritative)

These JSON files are the **authoritative source** for card data used by the game engine.
Edit these files for gameplay changes.

## Structure

```
definitions/
├── _index.json          # Master index with all cards + set metadata
├── pokemon/
│   ├── a1/              # Pokemon from Genetic Apex
│   └── a1a/             # Pokemon from Mythical Island
├── trainer/
│   ├── a1/              # Trainers from Genetic Apex
│   └── a1a/             # Trainers from Mythical Island
└── energy/
    └── basic/           # Universal basic energy cards
```

## Generating Definitions

Definitions are generated from raw scraped data:

```bash
cd backend
python scripts/convert_cards.py
```

After generation, you can manually edit files for corrections or gameplay tweaks.

## Schema

Each JSON file conforms to the `CardDefinition` Pydantic model in `app/core/models/card.py`.

Key fields:
- `id`: Unique identifier (e.g., "a1-001-bulbasaur")
- `name`: Display name
- `card_type`: "pokemon", "trainer", or "energy"
- `set_id`: Which set this card belongs to

See the model documentation for complete field descriptions.
