ApplicationBuilderHelpers 4.1.149
dotnet add package ApplicationBuilderHelpers --version 4.1.149
NuGet\Install-Package ApplicationBuilderHelpers -Version 4.1.149
<PackageReference Include="ApplicationBuilderHelpers" Version="4.1.149" />
<PackageVersion Include="ApplicationBuilderHelpers" Version="4.1.149" />
<PackageReference Include="ApplicationBuilderHelpers" />
paket add ApplicationBuilderHelpers --version 4.1.149
#r "nuget: ApplicationBuilderHelpers, 4.1.149"
#:package ApplicationBuilderHelpers@4.1.149
#addin nuget:?package=ApplicationBuilderHelpers&version=4.1.149
#tool nuget:?package=ApplicationBuilderHelpers&version=4.1.149
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.0throughnet10.0· AOT-ready onnet8.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
--helpwith 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
- You register commands and shared setup modules.
- The library builds the host once per run.
- The library fills your options, arguments, and services.
- Your
Runmethod 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 | Versions 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. |
-
net10.0
- AbsolutePathHelpers (>= 0.3.149)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Hosting (>= 10.0.10)
-
net6.0
- AbsolutePathHelpers (>= 0.3.149)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Hosting (>= 10.0.10)
-
net7.0
- AbsolutePathHelpers (>= 0.3.149)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Hosting (>= 10.0.10)
-
net8.0
- AbsolutePathHelpers (>= 0.3.149)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Hosting (>= 10.0.10)
-
net9.0
- AbsolutePathHelpers (>= 0.3.149)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Hosting (>= 10.0.10)
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.149 | 18 | 10/13/2026 |
| 4.1.147 | 42 | 10/6/2026 |
| 4.1.145 | 39 | 10/1/2026 |
| 4.1.143 | 38 | 9/27/2026 |
| 4.1.142 | 50 | 9/23/2026 |
| 4.1.141 | 53 | 9/17/2026 |
| 4.1.140 | 50 | 9/16/2026 |
| 4.1.139 | 54 | 9/16/2026 |
| 4.1.138 | 48 | 9/15/2026 |
| 4.1.137 | 45 | 9/15/2026 |
| 4.1.136 | 52 | 9/14/2026 |
| 4.1.135 | 54 | 9/10/2026 |
| 4.1.134 | 472 | 9/9/2026 |
| 4.1.133 | 47 | 9/9/2026 |
| 4.1.132 | 55 | 9/9/2026 |
| 4.1.131 | 104 | 9/7/2026 |
| 4.1.130 | 66 | 9/4/2026 |
| 4.1.129 | 91 | 8/17/2026 |
| 4.1.128 | 53 | 8/17/2026 |
| 4.1.127 | 83 | 8/14/2026 |
## New Version
* Bump `application_builder_helpers` from `4.1.147` to `4.1.149`. See [changelog](https://github.com/Kiryuumaru/ApplicationBuilderHelpers/compare/application_builder_helpers/4.1.147...application_builder_helpers/4.1.149)
## What's Changed
* fix(cli): narrow over-eager routing and forgiveness guards by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/684
* docs: add struct-compatible parser sample (Fixes #680) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/685
* fix(cli): report surplus word after resolved help target (Fixes #677) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/686
* fix(cli): route root-opt past bankable globals, promote agreed shared-base defaults by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/687
* fix: consolidate command-first routing, childless-only miss, strict flags by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/688
* fix(cli): nuke pre-slot lookahead and canonical rebind by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/689
* fix(cli): forgive surplus-after-help only when leaf owns a positional slot (Refs #677) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/690
* fix(cli): restore bool positional literal table (Fixes #691) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/693
* fix(cli): uniform exit-2 for surplus after resolved help path (Fixes #692) by @Kiryuumaru in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/694
* Bump AbsolutePathHelpers from 0.3.148 to 0.3.149 by @dependabot[bot] in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/695
* Bump xunit.runner.visualstudio from 4.0.0 to 4.0.1 by @dependabot[bot] in https://github.com/Kiryuumaru/ApplicationBuilderHelpers/pull/696
**Full Changelog**: https://github.com/Kiryuumaru/ApplicationBuilderHelpers/compare/build.20261006042727.276c4c7...build.20261013061220.fd6030d