> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prescaler.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure, build and clean

> Select a native configuration and inspect reproducible compiler output.

Open **Build Setup** to inspect the detected project and its source configuration.

* **CMake:** choose a configure/build preset when the project defines one. Without presets, choose a build configuration such as Debug or Release. The project's toolchain file owns compiler selection.
* **PlatformIO:** choose one discovered environment. Build and Upload are scoped to that environment.
* **Zephyr:** enter the exact board target from your installed SDK and apply it. `west boards` in the SDK environment lists targets. Prescaler invokes west with that board; west may regenerate its build directory when required.
* **ESP-IDF:** build through the project's SDK environment with `idf.py`.

Read the configure result separately from the compilation result. Failed configuration cannot be repaired by flashing a previous image. **Build Output** retains the actual command and diagnostics; **Problems** provides source navigation.

Use Clean only when needed. A clean can remove generated outputs and make the next build slower. It does not change your source configuration.

## Reproducibility checklist

Record the source revision, SDK/compiler version, native configuration and image identity. Store native configuration files in version control. Avoid absolute machine-specific SDK paths in shared project files where the native format supports portable paths.

See [CMake](/vendors/cmake), [PlatformIO](/vendors/platformio), [Zephyr](/vendors/zephyr), or [ESP-IDF](/vendors/espressif).
