Go - Project Layout
Core
cmd/
Main applications for this project. The directory name for each application should match the name of the executable eg. /cmd/custard
internal/
Private application and library code. Enforced by the go compiler.
pkg/
Library code that is ok to be used by external applications.
api/
OpenAPI/Swagger specs, JSON schema files, protocol definition files.
vendor/
Application dependencies managed manually or by go mod vendor.
web/
Webapp specific components
configs/
Config file templates or default config.
Build and CI related
init/
System init scripts
scripts/
General build, install, analysis scripts
build/
Packaging and CI scripts and configs

Comments
Post a Comment