nob.h is a header-only library for writing build recipes in C.
The core problem nob.h addresses is the complexity of build systems for C projects. Rather than requiring separate tools like make, cmake, or shell scripts, the library enables you to write your entire build system in C itself. You bootstrap the build by compiling a single C file that includes nob.h, then use that compiled program to build the rest of your project. This approach eliminates external dependencies beyond a C compiler, which exists for virtually every platform.
The tool suits C and C++ projects where developers are comfortable implementing build logic directly rather than relying on declarative configuration. It works well for projects with straightforward build requirements and enables interesting code reuse strategies, since the build system and project can share source files. The README explicitly cautions that nob.h is not suitable for projects using cmake with extensive module ecosystems and complex dependency management. The library is positioned as more akin to writing shell scripts in C than as a replacement for sophisticated build frameworks. The README describes this as an experimental research project and notes that it currently works well in the author's own C projects but makes no broader claims about suitability.
The project is actively maintained through real-world use in multiple C projects. The README acknowledges uncertainty about whether the approach is fundamentally sound and frames the work as exploratory rather than prescriptive. The library is distributed as a single header file requiring only copy-paste integration into a project, with usage examples provided in the repository.