project-layout/cmd
2018-03-24 15:55:43 -07:00
..
_your_app_ initial directory layout 2017-09-09 13:10:53 -07:00
README.md more notes and notes in major directories 2018-03-24 15:55:43 -07:00

/cmd

Main applications for this project.

The directory name for each application should match the name of the executable you want to have (e.g., /cmd/myapp).

Don't put a lot of code in the application directory. If you think the code can be imported and used in other projects, then it should live in the /pkg directory. If the code is not reusable or if you don't want others to reuse it, put that code in the /internal directory. You'll be surprised what others will do, so be explicit about your intentions!

It's common to have a small main function that imports and invokes the code from the /internal and /pkg directories and nothing else.