Um Arquivo de Configuração do Sistema de Build Ninja, frequentemente nomeado build.ninja, é um script de build de baixo nível utilizado pelo sistema de build Ninja. Ninja é um sistema de build de código aberto (open-source) projetado para velocidade, com foco em builds incrementais. Ao contrário de sistemas de build de nível superior como Make ou CMake, os arquivos Ninja não são tipicamente escritos à mão. Em vez disso, eles são geralmente gerados por um 'meta-build system' como CMake, Meson ou GYP, que traduz uma descrição de projeto mais abstrata em instruções de build altamente otimizadas e paralelizadas que o Ninja pode executar. Esses arquivos contêm um grafo acíclico direcionado (DAG - Directed Acyclic Graph) de etapas de build, especificando entradas (inputs), saídas (outputs) e comandos para cada etapa. O objetivo principal do Ninja é executar essas etapas de build o mais rápido possível, tornando-o particularmente popular para grandes projetos C++ onde os tempos de build podem ser um gargalo significativo. A extensão .ninja em si não é estritamente padronizada para todos os arquivos, mas build.ninja é o nome canônico para o script de build principal.