Originally posted by **pnadolny13** June 15, 2022
As part of the 2.0 release upgrades to the hub which included a full refactor of the definition file format we added some new keys that are for rendering documentation. I'm proposing that we move those under something like a `docs` or `meltanohub` key so that its clean and clear what parts are plugin definition attributes and should be returned via the API to be stored in lock files vs what should simply be extra metadata for the hub.
For example [tap-adwords usage](https://github.com/meltano/hub/blob/82a4019c9c464d7db54ad3b6492a08317e77b7c1/_data/meltano/extractors/tap-adwords/singer-io.yml#L273) metadata key for the hub docs content is in the definition file.
Then in the [API payload generator](https://github.com/meltano/hub/blob/82a4019c9c464d7db54ad3b6492a08317e77b7c1/_plugins/meltano_json_generator.rb#L70) we exclude them.
The keys are:
- keywords
- maintenance_status
- domain_url
- definition
- next_steps
- settings_preamble
- usage
- prereq
The new schema would be something like:
```yaml
name: tap-adwords
label: Google Ads
description: Advertising Platform
...
hub:
domain_url: x
usage: y
prereq: z
...
```
cc @tayloramurphy @aaronsteers @DouweM @alexmarple @z3z1ma
Spec proposal
[ ] Move the keys in the list above to be under a hub key
[ ] Update the generator and html files to reference the new location
[ ] Update the api payload generator to reference the new location
@tayloramurphy - I'm not quite ready to move forward on this and wanted to propose some changes. I'll drop my comments in the linked discussion so it's all in one place.
Discussed in https://github.com/meltano/hub/discussions/609
Spec proposal
hub
key