В композитор.json вы указываете Composer, в какие каталоги он должен помещать определенные типы зависимостей.
"пути установщика": {
    "веб/ядро": ["тип:ядро drupal"],
    "web/libraries/{$name}": ["type:drupal-library"],
    "web/modules/contrib/{$name}": ["type:drupal-module"],
    "web/profiles/contrib/{$name}": ["type:drupal-profile"],
    "web/themes/contrib/{$name}": ["type:drupal-theme"],
    "drush/Commands/contrib/{$name}": ["type:drupal-drush"]
},
Эти каталоги теперь управляются Composer. Например веб/модули/вклад для типа drupal-модуль зависимости. В то же время все вставлено веб/модули/пользовательские или любое другое пользовательское местоположение будет сохранено.
Ваше репо в конце концов содержит только композитор.json/замок файлы в корне репозитория и весь пользовательский код (настраиваемые темы, настраиваемые модули, настраиваемые сценарии, настраиваемые исправления и т. д.) и файлы конфигурации YAML в нужных каталогах.
Вы должны немного поиграть с официальным шаблон рекомендуемого проекта или сообщество шаблон drupal-проекта. Научитесь читать композитор.json файл. Бег установка композитора, вручную удалить определенные каталоги, установка композитора снова и наблюдайте, что происходит.