
Ask HN: Organizing Golang and non-Golang projects? - rxlim
For many years I have organized my projects in a single directory like this:<p><pre><code>  |-- projects
      |-- project_0
      |-- project_1
      |-- project_2
</code></pre>
A project regardless of programming language will get a directory under &#x27;projects&#x27;, that contains all files releated to this particular project.<p>Some time ago I started learning Golang and have since written many utilities in it as I like it very much. Golang requires a special directory layout for all it&#x27;s tools to work, and this layout is incompatible with the one I&#x27;m using.<p>What is the best way to organize Golang and non-Golang projects? Should I just bite the bullet and start organizing my projects by language?
======
christophberger
You could use a Go "project" that is in fact the $GOPATH, like so:

    
    
        |-- projects
              |-- project_0
              |-- project_1
              |-- project_2
              |-- go
                   |-- src 
                   |-- pkg 
                   |-- bin
              |-- project_4
              |-- project_5
    
    

Your other projects would then not be affected at all.

Or consider using a tool like `gb`
([https://github.com/constabulary/gb](https://github.com/constabulary/gb))
that does not depend on $GOPATH. (But ensure to understand the caveats of this
tool before switching to it.)

