Cake is a cross-platform build automation system with a C# DSL. It allows users to compile code, copy files, run unit tests, and build NuGet packages. Cake uses Roslyn or Mono and its own DLLs to run builds on multiple operating systems and CI servers. It advocates an non-intrusive and configurable approach to builds and aims to provide the same behavior regardless of environment.