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

deployments/

test/

docs/

tools/

examples/

third-party/

Comments

Popular posts from this blog

Handling and Tyre wear patterns

Getting FlashFloppy onto the Gotek SFRC922D