GitHub
09/17/2026, 2:07 PMmeltano.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.
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/meltanoGitHub
09/18/2026, 12:20 AM