Ninja 빌드 시스템 구성 파일은 종종 build.ninja라는 이름으로 사용되며, Ninja 빌드 시스템에서 사용되는 저수준 빌드 스크립트입니다. Ninja는 속도를 위해 설계된 오픈 소스 빌드 시스템으로, 증분 빌드(incremental builds)에 중점을 둡니다. Make 또는 CMake와 같은 고수준 빌드 시스템과는 달리, Ninja 파일은 일반적으로 수동으로 작성되지 않습니다. 대신, CMake, Meson 또는 GYP와 같은 '메타 빌드 시스템(meta-build system)'에 의해 생성되는 것이 일반적입니다. 이 메타 빌드 시스템은 보다 추상적인 프로젝트 설명을 Ninja가 실행할 수 있는 고도로 최적화되고 병렬화 가능한 빌드 지침(build instructions)으로 변환합니다. 이 파일들은 빌드 단계의 방향성 비순환 그래프(DAG: Directed Acyclic Graph)를 포함하며, 각 단계에 대한 입력(inputs), 출력(outputs) 및 명령(commands)을 지정합니다. Ninja의 주요 목표는 이러한 빌드 단계를 가능한 한 빨리 실행하는 것이며, 빌드 시간이 상당한 병목 현상(bottleneck)이 될 수 있는 대규모 C++ 프로젝트에서 특히 인기가 많습니다. .ninja 확장자 자체는 모든 파일에 대해 엄격하게 표준화되어 있지는 않지만, build.ninja는 주 빌드 스크립트의 표준 이름(canonical name)입니다.