# 0.Prerequisite

## Tools

* **Linter**: Validates SBUILD scripts
* **Runner**: Executes validated SBUILD scripts
* **SBUILDER**: Combined linter + runner (used by `soar build`)

## Field Types

* <mark style="color:red;">**`ENFORCED`**</mark>: Required field
* <mark style="color:blue;">**`NON_ENFORCED`**</mark>: Optional field
* <mark style="color:green;">**`RECOMMENDED`**</mark>: Optional but encouraged

## Directories

* `$SBUILD_OUTDIR`: Working directory for the build
* `$SBUILD_TMPDIR`: Temp directory inside SBUILD\_OUTDIR (`$SBUILD_OUTDIR/SBUILD_TEMP`)

## Script Blocks

* `x_exec.pkgver`: Shell commands to fetch version
* `x_exec.run`: Shell commands to build/download the package

{% hint style="info" %}
Validate your SBUILD with [yamllint](https://www.yamllint.com/) and `x_exec.run` with [shellcheck](https://www.shellcheck.net/).
{% endhint %}
