Configo.Tool
1.1.1
See the version list below for details.
dotnet tool install --global Configo.Tool --version 1.1.1
dotnet new tool-manifest
dotnet tool install --local Configo.Tool --version 1.1.1
#tool dotnet:?package=Configo.Tool&version=1.1.1
nuke :add-package Configo.Tool --version 1.1.1
Configo.Tool
The Configo CLI tool, distributed as a .NET tool.
It generates an appsettings.schema.json file for your application by introspecting its dependency injection container, giving you IntelliSense and validation for your configuration in editors that support JSON schema.
Installation
Install globally:
dotnet tool install --global Configo.Tool
Or as a local tool (recommended for repeatable builds):
dotnet new tool-manifest # if you don't have one yet
dotnet tool install Configo.Tool
Usage
Run from your application's directory:
configo schema generate
configo schema generate --project src/MyApp
configo schema generate --project src/MyApp/MyApp.csproj --output ./appsettings.schema.json
| Option | Description |
|---|---|
--project <path> |
Path to the .csproj file or the directory that contains it. Defaults to the current working directory. |
--output <file> |
Output path for the generated schema file. Overrides the default location. Can be absolute or relative to the current directory. |
--help, -h |
Show the help message. |
How it works
The tool launches your application out-of-process with schema generation enabled. Your app must reference the Configo.Design package and call AddConfigoDesign() so the tool can discover which CLR types are bound to which configuration sections. The tool then loads your compiled assemblies and generates the JSON schema. See the Configo.Design documentation for details.
To resolve your application's full dependency closure (including shared-framework assemblies the tool itself does not reference, such as System.Threading.RateLimiting), the tool seeds an AssemblyDependencyResolver from your app's entry assembly and its .deps.json.
The generated schema is written as UTF-8 without a byte-order mark, so editors such as VS Code consume it correctly.
The bindings manifest — not the application's process exit code — is the real success signal. If your host exits non-zero while shutting down mid-startup (for example, Kestrel rethrowing a cancellation from BindAsync) but a fresh manifest was written, the tool proceeds and prints a warning. See the Configo.Design documentation for how to make the design-time shutdown non-fatal.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.