📖 Documentation: docs.fallout.build
📦 Fallout is the successor to NUKE. Migrating from NUKE →
Build automation for C#/.NET — the hard-fork successor to NUKE.
Fallout is the successor to NUKE, originally created by Matthias Koch (matkoch) and many contributors. Fallout continues NUKE's mission as a C#-first build automation framework for .NET — under new maintenance, with an enterprise-CI/CD focus.
The original NUKE code is preserved here under the MIT License with attribution. Major version 10.x was the last NUKE release; everything from this fork forward carries the Fallout identity.
If you maintain a NUKE-based build, docs/Migration/from-nuke.md walks you through it. The short version:
dotnet tool install -g Fallout.Migrate
cd path/to/your-nuke-repo
fallout-migratedotnet tool install -g Fallout.GlobalToolThe CLI installs as fallout. Verify with fallout --help.
Note
Coming from NUKE's 10.x tool? Nothing to do — Fallout.GlobalTool is the same package id you already have pinned, so dotnet tool update just works. The only exception is the short-lived Fallout.GlobalTools (plural) id: if you installed 10.4.0-rc.4 from it, uninstall it and reinstall from Fallout.GlobalTool so you don't have two tools claiming the fallout command.
dotnet tool uninstall -g Fallout.GlobalToolsFor per-repo manifest pinning (.config/dotnet-tools.json), project setup, and shell completion, see the Installation guide on docs.fallout.build.
Note
Channels. Stable releases use classic semver (MAJOR.MINOR.PATCH) and ship from main, staying on 10.x (e.g. 10.5.3) until a breaking change is actually needed — v11 is deferred as long as possible, so Dependabot/Renovate upgrades within 10.x are always safe. Releases reach main through a release/vX.Y branch, cut on demand from develop. Releases publish to GitHub Packages, and to nuget.org if you opt in. The develop trunk publishes a faster …-preview.… prerelease to GitHub Packages only — add the GitHub Packages feed and a prerelease version range to opt in. The older support/v10 line covers versions before 10.4, and gets security and critical fixes only. See ADR-0009 and docs/branching-and-release.md for the full model.
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.
Fallout (NUKE's successor) 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. Fallout can also generate CI/CD configurations (YAML, etc.) that automatically parallelize build steps on multiple agents to optimize throughput!
CI runs on every PR targeting develop, main, release/*, or support/*, via build.yml (Linux). Its ubuntu-latest job is the only required status check. Cross-platform Test+Pack (Windows + macOS) only runs on PRs into main / release/* / support/*, and on v* tag pushes, via build-cross-platform.yml — not on routine develop work. Every push to develop publishes a …-preview prerelease to GitHub Packages under the reserved Fallout.* prefix. Stable releases fire from main tags via .github/workflows/publish-packages-release.yml (GitHub Packages + GitHub Releases by default; nuget.org by opt-in). Docs-only PRs go through a no-op companion workflow (build-skip), so branch protection is satisfied without spending CI minutes on a real build.
| Workflow | Status | Trigger |
|---|---|---|
build |
PR to develop / main / release/* / support/* (code paths) — job ubuntu-latest is the required check |
|
build-cross-platform |
PR to main / release/* / support/* or v* tag push — Windows + macOS (release intent) |
|
publish-packages-preview |
push to develop → …-preview prerelease to GitHub Packages |
|
publish-packages-release |
tag push on main (GA), release/vX.Y (rc), or support/* (legacy/retired) — nuget.org opt-in |
Multi-provider CI support (Azure Pipelines, GitLab, TeamCity, AppVeyor) was removed during the takeover and is being revived demand-driven — see #8.
Generated by Repobeats.
Generated by repostars.dev. Auto-updates as new stargazers arrive.
Two things help the project and take about a minute:
- Star the repo. It is how most people find Fallout.
- Show the badge. If you build with Fallout, link back from your own README. Fallout's own build is a Fallout build, so the badge sits at the top of this page too.
[](https://github.com/Fallout-build/Fallout)More styles and wordings, plus the logo source, are in docs/website/badge.md.
Want to contribute code, docs, or triage? Start with CONTRIBUTING.md.
Fallout is volunteer-run, and we want to be transparent about what running the project costs — see costs.md for the full list. It lives with the organisation's other shared project files, since the spend covers every repository rather than this one.
If you or your organisation would like to help offset those costs, use the sponsor button on any Fallout repository, or open an issue and we'll work out the details.
- Matthias Koch and the NUKE contributors — for creating and maintaining NUKE through version 10.x.
If you maintained or contributed to NUKE and want to be credited differently here, please open an issue.