Skip to content
Build and (re)start go web apps after saving/creating/deleting source files.
Branch: master
Clone or download
Latest commit 9c00924 Mar 1, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
_examples initial import Jan 15, 2014
runner Add more test cases Feb 21, 2017
.gitignore initial import Jan 15, 2014
.travis.yml Remove release from travis.yml Dec 4, 2016
LICENSE initial import Jan 15, 2014 Merge pull request #67 from DoHe/optional-rebuild Mar 1, 2017
main.go docs Jan 15, 2014
runner.conf.sample Reverse setting Feb 21, 2017


Join the chat at Build Status

Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file.

If the web framework you are using supports the Fresh runner, it will show build errors on your browser.

It currently works with Traffic, Martini and gocraft/web.


go get


cd /path/to/myapp

Start fresh:


Fresh will watch for file events, and every time you create/modify/delete a file it will build and restart the application. If go build returns an error, it will log it in the tmp folder.

Traffic already has a middleware that shows the content of that file if it is present. This middleware is automatically added if you run a Traffic web app in dev mode with Fresh. Check the _examples folder if you want to use it with Martini or Gocraft Web.

fresh uses ./runner.conf for configuration by default, but you may specify an alternative config filepath using -c:

fresh -c other_runner.conf

Here is a sample config file with the default settings:

root:              .
tmp_path:          ./tmp
build_name:        runner-build
build_log:         runner-build-errors.log
valid_ext:         .go, .tpl, .tmpl, .html
no_rebuild_ext:    .tpl, .tmpl, .html
ignored:           assets, tmp
build_delay:       600
colors:            1
log_color_main:    cyan
log_color_build:   yellow
log_color_runner:  green
log_color_watcher: magenta




  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request
You can’t perform that action at this time.