---
title: "Types and option builders | Grafana Labs"
description: "How strong typing and option builders prevent configuration errors"
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

## Catch errors early with strong typing

The Foundation SDK is strongly typed: your programming language checks configuration values as you write code, so many mistakes fail before the JSON ever reaches Grafana.

Instead of discovering a broken dashboard after sync, you can catch problems while you are still editing, such as:

- Invalid unit values
- Wrong data types for fields

## Use option builders for complex settings

An option builder is a typed helper for one nested part of a panel or dashboard (for example reduce or display settings). When configuration gets nested, **option builders** keep that subsection readable and still typed.

Set a stable **dashboard UID** on the DashboardBuilder as well. A UID is a unique ID for the dashboard. When Git Sync later updates Grafana, the same UID means the existing dashboard is updated instead of a duplicate being created.

## What you’ll practice next

In the learning path, you will compose builders, set a UID, and export JSON. Keep that file. It’s the dashboard JSON you commit to the repository Git Sync watches.
