Diagnosing a Wolverine Application from the Command Line
Wolverine is a configuration-heavy framework. Conventions, policies, middleware, transports, and explicit routing all layer together, which is powerful — but it can leave you asking “what is my app actually doing?” This tutorial is a guided tour of the command-line tools Wolverine gives you to answer exactly that, roughly in the order you’d reach for them when something looks off.
For the exhaustive flag-by-flag reference, see the Command Line Integration and Diagnostics guides. This page is the walkthrough.
Opt Into the Command Line
Every command below rides on the JasperFx command-line integration. You opt in with a single line at the
bottom of Program.cs:
// Opt into JasperFx for command line parsing to unlock the built in
// diagnostics and utility tools within your Wolverine application
return await app.RunJasperFxCommands(args);From your project root, list what’s available:
dotnet run -- help::: tip
The metadata commands — describe, codegen, codegen-preview, describe-routing, and OpenAPI
generation — run without a live database or message broker. Wolverine detects “CLI metadata mode” and
stubs out persistence and transports, so these are safe to run in CI or on a laptop with no infrastructure.
:::
Step 1: Get the Big Picture with describe
When in doubt, start here:
dotnet run -- describedescribe prints a series of tabular reports about the running configuration:
- Wolverine Options — the basics, including which assembly Wolverine thinks is your application assembly and which extensions loaded
- Listeners — every configured listening endpoint and local queue, with how each is configured
- Message Routing — where known, published message types are routed
- Sending Endpoints — configured endpoints that send messages externally
- Error Handling — a preview of the active message-failure policies
- HTTP Endpoints — all Wolverine HTTP endpoints (only when
WolverineFx.Httpis in use)
This is also the report the Wolverine team will most often ask you to paste when you need help.
Step 2: See the Code Wolverine Generates
Wolverine generates the adapter code around your handlers and HTTP endpoints at startup. When you want to see it — what middleware ran, how dependencies resolve, where transactions wrap — write it out or preview it: