ninja-build/ninja

a small build system with a focus on speed

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 20 minutes ago
Added to GitGenius on September 4th, 2026
Created on February 6th, 2011
Open Issues & Pull Requests: 409 (+0)
GitHub issues: Enabled
Number of forks: 1,822
Total Stargazers: 13,204 (+0)
Total Subscribers: 259 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.7 days
Mean response time: 115.0 days
90th percentile: 221.6 days
Tracked items: 327

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 94% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 3% of issues opened in the past year have been closed. Three people close 81% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 155
New in 7 days: 0
Closed in 7 days: 4
Avg open age: 2,086 days
Stale 30+ days: 148
Stale 90+ days: 134

Recent activity

Opened in 7 days: 0
Closed in 7 days: 4
Comments in 7 days: 3
Events in 7 days: 11

Top labels

  • windows (43)
  • frontend (17)
  • help wanted (17)
  • cleanup (3)
  • bug (2)
  • freebsd (1)
  • macOS (1)

Detailed Description

Ninja is a small build system with a focus on speed.

Ninja addresses the need for fast build execution by using a streamlined approach to dependency tracking and task execution. Rather than attempting to be a comprehensive build configuration tool, it focuses on the core problem of converting a build specification into compiled output as quickly as possible. The tool reads build files that describe dependencies and commands, then executes them in an optimal order while parallelizing work where possible.

Ninja suits projects that already have a build configuration system in place and need faster incremental builds. It works well as a backend for higher-level build generators that produce Ninja build files, making it particularly valuable in large codebases where build time is a bottleneck. The tool requires only a single binary for operation, with no installation step necessary, though optional shell completion and editor integration files are available. Developers should choose Ninja when build speed is a priority and they are comfortable with a minimalist tool that does not attempt to handle build configuration generation itself.

The project maintains a disciplined development approach focused on its core mission. The codebase is written in C++ and can be built either through a custom Python generator script or CMake, with unit tests available through GoogleTest integration. Documentation is comprehensive, including a detailed manual available in HTML and PDF formats alongside Doxygen-generated API documentation for developers modifying the tool itself. The project provides precompiled binaries for Linux, Mac, and Windows through its release channel, eliminating the need for users to build from source.