Hi there!
I'm Jonas, the developer of InSpectra - an OpenCLI visualizer for .NET CLI tools, much like SwaggerUI or ReDoc but for command-line interfaces instead of REST APIs. You can see it in action at inspectra.kamsker.at, which includes a NuGet tool browser powered by an index I built.
To populate that index, I run InSpectra-Discovery - an automated pipeline that indexes every Spectre.Console.Cli tool published on NuGet. The pipeline installs each tool and invokes two introspection subcommands to extract the command tree:
uno-check cli opencli
uno-check cli xmldoc
These commands are part of the OpenCLI spec - a lightweight introspection contract that Spectre.Console.Cli tools can opt into so their command surface becomes machine-readable.
What happened
While indexing Uno.Check 1.35.0-dev.10, the pipeline was unable to extract your tool's command metadata. The introspection commands are not recognized by your tool.
The command uno-check cli opencli failed with:
Error: Unknown command 'cli'.
check cli opencli
^^^ No such command
It looks like your tool rewrites unknown first arguments to the default command (e.g., cli becomes check cli), so the introspection subcommands are never dispatched.
What would help
Adding support for cli xmldoc (that alone is enough - we can synthesize the rest from it) would let InSpectra include your tool in the index and make it discoverable to other developers.
Your project currently references Spectre.Console.Cli 0.50.0. The cli xmldoc command has been a built-in hidden command in Spectre.Console since its very early days (December 2020), and cli opencli was added in v0.52.0. Upgrading to the latest Spectre.Console.Cli should give you both commands out of the box - no code changes needed.
This is entirely optional - your CLI works fine on its own. This is about compatibility with InSpectra's indexing, not a bug in your tool.
PS: I'm working on a GitHub Action to auto-generate purpose-built InSpectra pages for your repo, like this: Example If you're interested, you can find the exact commands buried in my CI, or come back in a few days when I have the easy documentation ready.
Links
Thanks for your time!
- Jonas
Hi there!
I'm Jonas, the developer of InSpectra - an OpenCLI visualizer for .NET CLI tools, much like SwaggerUI or ReDoc but for command-line interfaces instead of REST APIs. You can see it in action at inspectra.kamsker.at, which includes a NuGet tool browser powered by an index I built.
To populate that index, I run InSpectra-Discovery - an automated pipeline that indexes every Spectre.Console.Cli tool published on NuGet. The pipeline installs each tool and invokes two introspection subcommands to extract the command tree:
These commands are part of the OpenCLI spec - a lightweight introspection contract that Spectre.Console.Cli tools can opt into so their command surface becomes machine-readable.
What happened
While indexing
Uno.Check1.35.0-dev.10, the pipeline was unable to extract your tool's command metadata. The introspection commands are not recognized by your tool.The command
uno-check cli openclifailed with:It looks like your tool rewrites unknown first arguments to the default command (e.g.,
clibecomescheck cli), so the introspection subcommands are never dispatched.What would help
Adding support for
cli xmldoc(that alone is enough - we can synthesize the rest from it) would let InSpectra include your tool in the index and make it discoverable to other developers.Your project currently references
Spectre.Console.Cli0.50.0. Thecli xmldoccommand has been a built-in hidden command in Spectre.Console since its very early days (December 2020), andcli opencliwas added in v0.52.0. Upgrading to the latestSpectre.Console.Clishould give you both commands out of the box - no code changes needed.This is entirely optional - your CLI works fine on its own. This is about compatibility with InSpectra's indexing, not a bug in your tool.
PS: I'm working on a GitHub Action to auto-generate purpose-built InSpectra pages for your repo, like this: Example If you're interested, you can find the exact commands buried in my CI, or come back in a few days when I have the easy documentation ready.
Links
Thanks for your time!
- Jonas