Commands and Namespaces
A command name is a simple identifier or a dot-separated path. When dots are present, the final segment is the command and the leading segments form its namespace path:
guid --format D # no namespace
netsh.wlan.connect --name MyNetwork # two namespaces, one commandNamespaces are registered separately via NamespaceDefinition and require a name and help text. The full dotted string is the command identifier — there is no positional subcommand chaining.
netsh wlan connect). This library has no subcommand chaining — namespaces are part of the dotted command name (netsh.wlan.connect), not separate arguments.Naming rules
Names are dot-separated segments of letters, digits, and -, where - may only appear inside a segment — no segment may start or end with - — and no segment may be empty (..). Namespace names must begin with a letter and cannot start or end with .; command names may also begin with a digit. Namespace names are capped at 62 characters, command names at 64.
Registering namespaces is optional for commands. A dotted command name registers and executes whether or not its leading segments exist as namespaces — unregistered segments simply have no namespace entry in help output. Registering a nested namespace auto-creates any missing ancestors as placeholders: adding netsh.wlan before netsh exists creates a netsh namespace automatically, carrying no help text until you register it explicitly.
Command and namespace names are case-sensitive. Connect and connect are distinct commands.