WHY
to follow golang-standards/project-layout style
WHAT
| before | after |
.
├── Gopkg.lock
├── Gopkg.toml
├── api
│  ├── protos
│  │  ├── type
│  │  └── *.proto
│  ├── type
│  ├── *.pb.go
│  ├── *.pb.gw.go
│  └── *.swagger.json
├── app
│  ├── run.go
│  └── server
│  ├── *_server.go
│  ├── *_server_register_funcs.go
│  └── *_server_test.go
├── bin
├── cmd
│  └── server
│  └── run.go
├── grapi.toml
├── tmp
└── tools.go
|
.
├── Gopkg.lock
├── Gopkg.toml
├── api
│  ├── protos
│  │  ├── type
│  │  └── *.proto
│  ├── type
│  ├── *.pb.go
│  ├── *.pb.gw.go
│  └── *.swagger.json
├── pkg
│  └── server
│    ├── cmd
│  │ └── cmd.go
│  ├── *_server.go
│  ├── *_server_register_funcs.go
│  └── *_server_test.go
├── bin
├── cmd
│  └── server
│  └── main.go
├── grapi.toml
├── tmp
└── tools.go
|