nuke is a free, open source orchestration & scheduling project written in C# and released under MIT. It has 3,751 GitHub stars, 455 forks and 121 open issues, and was last pushed 11 months ago. On this registry it ranks #42 of 130 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available.

What is nuke?

NUKE is the AKEless build system for C#/.NET: an MIT-licensed build automation tool that lets .NET developers define their CI/CD pipelines as a regular console application instead of YAML, and it is aimed at C# teams who want the language and IDE tooling they already rely on to extend to their build scripts.

What it is

NUKE is a build automation system for the C#/.NET ecosystem. Rather than describing a pipeline in YAML or in a shell-based build script, developers write the pipeline as a normal console application, which means the entire build definition is ordinary C# that can be compiled, debugged, refactored, and formatted with a standard IDE. The project is distributed as the NuGet package nuke.common and is documented at nuke.build, with community support available through its Slack and Discord channels.

The concrete problem it solves is the disconnect between the C# developer experience and the tooling that surrounds CI/CD. The project's own pitch observes that many developers are reluctant to touch YAML files and build scripts because they lose code completion, ease of debugging, refactorings, and code formatting in the process. NUKE replaces that YAML-and-script layer with a regular .NET console application, so the build pipeline benefits from the same language features the rest of the codebase already enjoys. In addition, it addresses several recurring build-automation problems in one place: parameter injection, path separator abstraction, access to solution and project models, and build step sharing across repositories.

Key capabilities

  • Build pipelines are written as a regular console application, permitting object-oriented programming instead of a declarative YAML file.
  • Parameter injection is handled by the framework, removing the need for hand-rolled argument parsing inside build scripts.
  • Path separator abstraction lets the same build logic run across operating systems without per-platform branching.
  • Access to solution and project models allows build steps to read the structure of a .NET solution directly.
  • Build step sharing across repositories makes common build logic reusable between separate projects.
  • CI/CD configuration generation produces YAML and other formats, and can automatically parallelize build steps across multiple agents to optimize throughput.
  • Distribution runs through the nuke.common NuGet package, with stable and pre-release versions both published on nuget.org.

Who uses it and how

  • .NET teams whose pipelines currently live in YAML files and who want the same debugging, refactoring, and code completion they get in the rest of their C# work.
  • Organizations running multi-agent CI, which rely on the generated configurations that automatically parallelize build steps across several agents.
  • Teams that maintain build logic across more than one repository and need build step sharing rather than duplicated scripts.
  • Projects building on multiple operating systems, where path separator abstraction removes a common class of platform-specific bugs.
  • The project has accumulated several thousand stars and several hundred forks on GitHub, and discussion happens in its Slack and Discord communities.

Getting started

NUKE is installed as the NuGet package nuke.common, with stable and pre-release versions published on nuget.org; the documentation at nuke.build covers the introduction and setup.

How it compares

The available facts do not name any comparable or competing build tools, and no list of paid products that NUKE replaces is provided. On the evidence available, NUKE stands alone in this registry.

When to use it โ€” and when not to

NUKE is a good fit for C#/.NET projects that want build logic to be first-class, compilable code with IDE support. It is a poor fit for teams outside the .NET ecosystem and for those who are content with plain YAML or shell scripts and do not want a compiled console application in their build path. One honest limitation is that the README excerpt is largely badges and an elevator pitch, so most substantive documentation lives off-site at nuke.build, and this registry entry cannot substitute for reading it.

project readme (upstream, from github) โ€” read inline

The AKEless Build System for C#/.NET

Latest Release Latest Pre-Release Downloads License

Table of Contents

Elevator Pitch

Solid and scalable CI/CD pipelines are an essential pillar for being competitive and creating a great product. But why are most of us a little afraid of touching YAML files and don't even dare to look at build scripts? Much of this is because C# developers are spoiled with a great language and smart IDEs, and they don't like missing their buddy for code-completion, ease of debugging, refactorings, and code formatting.

