PHP оформляйте как composer-пакеты, тогда весь проект будет собираться легко и просто. Здорово, если сумеете настроить `composer build-project` для быстрого разворачивания. Еще есть решение поверх композера для упрвления конфигами и статикой:
Puli. Попробуйте его, может подойдет вам.
Клиентский код лучше продублировать скомпилированными файлами (рядом с ts положить js и по возможности min.js). Зависимости опять же через менеджер npm/bower/... Если фронтенд - отдельное приложение, то, соответственно, в отдельную репу.
Документацию (ту, что из apidoc генерится) лучше держать поближе к коду (в том же репозитории) - будет легче бороться с рассинхронизацией кода и документации. Автоматически получите документацию с привязкой к версии кода.
Для общей документации - отдельный репозиторий + github pages (хотя, возможно оформлять и через wiki-разделы)
Можно сделать отдельный репозиторий с примером приложения, где будут указаны все зависимости и присутствовать пример конфига.
А в целом, чтобы сгруппировать все это дело и удобно управлять доступом, организуйте группу на гитхабе и в ней разместите все тематические репозитории.