Прежде всего, в большинстве случаев плохая идея называть пакет в честь языка программирования. Что на самом деле делает пакет? Помните, что документация и макет пакета должны быть оптимизированы для пользователя.
Для проектов, состоящих из нескольких частей, я лично стремлюсь создать новую организацию, скажем foo
, и создать репо bar
для первой части,скажем, сервер, написанный на Java, который затем будет доступен через https://github.com/foo/bar. Далее, для клиента, написанного на Go, вы устанавливаете следующую базу репо, которая затем будет доступна через https://github.com/foo/baz - вашgo module.
И последнее, но не менее важное: у вас может быть «распределительный» репозиторий, который направляет проекты организации через конвейер CI для обеспечения взаимодействия.
Этот подход имеет несколько преимуществ, imho: Пользователю становится проще исследовать экосистему, репо становятся достаточно независимыми, но все еще связаны организацией, а отдельные репо становятся меньше.