¿Cómo gestionar esta estructura de proyecto con git?

Estoy desarrollando complementos para un software web que tiene su estructura configurada así:

root --index.php --js/ ----addon1/ ------file.js ----addon2/ --css/ ----addon1/ ------style.css ----addon2/ --library/ ----addon1/ ------file.php ----addon2/ ------file.php 

Quiero crear un repository para cada complemento, pero con la estructura actual no parece posible. El fragment principal del código para addon1, por ejemplo, estaría en / library / addon1 / y los activos públicos para ese complemento serían at / js / addon1 /. Sin embargo, si configuro el repository para addon1 en / library / addon1 / no puedo rastrear los files afuera en las carpetas js y css. Colocar el repository un nivel arriba significaría que no podría rastrear cada complemento individual. Lamentablemente, no tengo la flexibilidad para moverse por las carpetas.

He consultado los submodules, pero no estoy seguro de que sea eso lo que necesito. No existe un repository central o "principal" ya que no necesito rastrear el software principal, solo mis propios complementos individuales que creo.

¿Hay alguna forma de configurar esto?

Me olvidé de notar que no necesito nada demasiado complejo ya que solo uso estos repositorys localmente y no es necesario que los comparta con nadie.

Una architecture simple para esto es poner el desarrollo de cada complemento en una twig.

Cada complemento puede desarrollarse de forma autónoma a partir de los otros complementos. Como necesita un código más reciente de diferentes complementos debido a las dependencies, es fácil usar la fusión git (con cherry pick si es necesario) para llevar esas características a las twigs correctas.

Luego, cuando esté listo para hacer una versión "estable", una confirmación "estable" de cada twig de complemento se puede fusionar en una twig de liberación / troncal / principal / estable (puede elegir el nombre). De esta forma, cada complemento puede estar en una etapa diferente de desarrollo, pero las versiones de código aún se pueden ensamblar sin detener el desarrollo de ningún complemento.

¡Todo dentro del mismo repository!