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:
goog2kml cli opencli
goog2kml 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 DanTurco.GoogleMapExport2KML 1.0.4, the pipeline was unable to extract your tool's command metadata. The introspection commands are not recognized by your tool.
The command goog2kml cli opencli failed with:
____ _ __ __ _____
/ ___| ___ ___ __ _ | | ___ | \/ | __ _ _ __ | ____|
| | _ / _ \ / _ \ / _` | | | / _ \ | |\/| | / _` | | '_ \ | _|
| |_| | | (_) | | (_) | | (_| | | | | __/ | | | | | (_| | | |_) | | |___
\____| \___/ \___/ \__, | |_| \___| |_| |_| \__,_| | .__/ |_____|
|___/ |_|
_ ____ _ __ __ __ _
__ __ _ __ ___ _ __ | |_ |___ \ | |/ / | \/ | | |
\ \/ / | '_ \ / _ \ | '__| | __| __) | | ' / | |\/| | | |
> < | |_) | | (_) | | | | |_ / __/ | . \ | | | | | |___
/_/\_\ | .__/ \___/ |_| \__| |_____| |_|\_\ |_| |_| |_____|
|_|
Take this GOOGLE for not making this easy
Error: Unknown command 'opencli'.
cli opencli
^^^^^^^ No such command
Your tool doesn't have a cli command branch, so the introspection subcommands aren't reachable. This is the most common situation - most Spectre.Console.Cli tools haven't adopted the OpenCLI contract yet.
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.48.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
DanTurco.GoogleMapExport2KML1.0.4, the pipeline was unable to extract your tool's command metadata. The introspection commands are not recognized by your tool.The command
goog2kml cli openclifailed with:Your tool doesn't have a
clicommand branch, so the introspection subcommands aren't reachable. This is the most common situation - most Spectre.Console.Cli tools haven't adopted the OpenCLI contract yet.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.48.0.The
cli xmldoccommand has been a built-in hidden command in Spectre.Console sinceits very early days (December 2020), and
cli opencliwas added in v0.52.0. Upgradingto the latest
Spectre.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