core
Composable, transportable command-registry core for interactive CLIs.
This module has no third-party dependencies (no prompt_toolkit, no
rich) so it can be imported, composed, and unit-tested without any optional
extras installed. The interactive REPL driver lives in
fluid_control.cli.compose.repl.
The core abstraction is the [CommandGroup][fluid_control.cli.compose.core.CommandGroup]: a named node that holds a set
of leaf [Command][fluid_control.cli.compose.core.Command] objects and a set of child [CommandGroup][fluid_control.cli.compose.core.CommandGroup] nodes.
Because a group can mount another group under a name, a super-CLI can consume the
command groups exported by other packages and expose them hierarchically::
1 2 3 4 | |
The module is intentionally self-contained so it can later be extracted verbatim
into a standalone festo-dev-cli-compose distribution shared across packages.