Skip to content
Jung Hyun, Nam edited this page May 28, 2026 · 4 revisions

Cadenza

Write C# like a script. Ship it like Go. No orchestra. No project. Just one file, playing solo.

Cadenza is a family of MSBuild SDKs that turn .NET 10+ file-based apps into a real workflow. Pick the SDK that matches the shape of your program with a single #:sdk directive — the file stays one file.

#!/usr/bin/env dotnet run
#:sdk Cadenza.Web@1.0.15

Get("/", () => "Hello from Cadenza.Web");
await Run();

Run it: dotnet run app.cs. Ship it: dotnet publish app.cs for a self-contained single binary, or /t:PublishContainer for an OCI image — without a Dockerfile.


Start here

  • Getting Started — first script in three minutes
  • Installation — what you need on the machine, plus dotnet new cadenza templates
  • Editor Setup — full IntelliSense in VS Code / Cursor / Kiro / Rider

Pick an SDK

SDK What it is
Cadenza Console CLI tools, shell automation, one-shot scripts
Cadenza Worker Background services, daemons, long-running loops
Cadenza Web Minimal APIs, HTTP services
Cadenza Mcp MCP (Model Context Protocol) servers
Cadenza Agent Local AI agents — OpenAI Chat Completions + Responses API

Reference

  • Tier 1 API — bare names available without imports (Glob, Get, Tool, Log, Run, …)
  • Directives#:sdk, #:package, #:include, #:property
  • Samples — annotated tour of every .cs in samples/

Ship

When things break

  • Troubleshooting#:sdk resolution errors, stale NuGet cache, MCP stdio framing, container binding, …
  • FAQ

Around it


Cadenza targets .NET 10+. Current line: 1.0.x. Licensed MIT.

Clone this wiki locally