ncosentino.curb-cli.linux-x64
0.7.4-canary.0.28
dotnet add package ncosentino.curb-cli.linux-x64 --version 0.7.4-canary.0.28
NuGet\Install-Package ncosentino.curb-cli.linux-x64 -Version 0.7.4-canary.0.28
<PackageReference Include="ncosentino.curb-cli.linux-x64" Version="0.7.4-canary.0.28" />
<PackageVersion Include="ncosentino.curb-cli.linux-x64" Version="0.7.4-canary.0.28" />
<PackageReference Include="ncosentino.curb-cli.linux-x64" />
paket add ncosentino.curb-cli.linux-x64 --version 0.7.4-canary.0.28
#r "nuget: ncosentino.curb-cli.linux-x64, 0.7.4-canary.0.28"
#:package ncosentino.curb-cli.linux-x64@0.7.4-canary.0.28
#addin nuget:?package=ncosentino.curb-cli.linux-x64&version=0.7.4-canary.0.28&prerelease
#tool nuget:?package=ncosentino.curb-cli.linux-x64&version=0.7.4-canary.0.28&prerelease
Independently maintained fork
This repository is a fork of Curb, originally developed by Nullean and its contributors. It is maintained for our own use and downstream development, not as an official Curb distribution. The original Git history, MIT license, and attribution notices are preserved.
Please report fork-specific issues in this repository's issue tracker. Keep development discussions and pull requests for this fork in this repository. The documentation links and installation commands below refer to upstream unless explicitly stated otherwise.
Fork contributor documentation: Contributing, agent guidance, and fork maintenance.
Fork downloads: fork Releases contain
ncosentino.curb-cli and ncosentino.curb, distinct from the upstream packages shown below.
CI retains no Actions artifacts. Fork maintenance
explains release installation and the separate NuGet.org authorization.
The fork's action entrypoint fails explicitly until an action distribution is enabled; it never
silently runs the upstream container instead of this source.
Repository-specific layouts: custom layout rules let a repository select declaration-aligned callback wrappers, hanging logical-condition headers and standalone multiline raw-string openers through a data-only rule pack. Method names stay in consumer configuration, callback bodies still receive normal formatting, and no source pragmas are required.
<picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nullean/curb/main/docs/images/curb-lockup.svg"/> <img src="https://raw.githubusercontent.com/nullean/curb/main/docs/images/curb-lockup-light.svg" alt="curb" width="176" height="96"/> </picture>
Curb
A C# formatter that reads your .editorconfig — all of it.
Curb reflows C# to a line width, the way Prettier does, while honouring the complete set of .NET formatting options (code style rule IDE0055). Its defaults are Roslyn's defaults, so it agrees with Visual Studio and Rider out of the box.
📖 Documentation — full option reference, design rationale, and the build integration guide.
Why
Fast enough to run on every build. curb is a native-AOT binary with no warm-up cost. Measured cold on Newtonsoft.Json (945 files):
| curb | dnf whitespace | CSharpier | |
|---|---|---|---|
| Newtonsoft.Json (945 files) | 0.26 s | 3.47 s | 4.85 s |
dnf whitespace is dotnet format whitespace — the whitespace-only pass, curb's closest equivalent.
Across twelve real repositories curb is 5–25× faster than dotnet format whitespace, while doing
more: it reflows long lines, sorts using directives, and applies syntax-level code style on top.
Fast enough to wire into dotnet build and forget about it. Full numbers:
Benchmarks.
On subsequent builds the MSBuild integration skips unchanged projects entirely — no process starts. For projects with changes, only the files that changed since the last build are reformatted. curb is FAST cold, FASTER warm.
Plays well with your IDE and dotnet format. Curb supports the full set of .editorconfig
formatting properties that Visual Studio, Rider and dotnet format read — all 39 csharp_* and
dotnet_* keys of IDE0055,
plus the ReSharper wrapping and blank-line keys. Running dotnet format whitespace over Curb's
output never disagrees — measured across 41,000 files, gated on every push.
Install
MSBuild — runs on every dotnet build
<PackageReference Include="curb" Version="*" PrivateAssets="all" />
Curb runs before CoreCompile, rewriting source in Debug and checking in Release. With
EnforceCodeStyleInBuild set, the only style diagnostics left are the ones that genuinely require a
compilation — everything mechanical is already fixed before the compiler reads the file.
This is the recommended integration for most projects. It is particularly effective in agentic workflows: any code an agent writes or edits is formatted automatically on the next build, without the agent having to think about it. See the build integration docs.
CLI — pre-commit hooks, CI, scripting
dotnet tool install -g curb-cli
Ships as a native-AOT binary per platform (linux-x64, linux-arm64, win-x64, win-arm64,
osx-arm64), with a portable fallback. About 10 ms startup.
curb format ./src # format in place
curb check ./src # exit 1 if anything would change
curb print-config Foo.cs # show every resolved option and its source
For code style rules that need a compilation (unused usings, var, naming), run a build first and
let Curb read what it reported:
dotnet build && curb cleanup
curb rules lists what Curb fixes and what it leaves to dotnet format style.
Building from source
Requires the .NET 10 SDK.
git clone https://github.com/nullean/curb.git
cd curb
./build.sh build
./build.sh test
License
MIT — see LICENSE.txt.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.7.4-canary.0.28 | 0 | 10/5/2026 |
| 0.7.4-canary.0.27 | 42 | 10/4/2026 |
| 0.7.4-canary.0.26 | 110 | 9/27/2026 |
| 0.7.4-canary.0.25 | 135 | 9/20/2026 |
| 0.7.4-canary.0.24 | 82 | 9/20/2026 |
| 0.7.4-canary.0.23 | 260 | 9/17/2026 |
| 0.7.4-canary.0.22 | 64 | 9/17/2026 |
| 0.7.4-canary.0.17 | 65 | 9/16/2026 |