mirror of
https://github.com/golang-standards/project-layout
synced 2024-11-17 03:25:58 +00:00
formatting updates
This commit is contained in:
parent
45ed6a91a5
commit
90dccf47a2
36
README.md
36
README.md
@ -6,7 +6,7 @@ Clone the repository, keep what you need and delete everything else!
|
|||||||
|
|
||||||
## Go Directories
|
## Go Directories
|
||||||
|
|
||||||
* `/cmd`
|
### `/cmd`
|
||||||
|
|
||||||
Main applications for this project.
|
Main applications for this project.
|
||||||
|
|
||||||
@ -16,19 +16,19 @@ Don't put a lot of code in the application directory unless you think that code
|
|||||||
|
|
||||||
It's common to have a small main function that imports and invokes the code from the `/internal` and `/pkg` directories.
|
It's common to have a small main function that imports and invokes the code from the `/internal` and `/pkg` directories.
|
||||||
|
|
||||||
* `/internal`
|
### `/internal`
|
||||||
|
|
||||||
Private application and library code.
|
Private application and library code.
|
||||||
|
|
||||||
Put your actual application code in the `/internal/app` directory (e.g., `/internal/app/myapp`) and the code shared by those apps in the `/internal/pkg` directory (e.g., `/internal/pkg/myprivlib`).
|
Put your actual application code in the `/internal/app` directory (e.g., `/internal/app/myapp`) and the code shared by those apps in the `/internal/pkg` directory (e.g., `/internal/pkg/myprivlib`).
|
||||||
|
|
||||||
* `/pkg`
|
### `/pkg`
|
||||||
|
|
||||||
Library code that's safe to use by external applications (e.g., `/pkg/mypubliclib`).
|
Library code that's safe to use by external applications (e.g., `/pkg/mypubliclib`).
|
||||||
|
|
||||||
Other projects will import these libraries expecting them to work, so think twice before you put something here :-)
|
Other projects will import these libraries expecting them to work, so think twice before you put something here :-)
|
||||||
|
|
||||||
* `/vendor`
|
### `/vendor`
|
||||||
|
|
||||||
Application dependencies (managed manually or by your favorite dependency management tool).
|
Application dependencies (managed manually or by your favorite dependency management tool).
|
||||||
|
|
||||||
@ -36,35 +36,35 @@ Don't commit your application dependencies if you are building a library.
|
|||||||
|
|
||||||
## Service Application Directories
|
## Service Application Directories
|
||||||
|
|
||||||
* `/api`
|
### `/api`
|
||||||
|
|
||||||
OpenAPI/Swagger specs, JSON schema files, protocol definition files.
|
OpenAPI/Swagger specs, JSON schema files, protocol definition files.
|
||||||
|
|
||||||
## Web Application Directories
|
## Web Application Directories
|
||||||
|
|
||||||
* `/web`
|
### `/web`
|
||||||
|
|
||||||
Web application specific components: static web assets, server side templates and SPAs.
|
Web application specific components: static web assets, server side templates and SPAs.
|
||||||
|
|
||||||
## Common Application Directories
|
## Common Application Directories
|
||||||
|
|
||||||
* `/configs`
|
### `/configs`
|
||||||
|
|
||||||
Configuration file templates or default configs.
|
Configuration file templates or default configs.
|
||||||
|
|
||||||
Put your `confd` or `consule-template` template files here.
|
Put your `confd` or `consule-template` template files here.
|
||||||
|
|
||||||
* `/init`
|
### `/init`
|
||||||
|
|
||||||
System init (systemd, upstart, sysv) and process manager/supervisor (runit, supervisord) configs.
|
System init (systemd, upstart, sysv) and process manager/supervisor (runit, supervisord) configs.
|
||||||
|
|
||||||
* `/scripts`
|
### `/scripts`
|
||||||
|
|
||||||
Scripts to perform various build, install, analysis, etc operations.
|
Scripts to perform various build, install, analysis, etc operations.
|
||||||
|
|
||||||
These scripts keep the root level Makefile small and simple.
|
These scripts keep the root level Makefile small and simple.
|
||||||
|
|
||||||
* `/build`
|
### `/build`
|
||||||
|
|
||||||
Packaging and Continous Integration.
|
Packaging and Continous Integration.
|
||||||
|
|
||||||
@ -72,37 +72,37 @@ Put your cloud (AMI), container (Docker), OS (deb, rpm, pkg) package configurati
|
|||||||
|
|
||||||
Put your CI (travis, circle, drone) configurations and scripts in the `/build/ci` directory.
|
Put your CI (travis, circle, drone) configurations and scripts in the `/build/ci` directory.
|
||||||
|
|
||||||
* `/deployments`
|
### `/deployments`
|
||||||
|
|
||||||
IaaS, PaaS, system and container orchestration deployment configurations and templates (docker-compose, kubernetes/helm, mesos, terraform, bosh).
|
IaaS, PaaS, system and container orchestration deployment configurations and templates (docker-compose, kubernetes/helm, mesos, terraform, bosh).
|
||||||
|
|
||||||
* `/test`
|
### `/test`
|
||||||
|
|
||||||
Additional external test apps and test data.
|
Additional external test apps and test data.
|
||||||
|
|
||||||
## Other Directories
|
## Other Directories
|
||||||
|
|
||||||
* `/docs`
|
### `/docs`
|
||||||
|
|
||||||
Design and user documents (in addition to your godoc generated documentation).
|
Design and user documents (in addition to your godoc generated documentation).
|
||||||
|
|
||||||
* `/tools`
|
### `/tools`
|
||||||
|
|
||||||
Supporting tools for this project. Note that these tools can import code from the `/pkg` and `/internal` directories.
|
Supporting tools for this project. Note that these tools can import code from the `/pkg` and `/internal` directories.
|
||||||
|
|
||||||
* `/examples`
|
### `/examples`
|
||||||
|
|
||||||
Examples for your applications and/or public libraries.
|
Examples for your applications and/or public libraries.
|
||||||
|
|
||||||
* `/third_party`
|
### `/third_party`
|
||||||
|
|
||||||
External helper tools, forked code and other 3rd party utilities (e.g., Swagger UI).
|
External helper tools, forked code and other 3rd party utilities (e.g., Swagger UI).
|
||||||
|
|
||||||
* `/githooks`
|
### `/githooks`
|
||||||
|
|
||||||
Git hooks.
|
Git hooks.
|
||||||
|
|
||||||
* `/assets`
|
### `/assets`
|
||||||
|
|
||||||
Other assets to go along with your repository.
|
Other assets to go along with your repository.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user