.NET
Support Status
Section titled “Support Status”- Status: Preview
- Last verified: 2026-04-26
- Data source:
apps/docs/src/data/language-support.yaml(dotnet)
Quickstart
Section titled “Quickstart”- In your .NET project root, restore dependencies:
dotnet restore. - Bootstrap LumenFlow workflow files:
npx @lumenflow/cli@latest. - Run workflow smoke:
pnpm wu:prep --id WU-EXAMPLE.
A dedicated companion example repo is in preparation.
Install and Command Path
Section titled “Install and Command Path”Native NuGet tool channel support is out of scope in this initiative.
Gate Preset
Section titled “Gate Preset”Since WU-2547, lumenflow init auto-detects the dotnet preset from the
presence of any *.csproj or *.sln file in the target directory. A new .NET
project initialised by LumenFlow will already have preset: dotnet wired
through workspace.yaml and all onboarding templates (formatter guidance,
troubleshooting recipes) rendered with dotnet format rather than
pnpm prettier --write. No explicit flag is needed in the common case.
The explicit configuration is still supported as an override when auto-detection picks the wrong preset (for example a repo that mixes .NET code with a non-.NET root layout):
An explicit --preset dotnet on the lumenflow init command line has the
same effect and always wins over auto-detection.
Preset commands from packages/@lumenflow/core/src/gates-presets.ts:
tests.unit and wu:prep
Section titled “tests.unit and wu:prep”.NET repos can still declare tests.unit in their WU specs as automated verification evidence.
When wu:prep runs under the dotnet preset, LumenFlow uses the preset-aware fallback to the
configured default test flow instead of trying JavaScript-style path-scoped execution.
In practice, that means you usually do not need --full-tests just to avoid a scoped-runner
mismatch. Keep --full-tests for the cases where you explicitly want to force the default
incremental/full test flow.