# How to generate data files:

## Creating a new data file:

1. Create a new file for your data type in the `/data` directory with the
   `.dart` extension
1. Create a class for your data type with `toJson` and `fromJson` methods (see existing files for examples)

## To update an existing data file:

1. Make your changes directly to the dart file.

