About this project
Reprobuild is a unified build system that replaces fragmented tools like Dockerfiles, Nix flakes, Makefiles, and CI pipelines with a single, compile-time-verified build graph. Its core innovation is modeling not just files but states — such as running services, system settings, or cloud resources — as nodes in the graph. This allows consistent caching, hermeticity, and rollback across builds, dev environments, and infrastructure.
Key features include automatic dependency discovery through filesystem monitoring (via io-mon), hot code reloading across interdependent projects (e.g., editing Cairo while building Firefox), and zero-setup development via `repro develop`. Projects are defined in a typed Nim DSL (`repro.nim`), enabling IDE support and compile-time validation of tool versions, build steps, and service configurations.
It supports Windows, Linux, and macOS; integrates with Terraform providers; and offers distributed builds and test sharding. Unlike Bazel or Nix, it ships as a single native binary without daemons or remote services. Reprobuild enforces reproducibility by content-addressing inputs, verifying byte-for-byte output equality, and generating SBOMs and attestations automatically.
It also powers ReproOS, a Linux distribution built entirely from source using the same graph model. CLI commands cover building, testing, managing services, workspace syncing, and local infrastructure management. The system is MIT-licensed, with optional commercial services for hosted caches and enterprise use.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.