# Script Utilities

This directory contains automation and validation helper scripts for the project.

## 🚀 Data Linter (`lint_data.py`)

A metadata and integrity checker designed to run locally and as part of the GitHub Actions CI workflows.

To execute the linter:
```bash
./_scripts/lint_data.py
```

### What it Checks:
1. **Member Role Mapping:** Validates that every member profile role (under `_members/`) corresponds to a configured role key in `_data/types.yaml` (e.g. `pi`, `dr`, `masters`, `undergrad`, etc.).
2. **Member Front-Matter:** Ensures each member profile has all required keys: `name`, `role`, and `affiliation`.
3. **Asset Verification:** If a member profile specifies an `image` path, the linter checks that the image file exists in the repository to prevent broken profile cards.
4. **DOI Format Validation:** Verifies that all manually added publications in `_data/sources.yaml` have an `id` that starts with the `doi:` prefix and are unique (no duplicates).