NUKE brings your build automation to an even level with every other .NET project. How? It's a regular console application allowing all the OOP goodness! Besides, it solves many common problems in build automation, like parameter injection, path separator abstraction, access to solution and project models, and build step sharing across repositories. NUKE can also generate CI/CD configurations (YAML, etc.) that automatically parallelize build steps on multiple agents to optimize throughput!

For more information check out our documentation or visit our community ...

Slack Discord Twitter Mastodon

Example

Build Status

NUKE builds and tests itself on several CI/CD services, which helps to ensure a working integration with those systems. At the same time, the individual configuration files serve as examples for the generation experience:

Build Server Status Platform Configuration
TeamCity TeamCity Win settings.kts
GitHub Actions GitHub Actions Win / Ubuntu / macOS continuous.yml
GitLab CI GitLab CI Ubuntu .gitlab-ci.yml
Azure Pipelines Azure Pipelines Win / Linux / macOS azure-pipelines.yml
AppVeyor AppVeyor Win / Ubuntu appveyor.yml

[comment]: (| Bitrise | [![Bitrise](https://img.shields.io/bitrise/ffbfd67a7e3f1561/develop.svg?token=AsgY8yIy6MzdWs0cncU2Jg&style=flat-square&logo=bitrise&label=build)](https://www.bitrise.io/app/ffbfd67a7e3f1561#/builds) | Ubuntu | [bitrise.yml](https://github.com/nuke-build/nuke/blob/develop/bitrise.yml) |) [comment]: (| Travis CI | [![Travis CI](https://img.shields.io/travis/nuke-build/nuke/develop?style=flat-square&label=build&logo=travis-ci&logoColor=white)](https://travis-ci.org/nuke-build/nuke) | MacOS / Ubuntu | [.travis.yml](https://github.com/nuke-build/nuke/blob/develop/.travis.yml) |) [comment]: (| Jenkins | [![Jenkins Build](https://img.shields.io/jenkins/s/https/jenkins.nuke.build/job/nuke-build/job/nuke/job/develop.svg?style=for-the-badge&label=jenkins&logo=%20data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM%2FrhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMjHxIGmVAAAGBklEQVRYR82YfayWcxjHT%2B%2BnkuQlU2e9iE6MiJS%2FakOLFCvOJHGY1kRYRqNh2LAOUXZaTJFWMubloGYtm7Nl8tZ0hlUzJ0dFRVGhF53j8%2F093%2Ftxnufc9%2FNyTjbf7bvf77qu73Xd93M%2Fv%2Fv3cpe0BU1NTaWNjY0Xw2nwSbgMroK1cD38BK5BtxTeT380bSen%2FzfgAj250G1wLTyIHQtih%2BE%2BeMSuAOxf4bOwzCWPDajdjaKPwX2pS2UC%2Fx9wGd0K2v607Z3XHrsvvAJWwXrr%2F4T3Rbo2gSKnU%2BwbFc4G%2FqNwETzF8pwgRTc8Gf7g%2FDdhF4eLB8m9o2LZwL8fjre0KJCuobLKdd6gaedQcSB5pYpkA%2F9fcJRlrQJlOlFjtevNsrtwkNQfHlWBbOCfYVmbQKkTqPUjPAD72J0fiLvCFanbyYSLtRg3%2BE6DI5AMgR3sjgU61R8I9QJNcd35DucH4reVlATiYy3VUzgf%2B%2BNUJI0BDseC%2BPSULNTa43YvTaklyUCoCTUfKqSlHYL%2Bd3gEvgofgnNDoRxAUw4Xkb%2BU9rtQEdCfYEkyED1tfSyIC%2F2trUmZjRNDcitAyQ7kL3Tt%2FH8zonckTgLxWkulHQ%2FvsJkGPq02NchzTh9oytF8RHsD1OqzzqFkIArzUxKIT7U0EWietzY9FdHXSvIh7vTqgX0mPAS%2FhZvhboeSgWi5iseBmMZaD0sTgWak9cvtkq%2FavvPsCsCeZ%2F%2FfUCtT7pUF7SNKiAPJDZYlAllHtWg%2Fhwdh2BjQjnWNBbYrYR2slT8Cdm%2FFE4Gg%2BUvym9sAYodoeloaCzTacmm79bVzZspPV%2Buw%2Fkrd9NlwDvwF6qlp87DD%2BoGhUBwI3mTROpoL7XtYvgjYVwdxDAhrj7gGhq0Y7VY42GHVuhTqhrbAvvIh6wz1JmvaUc6gIM4GsY4Ed8Bt9I%2BTkLYdbZkSI2Df45REINM6exJti%2B0Ufm2zVKcepm%2BG%2Fkv2xy95BC6wYB7sAXWzsx3TAN4G70SSf7bPA%2BrMgoL2hyfb95Yc2N2CKBvEokGs5Bvdv9uxGZhtvrHmoOYcX6PKtsatNsTxcyfB6Ak%2BB%2B%2BFm%2BBQh1sNagyHGX8btjYJL%2Fh6mjM1lHQc2GhJSyDSuNkJd8ET7W4zqKXDlFaJ66H%2BHb3lh31zX0HtgsI4p13htHgg0BiTUHPYGfJh9qOvbX1YfwsF%2BuPdzlTNCNh6i7X7uZm2qzT0KxwLQyoRaPSo51usF%2BMz2GD7WsvyAu25cA%2FU8lYGr4R3wUnwVF9Hvu%2FhdXCxr1HYkEI4Dq4lJ0zU9KsdKgjoR8DNztUT2wh1QNL41s1vdUzr8O1wN9QbXdzZhKSwN6R9wq4A7NlQW%2FXYSRW%2FnpLG9FT4PtSKIWgVGQp%2FhkvQaD95Tdw1CgJ5nUncCzPeLuzJLvq4XWngewbqqU1DEtZl2nawFPZSPwiB%2Buj0BUKbkOQlLhdIjKaDc%2BySrwtsgDqflNsdgD0Y7nKOdtsb6H5Bq4m%2B3rIA7InWpXc9RYN8nTmExXYFYE9IucONXmR3AHYf%2BBTcADW%2B9Bdrv6e%2Fu7s1OjXqpg9wjZxnmJwg%2BTKKROeOYXYHYGuA621XbCEs6JsLukEweom0pOY%2Fi2SDJB1s3lORCNjb4XBLArBHwS2Oa0LWOaUScwDMeCvx66k9CvdL3xz43qXpZ2kyEOkwrYEeZvts4NfTehmOwexFq7kt6aOSvnBpydQ0E%2FZ7uYBG%2F1T8kYK4NpS3wp0peeEgR%2BvoXLgEbrc7AFs7lDQwV8ORUOeROrvTwCeM8W2lgGMYXG9NQUD%2FAc3r7q90Kf1Q7SunwC8Vi4D9E5xkWQD2AoezMd2SIHoAZnxoLATkaK6LlsXXXC4D%2BC%2BBL8Jq2OITHb6qUCwL%2BK8KAvqaiGM%2FEBUDasTeYD6Q94pLZAD%2FWZYE0af2txrUqHG5NHBrTI%2Bj1ecNfRYR9flXf%2F%2Fl%2BKfThu8yzYFP55l%2Fv2XjuCUVaj2osYlGN9QdjoZ6YcKGoFiQV%2BdbSwGfvj%2Fry1KbQA0te8diuLRc9nA%2BCLX3%2Bz%2BwMnVXJSX%2FACrjqI7wt59WAAAAAElFTkSuQmCC)](https://jenkins.nuke.build/blue/organizations/jenkins/nuke-build%2Fnuke/branches/) |)

Technology Sponsors

Thanks to JetBrains for providing licenses for Rider and access to a TeamCity Cloud instance, which both make open-source development a real pleasure!

Thanks to SignPath for providing free code signing service and to the SignPath Foundation for a free code signing certificate.

Frequently asked questions

Is nuke free to use?

nuke is open source under the MIT licence. There is no licence fee and no seat count โ€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does nuke do?

๐Ÿ— The AKEless Build System for C#/.NET

What is nuke written in?

nuke is primarily written in C#. Its source is publicly available at https://github.com/nuke-build/nuke, and it has 3,751 GitHub stars.