Comments (1)
It depends... Whenever you have something with the main
package, even if it's not an app you ship, putting it under cmd
is ok. Kubernetes is kind of like that: https://github.com/kubernetes/kubernetes/tree/master/cmd
A lot of times the external/3rd party code generators or other code related tools (e.g., linters) go into the tools
directory where they get pulled in as dependencies (which is an enhanced version of what's described here https://www.jvt.me/posts/2022/06/15/go-tools-dependency-management/ and here https://marcofranssen.nl/manage-go-tools-via-go-modules ):
Here are a few examples of that:
https://github.com/cilium/cilium/blob/main/tools/tools.go
https://github.com/dapr/dapr/blob/master/tools/tools.go
https://github.com/buildpacks/pack/blob/main/tools/tools.go
Sometimes the tools
directory does include custom code too. Here's an example: https://github.com/influxdata/influxdb/blob/master/tools/tmpl/main.go
And sometimes the tools
directory has a bunch of supporting components that are all over the place like Istio, for example: https://github.com/istio/istio/tree/master/tools
from project-layout.
Related Issues (20)
- singular? plural? HOT 3
- Duplicated simplified-chinese translated README HOT 1
- Guidance could be provided on where to put tests in library directories HOT 1
- Driver location
- Why there is no link to the Italian translations? HOT 1
- The release badge is broken
- Minio no longer uses /pkg in the project layout HOT 2
- How can I debug projects with this structure in VSCODE? HOT 2
- Question: best place to put "local environment" startup scripts ? (not Helm) HOT 1
- Why are some directories plural and others singular? Can it be unified?
- /api/proto to store protobuf definitions HOT 1
- what is Hacker license? HOT 1
- Regarding the description of the deprecated tool golint HOT 3
- Better to use the Go team's examples of project layout HOT 1
- Official layout documentation HOT 3
- what's the meaning of these three question after chinese translations ?
- "Discussions" tab HOT 1
- How to run this project ? HOT 1
- Where should `/dao` be placed?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from project-layout.