awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
ninja-build avatar

ninja-build/ninja

0
View on GitHub↗
ninja-build.org↗

Ninja

Ninja is a low-level build system and executable designed to function as a backend for higher-level build generators. It serves as a build graph processor that evaluates build files to determine the optimal execution order for target dependencies and binaries.

The tool focuses on fast software compilation by executing commands based on dependency graphs to transform source code into binaries. It operates as an incremental build tool, utilizing file timestamps to manage build operations and recompile only the modified parts of a project.

The system manages build automation through automated dependency tracking and incremental build management. It utilizes a manifest-based build definition to execute build files and produce final binaries.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Build System Backends - Functions as a high-performance execution backend for higher-level build generators.
  • Build Graph Processors - Evaluates build files to determine the optimal execution order for target dependencies.
  • Build Dependency Tracking - Tracks source file dependencies to prevent redundant compilation steps during incremental builds.
  • Manifest-Based Build Systems - Uses a flat, declarative manifest file to define explicit build rules and dependencies.
  • Incremental Build Systems - Tracks dependency graphs to ensure only modified parts of a project are recompiled.
  • Build Automation - Provides automated execution of build instructions and dependency management to produce final binaries.
  • External Task Orchestrators - Orchestrates the execution of arbitrary shell commands as build steps and monitors their exit codes.
  • Build Execution Engines - Provides a mechanism for running commands and scripts based on dependency graphs to compile software.
  • Build Execution Backends - Acts as a low-level execution layer that processes complex dependency graphs for software compilation.
  • Build Systems - Automates the transformation of source code into executable binaries using dependency-graph-based execution.
  • Build System Backends - Designed as a focused build engine to function as a backend for higher-level build generators.
  • High-Performance Build Execution - Focuses on maximum execution speed when transforming source code into binaries via low-level build instructions.
  • Directed Acyclic Graph Engines - Implements a build engine that traverses a directed acyclic graph to ensure prerequisites are compiled before dependents.
  • Parallel Build Schedulers - Distributes independent build tasks across multiple CPU cores to maximize compilation throughput.
  • Build Systems - Focuses on speed for small and simple build tasks.
  • Package Management - High-performance build system for generated input files.
13,034 stars·1,809 forks·C++·Apache-2.0·38 views

Star history

Star history chart for ninja-build/ninjaStar history chart for ninja-build/ninja

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Ninja

These projects share indexed features with Ninja. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • facebook/buckfacebook avatar

    facebook/buck

    8,542View on GitHub↗

    Buck is a multi-language build system and modular build orchestrator designed to compile and package software modules across different programming languages and hardware platforms. It functions as a hermetic build tool, isolating the build process from the host system to ensure consistent and reproducible outputs. The system manages polyglot software builds by organizing code into small, independent units to facilitate faster compilation. It operates as a cross-platform package manager that creates and distributes software components across various operating systems and language ecosystems.

    Javaandroidbuckbuild-tool
    View on GitHub↗8,542
  • moby/buildkitmoby avatar

    moby/buildkit

    10,061View on GitHub↗

    Buildkit is a programmable container build toolkit and OCI container image builder that converts build definitions into concurrent dependency graphs for image construction. It functions as an OCI image distribution engine, capable of generating container images and exporting artifacts to local storage or remote registries. The project is distinguished by its use of a low-level binary intermediate representation to decouple high-level build languages from the execution engine. It supports multi-platform image builds through user-mode architecture emulation and provides a distributed build cach

    Gobuilderbuildkitcloud-native
    View on GitHub↗10,061
  • pr0g/cmake-examplespr0g avatar

    pr0g/cmake-examples

    1,231View on GitHub↗

    This project provides a collection of minimal, modern configuration templates designed to demonstrate industry-standard practices for managing C and C++ build workflows. It serves as a practical guide for developers to implement build automation, dependency management, and project structuring using the CMake build system. The repository distinguishes itself by offering modular examples that cover complex build requirements, such as hierarchical project organization and the integration of external third-party source code. It emphasizes the use of target-based dependency graphs and interface-ba

    CMakecmakecmake-examplescmake-scripts
    View on GitHub↗1,231
  • dagger/daggerdagger avatar

    dagger/dagger

    15,970View on GitHub↗

    Dagger is a programmable CI/CD engine and containerized task runner designed to orchestrate build and test pipelines. It functions as an incremental build system that manages containers, filesystems, and secrets through a typed API to ensure consistent execution across local and cloud environments. The engine utilizes a language-agnostic client-server API to allow multi-language pipeline orchestration, enabling the sharing of typed artifacts and state across different SDKs without manual serialization. It optimizes execution through content-addressable caching and a directed acyclic graph to

    Go
    View on GitHub↗15,970
Compare all 30 related projects→

Frequently asked questions

What does ninja-build/ninja do?

Ninja is a low-level build system and executable designed to function as a backend for higher-level build generators. It serves as a build graph processor that evaluates build files to determine the optimal execution order for target dependencies and binaries.

What are the main features of ninja-build/ninja?

The main features of ninja-build/ninja are: Build System Backends, Build Graph Processors, Build Dependency Tracking, Manifest-Based Build Systems, Incremental Build Systems, Build Automation, External Task Orchestrators, Build Execution Engines.

Which projects share features with ninja-build/ninja?

Projects with overlapping indexed features include: facebook/buck — Buck is a multi-language build system and modular build orchestrator designed to compile and package software modules… moby/buildkit — Buildkit is a programmable container build toolkit and OCI container image builder that converts build definitions… pr0g/cmake-examples — This project provides a collection of minimal, modern configuration templates designed to demonstrate… dagger/dagger — Dagger is a programmable CI/CD engine and containerized task runner designed to orchestrate build and test pipelines.… moonrepo/moon — Moon is a monorepo build system and task runner designed to orchestrate complex projects with multiple packages. It… gradle/gradle — Gradle is a build automation tool for the Java Virtual Machine that functions as a polyglot build orchestrator. It…