Un File di Configurazione del Sistema di Build Ninja, spesso denominato build.ninja, è uno script di build di basso livello utilizzato dal sistema di build Ninja. Ninja è un sistema di build open-source progettato per la velocità, focalizzato sulle build incrementali. A differenza dei sistemi di build di livello superiore come Make o CMake, i file Ninja non sono tipicamente scritti a mano. Invece, sono solitamente generati da un 'meta-sistema di build' come CMake, Meson o GYP, che traduce una descrizione del progetto più astratta nelle istruzioni di build altamente ottimizzate e parallelizzabili che Ninja può eseguire. Questi file contengono un grafo aciclico diretto (DAG) di passaggi di build, specificando input, output e comandi per ciascun passaggio. L'obiettivo primario di Ninja è eseguire questi passaggi di build il più rapidamente possibile, rendendolo particolarmente popolare per i grandi progetti in C++ dove i tempi di build possono rappresentare un collo di bottiglia significativo. L'estensione .ninja in sé non è strettamente standardizzata per tutti i file, ma build.ninja è il nome canonico per lo script di build principale.