Un Archivo de Configuración del Sistema de Construcción Ninja, a menudo denominado build.ninja, es un script de construcción de bajo nivel utilizado por el sistema de construcción Ninja. Ninja es un sistema de construcción de código abierto diseñado para la velocidad, centrándose en construcciones incrementales. A diferencia de los sistemas de construcción de nivel superior como Make o CMake, los archivos Ninja no suelen escribirse a mano. En su lugar, generalmente son generados por un 'meta-sistema de construcción' como CMake, Meson o GYP, que traduce una descripción de proyecto más abstracta a las instrucciones de construcción altamente optimizadas y paralelizadas que Ninja puede ejecutar. Estos archivos contienen un grafo acíclico dirigido (DAG) de pasos de construcción, especificando entradas, salidas y comandos para cada paso. El objetivo principal de Ninja es ejecutar estos pasos de construcción lo más rápido posible, lo que lo hace particularmente popular para grandes proyectos en C++ donde los tiempos de construcción pueden ser un cuello de botella significativo. La extensión .ninja en sí misma no está estrictamente estandarizada para todos los archivos, pero build.ninja es el nombre canónico para el script de construcción principal.