Paquetes de compositores privados - no se encontró composer.json válido

Estoy tratando de cargar una biblioteca que he alojado en BitBucket usando el compositor como se explica tanto en eldocumentación oficial yaquí, pero sigue recibiendo el siguiente error:

[Composer\Repository\InvalidRepositoryException]
No valid composer.json was found in any branch or tag of [repository URL], could not load a package from it.

Aquí está miproyecto compositor.json:

{
    "name": "Project name",
    "require": {
        "my-vendor/my-package": "dev-master"
    },
    "repositories": [
        {
            "type": "vcs",
            "url": [repository URL]
        }
    ]
}

Y aquí está el composer.json en mi repositorio remoto (que aparentemente no se puede encontrar):

{
    "name": "my-vendor/my-package",
    "version": "0.3",
    "autoload": {
        "psr-0": {
            "NS_": "src"
        }
    }
}

Debo mencionar que ambos archivos composer.json están en el directorio raíz como deberían estar.

Algunas otras cosas a tener en cuenta:

También probé el enfoque de "paquete no compositor", mediante el cual especifico la información del paquete en mi proyecto composer.json, y omito el composer.json de mi repositorio remoto, como se describe en eldocumentación. Esto clona con éxito la rama maestra pero luego produce el siguiente error:

[RuntimeException]
Failed to execute git checkout "master" && git reset --hard "master"

fatal: Not a git repository (or any of the parent directories): .git

Sin embargo, el paquete se descarga a / proveedor como se esperaba, por lo que no estoy seguro de por qué está intentando volver a realizar el proceso de pago del master.

Esta no es la forma en la que deseo resolver este problema (ya que prefiero utilizar un composer.json en el repositorio remoto), pero puede ayudar a identificar un problema en otro lugar.

Gracias por cualquier ayuda.

EDITAR

He logrado que funcione haciendo referencia a package.json a través de HTTP:

"repositories": [
    {
        "type": "composer",
        "url": "http://localhost/packages.json"
    }
]

El packages.json se ve como:

{
    "packages": {
        "vendor/my-package": {
            "dev-master": {
                "name": "vendor/my-package",
                "version": "dev-master",
                "source": {
                    "url": [repository URL],
                    "type": "git",
                    "reference": "master"
                }
            }
        }
    }
}

¿Es esta la única manera de hacer que esto funcione? Parece un poco excesivo alojar mi propio archivo packages.json si solo voy a usar uno o dos paquetes internos.

En cualquier caso, esto me está dando el mismo error de Git que mencioné anteriormente.

Editar 2

Forzar un error (frase de contraseña SSH no válida) da esto:

[RuntimeException]
Failed to execute git clone "[repository URL]" "C:\workspace\DFv3\vendor\vendor/my-package" && cd /D "C:\workspace\DFv3\vendor\vendor/my-package" && git remote add composer "[repository URL]" && git fetch composer

Así que puedo ver claramente lo que está haciendo aquí. Sin embargo, parecedespués este comando lo ejecutacds en el.git directorio e intenta ejecutar:

git checkout "master" && git reset --hard "master"

Presumiblemente para deshacerse de la instancia del compositor que tiró. Sin embargo, está ejecutando esto en el directorio incorrecto y no puedo entender por qué ...

Respuestas a la pregunta(4)

Su respuesta a la pregunta