сложившаяся практика (имена кроме вендора условные)
app - текущий проект
public - www root
src - для либ, которые в дальнейшем планируется использовать в других
vendor
composer.json
Как описать свою либу в самом простейшем варианте
"autoload": {
"psr-4": {
"antson\\": "src/antson/"
}
},
в src создаем папку antson (кто автор), в ней подпапку mylib
ну и дальше
MySuperPuper.php
<?php
namespace antson\mylib;
class MySuperPuper{
....
}
в основном проекте юзаем так
$a = new antson\mylib\MySuperPuper();
или
use antson\mylib\MySuperPuper;
...
$a = MySuperPuper();
Это сильно упрощено ! Внимательно читаем про PSR и namespace.