explaingit

nuke-build/nuke

Analysis updated 2026-07-03

3,727C#Audience · ops devopsComplexity · 3/5LicenseSetup · easy

TLDR

NUKE is a build automation framework for .NET that lets you write compile, test, and deploy pipelines in C# instead of YAML, with full IDE support, type checking, debugging, and automatic CI/CD config generation for GitHub Actions, Azure Pipelines, and more.

Mindmap

mindmap
  root((NUKE))
    Core Idea
      Build as C# code
      Not YAML
      IDE debugging
    Build Targets
      Compile
      Test
      Publish package
    CI Generation
      GitHub Actions
      Azure Pipelines
      GitLab CI
    dotNET Features
      Path abstraction
      Solution parsing
      Shared components
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace a YAML build pipeline with a typed, debuggable C# script that compiles, tests, and publishes a .NET project in one command.

USE CASE 2

Automatically generate GitHub Actions, GitLab CI, and Azure Pipelines YAML from a single NUKE C# build definition to keep all platforms in sync.

USE CASE 3

Share common build targets across multiple .NET repositories using NUKE's component system to avoid duplicating pipeline logic.

USE CASE 4

Debug a failing CI step locally by running the exact NUKE target in your IDE with breakpoints instead of pushing and waiting for a remote run.

What is it built with?

C#.NETNuGet

How does it compare?

nuke-build/nukelay295/twitchdownloaderpwntester/ysoserial.net
Stars3,7273,7233,723
LanguageC#C#C#
Setup difficultyeasyeasymoderate
Complexity3/52/53/5
Audienceops devopsgeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min
Use freely for any purpose, including commercial use, with no conditions beyond keeping the copyright notice.

In plain English

NUKE is a build automation system for .NET and C# projects. Build automation means writing code that controls how a software project gets compiled, tested, packaged, and deployed, rather than doing those steps by hand each time. Most build systems make developers write their automation logic in YAML files or shell scripts, which do not come with code completion, easy debugging, or the other tools C# developers are used to. NUKE lets you write that same automation in C# instead, as a regular console application. Because a NUKE build script is just C# code, developers can use their normal IDE features: autocomplete, refactoring tools, type checking, and step-by-step debugging. The build is organized into named targets, which are individual steps like compiling, running tests, or publishing a package. You can declare which targets depend on others, and NUKE figures out the correct order to run them. Parameters can be injected from environment variables, command-line arguments, or CI/CD system variables, all through the same mechanism. One feature the README highlights is CI/CD configuration generation. Rather than maintaining separate YAML files for GitHub Actions, TeamCity, GitLab CI, Azure Pipelines, and other services, NUKE can generate those files automatically from the C# build definition. This means you write the logic once and the configuration for each platform is produced from it, reducing the chance of inconsistencies between platforms. NUKE also handles some common practical problems in .NET builds: abstracting path separator differences between Windows and Linux, giving access to .NET solution and project file data from within the build script, and supporting shared build components that can be reused across multiple repositories. The project is open source under the MIT license and available as a NuGet package. It has active community channels on Slack and Discord.

Copy-paste prompts

Prompt 1
Help me create a basic NUKE build script in C# that compiles my .NET solution, runs unit tests, and publishes a NuGet package to a local feed.
Prompt 2
I have a NUKE build script and want to generate GitHub Actions and Azure Pipelines YAML from it. What attribute do I add to my targets and how do I trigger the file generation?
Prompt 3
Show me how to add a parameter to a NUKE build target that can be passed from the command line or read from an environment variable using the [Parameter] attribute.
Prompt 4
I have shared build logic I want to reuse across three .NET repositories using NUKE build components. Show me how to create a component interface and implement it in each project.

Frequently asked questions

What is nuke?

NUKE is a build automation framework for .NET that lets you write compile, test, and deploy pipelines in C# instead of YAML, with full IDE support, type checking, debugging, and automatic CI/CD config generation for GitHub Actions, Azure Pipelines, and more.

What language is nuke written in?

Mainly C#. The stack also includes C#, .NET, NuGet.

What license does nuke use?

Use freely for any purpose, including commercial use, with no conditions beyond keeping the copyright notice.

How hard is nuke to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is nuke for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub nuke-build on gitmyhub

Verify against the repo before relying on details.