Class BowireCliCommandRegistry

Namespace
Kuestenlogik.Bowire.Cli
Assembly
Kuestenlogik.Bowire.Cli.dll

Discovers every IBowireCliCommand implementation in the current AppDomain at startup. Same shape + blacklist contract as BowireProtocolRegistry — one pattern for operators to learn (--disable-plugin for protocols, --disable-cli-command for subcommands).

public sealed class BowireCliCommandRegistry
Inheritance
BowireCliCommandRegistry
Inherited Members

Constructors

BowireCliCommandRegistry()

public BowireCliCommandRegistry()

Properties

Commands

public IReadOnlyList<IBowireCliCommand> Commands { get; }

Property Value

IReadOnlyList<IBowireCliCommand>

Methods

Discover(IEnumerable<string>?, ILogger?)

Scan every loaded Kuestenlogik.Bowire* assembly for concrete IBowireCliCommand implementations and instantiate one of each. Skips ids in disabledCommandIds so operators can mask a noisy / heavy command (--disable-cli-command scan etc.) without rebuilding the tool.

public static BowireCliCommandRegistry Discover(IEnumerable<string>? disabledCommandIds = null, ILogger? logger = null)

Parameters

disabledCommandIds IEnumerable<string>
logger ILogger

Returns

BowireCliCommandRegistry

Register(IBowireCliCommand)

public void Register(IBowireCliCommand command)

Parameters

command IBowireCliCommand