Hi,
> docs are not clear enough [...]
but it's the truth: reading the docs is clear enough in this case!
> The path cg_contracts/contracts will be seen in the URL from the PS backend when accessing that page.
Not exactly: all URLs are prefixed by <your-admin-folder>/modules, you can get rid of this constraint if you're able to enable Annotations into your controllers.
Thanks for noticing the TabHelper (directly extracted and adapted from https://github.com/friends-of-prestashop/masterclass/blob/master/src/Utils/TabManager.php, you're welcome by the way ). Be careful with this TabManager: there is a good reason we didn't contribute it directly on the Core: you will corrupt your table "role_authorization" if you reset or uninstall your module.
@mupi if you're looking for modules you can take a look at the "Friends of PrestaShop" organization on GitHub, most of my modules are available for free (and open source).
Cheers