<#10330 feat: List project plugins with `meltano p...
# meltano-repo-activity
g
#10330 feat: List project plugins with `meltano plugin list` Pull request opened by ReubenFrankel Description A project's plugins can be spread across
meltano.yml
and the other YAML files it includes, so there is no single view of what the project defines. Reading the files is the only way to answer "which plugins does this project have, on which variant, and which definitions are our own". This adds
meltano plugin list
.
Copy code
TYPE        NAME                  VARIANT       INHERIT FROM   CUSTOM
 ─────────────────────────────────────────────────────────────────────
 extractor   tap-github            meltanolabs
 extractor   tap-github--sandbox   (inherited)   tap-github
 extractor   tap-internal          default                        ✓
 loader      target-jsonl          andyh1203
• Add the
plugin
command group and its
list
command, in text or JSON. • List every plugin the project defines, in the order that
meltano.yml
defines them, within each plugin type. • Name the plugin that a plugin inherits from, and show
(inherited)
for the variant it takes from its parent. • Mark a custom plugin, meaning one that carries its own definition in
meltano.yml
rather than taking one from Meltano Hub. • Emit the same fields in the same order in the JSON output, plus the
pip_url
. • Document the command in the CLI reference. • Add 10 tests, covering ordering, inheritance, mappings, custom definitions, and an empty project. The command reports what the project declares, and does not inspect what is installed. An earlier revision reported the version installed in each plugin's virtual environment. That was dropped: Meltano Hub publishes no version for any plugin, so an installed version cannot be compared against what is available, which was the reason to want it. Reporting drift against the Hub needs a comparison of the locked definition with the definition the Hub serves, which is a separate change. A mapping is configuration for its mapper rather than a separate plugin, so the mapper is listed once and its mappings are not listed. This recreates #10318, which was closed when its
staging
base branch was removed. The first commit is unchanged, and the rest sit on top of it. Checklist • I have read the contribution guide Was generative AI tooling used to co-author this PR? • Yes (please specify the tool below) Generated-by: Claude Code following the agentic coding guidelines, for every commit after the first and for this description. The original command comes from #10318. Related Issues • Supersedes #10318 --- 🤖 Generated with Claude Code meltano/meltano