ApplicationBuilderHelpers 4.1.147

This package has a SemVer 2.0.0 package version: 4.1.147+build.20261006042727.276c4c7.
dotnet add package ApplicationBuilderHelpers --version 4.1.147
                    
NuGet\Install-Package ApplicationBuilderHelpers -Version 4.1.147
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ApplicationBuilderHelpers" Version="4.1.147" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ApplicationBuilderHelpers" Version="4.1.147" />
                    
Directory.Packages.props
<PackageReference Include="ApplicationBuilderHelpers" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ApplicationBuilderHelpers --version 4.1.147
                    
#r "nuget: ApplicationBuilderHelpers, 4.1.147"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ApplicationBuilderHelpers@4.1.147
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ApplicationBuilderHelpers&version=4.1.147
                    
Install as a Cake Addin
#tool nuget:?package=ApplicationBuilderHelpers&version=4.1.147
                    
Install as a Cake Tool

ApplicationBuilderHelpers

Build command-line apps in .NET with plain classes. Mark a class as a command, add options and arguments as properties, then run it.

  • Targets: net6.0 through net10.0 · AOT-ready on net8.0+ · Trimmable
  • Packages: Microsoft.Extensions.Hosting, Microsoft.Extensions.DependencyInjection.Abstractions, AbsolutePathHelpers

Features

  • Commands with automatic parsing. You write a class. The library reads the arguments.
  • Services in your command. Ask for a service. The library provides it.
  • Shared setup modules. Group common services once. Reuse them in every app.
  • App settings that reuse another key with @ref: — see Configuration.
  • Command markers: [Command], [CommandOption], [CommandArgument].
  • Subcommands like deploy prod. Nest as deep as you need.
  • Styled --help with 6 color themes and adjustable width.
  • Console and web hosts. Use the default for CLIs. Plug in your own for servers.

Installation

dotnet add package ApplicationBuilderHelpers

Quick Start

New here? Follow Getting Started for a full Hello sample. It prints Hello, Alice! and exits 0. Prefer a full starter app? See Starter Templates.

RunAsync returns an exit code: 0 success, 2 bad input, 1 failure, 130 canceled. See Commands.

Core Concepts

Extend Command and override Run. Add options with [CommandOption] and positionals with [CommandArgument]. Put shared setup in Application Dependencies.

Exit codes: 0 means success, 2 means bad input, 1 means failure, 130 means canceled. See API Reference.

How a Run Works

Commands → Shared setup → Host build → Services → Your Run method
  1. You register commands and shared setup modules.
  2. The library builds the host once per run.
  3. The library fills your options, arguments, and services.
  4. Your Run method executes.

Full order lives in Commands.

Documentation

Guide Covers
Getting Started Install, minimal app, first command, run it
Starter Templates Copy-only Plain CLI, WebApi, or WebApiAndWebApp starter
Commands Commands, options, arguments, services, completion
Application Dependencies Shared setup modules
Configuration & Themes App name, help width, themes, @ref: settings
Custom Type Parsers Support your own option types
Advanced Topics Subcommands, web hosts, errors, help
API Reference Every public class and method

Secret values stay hidden. Help, errors, and completions never print them.

Contributing

Contributions are welcome! Please submit a Pull Request.

License

MIT — see the LICENSE file.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
4.1.147 33 10/6/2026
4.1.145 39 10/1/2026
4.1.143 35 9/27/2026
4.1.142 47 9/23/2026
4.1.141 50 9/17/2026
4.1.140 45 9/16/2026
4.1.139 49 9/16/2026
4.1.138 46 9/15/2026
4.1.137 43 9/15/2026
4.1.136 50 9/14/2026
4.1.135 52 9/10/2026
4.1.134 459 9/9/2026
4.1.133 45 9/9/2026
4.1.132 53 9/9/2026
4.1.131 100 9/7/2026
4.1.130 64 9/4/2026
4.1.129 89 8/17/2026
4.1.128 51 8/17/2026
4.1.127 81 8/14/2026
4.1.126 52 8/13/2026
Loading failed

## New Version
* Bump `application_builder_helpers` from `4.1.145` to `4.1.147`. See [changelog](https://github.com/Kiryuumaru/ApplicationBuilderHelpers/compare/application_builder_helpers/4.1.145...application_builder_helpers/4.1.147)

## What's Changed
* fix(cli): symmetric help/version forgiveness plus global version footer (Fixes #595) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/620
* cli: default sink policy keeps lifetime logs off stdout (Fixes #604) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/624
* cli: single-letter Term auto-alias via shared ResolveShortName (Fixes #605) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/626
* fix(cli): isolate external abort from hosting lifetime output (Fixes #603) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/625
* fix(cli): unknown option takes precedence over help regardless of order (Fixes #607) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/627
* docs(cli): clarify exact option-name matching, CaseSensitive values-only by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/628
* feat(cli): add @response-file expansion to argv (Fixes #606) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/629
* fix(cli): true global flags bind at any position by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/630
* docs: clarify FromServices shim requirement (Fixes #632) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/641
* docs: add missing using directives to configuration snippets by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/640
* cli: gate concrete-root miss before positional bind (Fixes #631) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/644
* fix(cli): reserve help/version in DidYouMean ranking (Fixes #635) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/643
* fix(cli): fail-closed DidYouMean blame-token and subcommand gates by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/642
* fix(cli): synthetic parent help + force routing by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/645
* fix(cli): bind FromAmong-matched strings in canonical casing (Fixes #637) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/646
* fix(cli): bare-only boolean flags (Fixes #602) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/647
* fix(cli): uniform usage-error kinds and footers (Fixes #636) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/648
* fix(cli): help-width floor and piped-theme docs (Fixes #638) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/649
* docs: clarify starter templates are copy-only and add discovery pointers by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/650
* fix(cli): leading-help miss uniformity by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/663
* fix(cli): owner-only unknown-option footer (Fixes #652) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/662
* cli: gate help/version forgiveness on FromAmong probe by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/664
* fix(cli): centralize leaf-owned option scope authority (Fixes #651) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/666
* docs: add missing using directives (Fixes #657) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/667
* fix(cli): reserved help/version =-forms use bare-only text (Refs #655) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/668
* docs: Required means present not non-empty (Refs #658) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/669
* fix(cli): route short clusters in pre-subcommand path walk by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/670
* cli: always show redacted secret default in help (Fixes #660) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/671
* fix(cli): narrow -H hint plus list -? in help (Fixes #659) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/672
* fix(cli): per-type parser hints + help-width ceiling (Fixes #661) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/673
* Bump coverlet.collector from 10.0.1 to 10.1.0 by @dependabot[bot] in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/589
* Bump Microsoft.CodeAnalysis.CSharp from 4.14.0 to 5.9.0 by @dependabot[bot] in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/590

**Full Changelog**: https://github.com/Kiryuumaru/ApplicationBuilderHelpers/compare/build.20261001103733.6353458...build.20261006042727.276c4c7