<!--
title: Standard configuration files
domain: app-frameworks
topic: Configurations
language: Yaml
source: maplibre/maplibre-native
updated: 2025-01-14
url: https://awesomereviewers.com/reviewers/maplibre-native-standard-configuration-files/
-->

Use standardized, tool-specific configuration files instead of embedding configurations in CI scripts or other build files. This improves discoverability, ensures consistency between local development and CI environments, and provides self-documentation for required settings.

However, be mindful of introducing dependencies on specific tooling ecosystems. Ensure your configuration approach works well with all build systems your project might interact with.

Example:
```yaml
# Instead of this in a CI workflow file:
- name: Add targets for Rust toolchain
  run: rustup target add --toolchain stable-x86_64-unknown-linux-gnu aarch64-linux-android

# Use a standard configuration file (rust-toolchain.toml):
# [toolchain]
# targets = ["aarch64-linux-android", "armv7-linux-androideabi"]
```

This approach documents required settings in conventional locations that tools automatically recognize, reducing the need for extra documentation while ensuring consistency across environments.
