Continuously and automatically, build, test, vet and install your go package.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Continuously and automatically, build, test, and vet your go package.


go get -u
go install


Make sure $GOPATH/bin is on your PATH, then simply:

cd <your go package>


glitch will go build ./..., go vet ./... and go test ./... your go package. If any one of these steps fail, it stops on that step, and waits for you to fix the issue.

When things go well, your output should look like this:

2013/09/15 20:38:07 glitch: building
2013/09/15 20:38:07 glitch: build OK - vetting
2013/09/15 20:38:07 glitch: vet OK - testing
?      [no test files]
2013/09/15 20:38:08 glitch: test OK - wating for next build event

When something fails, like go build, you'll see less output. eg:

2013/09/15 20:42:57 glitch: building
./main.go:83: syntax error: unexpected semicolon or newline, expecting )

There's nothing generic about this tool. It encapsulates a specific workflow and only pays attention to .go files. If you want something different, use something totally generic like guard. You're welcome to fork this, but I am unlikely to merge pull requests looking for a different and/or pluggable behavior.

Known Issues

Not a glitch issue per se; OSX users frequently see: too many open files