Skip to content

InSpectra compatibility: DanTurco.GoogleMapExport2KML 1.0.4 - CLI introspection not available #3

@JKamsker

Description

@JKamsker

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions