Skip to content
This repository has been archived by the owner on Mar 6, 2020. It is now read-only.


Repository files navigation


Build status

Unix: travis-cs status

Windows: Build status

gb is a proof of concept replacement build tool for the Go programming language.

I gave a talk about gb and the rational for its creation at GDG Berlin in April 2015, video and slides.

Project based

gb operates on the concept of a project. A gb project is a workspace for all the Go code that is required to build your project.

A gb project is a folder on disk that contains a subdirectory named src/. That's it, no environment variables to set. For the rest of this document we'll refer to your gb project as $PROJECT.

You can create as many projects as you like and move between them simply by changing directories.


go get

Read more

gb has its own site,, head over there for more information.


Contribution guidelines

We welcome pull requests, bug fixes and issue reports.

Before proposing a large change, please discuss your change by raising an issue.

Road map


  • Cross Compilation
  • Tag handling, unify -tags, ENVVARS and GOOS/GOARCH into a single format for binary names and pkg cache
  • gb test improvements, test output, test flag handling
  • Race detector support


  • 0.4 series: gb vendor updates and bug fixes
  • 0.5 series: new package resolver (replace go/build)

Big ticket items

Big ticket items that are not on the road map yet

  • Package BuildID support (make stale detection work like the Go 1.5)
  • gccgo toolchain support.