Como o carregamento automático do PSR-4 funciona no compositor para bibliotecas personalizadas?

Eu uso a seguinte estrutura de diretórios com base no meu entendimento de como os espaços para nome no PHP funcionam:

project_root
    app/
    |    lib/
    |    |    MyCompany/
    |    |    |    Utility/
    |    |    |    |    Logger.php
    |    |    |    Core/
    |    |    |    |    User.php
vendor/
    composer/
    symfony/
    guzzle/
bootstrap.php
composer.json

De acordo com a especificação PSR-4, um nome de classe totalmente qualificado tem o seguinte formato:

\<NamespaceName>(\<SubNamespaceNames>)*\<ClassName>

Questão 1:

Na minha estrutura de diretórios acima, a suposição abaixo está correta?

NamespaceName = MyCompanySubNamespaceNames = Utilitário | TestemunhoClassName = Logger | Do utilizador

Questão 2:

Se meu arquivo bootstrap.php contiver o seguinte:

<?php
require 'vendor/autoload.php';

Como euconfigurar o 'carregamento automático' seção do compositer.json para carregar automaticamente as classes no diretório MyCompany? De tal forma que eu seria capaz de criar uma instância do Logger no bootstrap.php

questionAnswers(1)

yourAnswerToTheQuestion