I think your problem is your custom "repositories" entry. By defining a "package" entry, you're telling composer the properties of the package and it won't look up the composer.json of your repository.

So either you fully define the "package" entry by also adding "type" and other fields, or just use a "vcs" entry (which will use your composer.json from your repository). Eg.

"repositories": [
{
"type": "vcs",
"url": "git@xxx:xxx/sync.git"
}
]

In short: Use "vcs" for repositories that have their own composer.json and only use "package" if you rely on sources that don't have any composer metadata.