Muito legal o repo, eu que venho do dotnet sempre trabalhei com DDD e quando cai no universo do Go fiquei muito incomodado com a falta de padrao que encontrei na internet.
Hoje eu uso a entrutura que me parece ser a mais padrao (me baseei nesse outro repo):
- pkg
- internal
Dentro da internal
eu tenho apps
e pkgs
onde apps sao os projetos em si, na msm pegada de monorepo, muito util pra fazer builds de aplicacaoes diferentes usando o msm codebase, por exemplo, API e Worker (ou Cron). E dentro de pkg eu tenho as outras coisas que vao ser usadas e compartilhadas por esses projetos dentro de apps.
Eu ainda to no processo, mas ate que to gostando dessa estrutura, eu entendi que faz parte do Go ter uma estrutura de pastas mais simples, diferente do dotnet...
Quando eu tentava implementar DDD no Go, acabava topando num problema chatinho, que era a nomeclatura dos packages, algumas vezes eu tinha packages com o msm nome por conta da estrutura de arquivos, e por isso, precisava renomear, normalmente pra um nome que acabava ficando maior (outra coisas que a comunidade do Go tenta evitar).
Enfim, novamente, parabens pela iniciativa, eu particularmente gosto de tecnologias que induzem um certo padrao de organizacao, nao eh o caso do Go, por isso curti sua iniciativa.
Foi por ter entrado em contato com a plataforma dotnet que tomei essa iniciativa. É muito simples de escrever apps robustos com o Aspnet core, gostaria de trazer um pouco desse mundo para Go. Mas respeitando os costumes já cultivados pela comunidade.
Sua visão como programador dotnet faria muito bem ao projeto. Se tiver um tempinho livre considere dar uma força lá. Mas desde já agradeço comentar.