Build and (re)start go web apps after saving/creating/deleting source files.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jason Fowler b998edb855 updating to my sytem 3 years ago
_examples initial import 9 years ago
runner updating to my sytem 3 years ago
.gitignore initial import 9 years ago
.travis.yml Remove release from travis.yml 6 years ago
LICENSE initial import 9 years ago updating to my sytem 3 years ago
go.mod updating to my sytem 3 years ago
go.sum updating to my sytem 3 years ago
main.go updating to my sytem 3 years ago
refresh.conf.sample updating to my sytem 3 years ago


Refresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file. It started life as Fresh, which is now unmaintained.

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

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


go get


cd /path/to/myapp

Refresh 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 Refresh. Check the _examples folder if you want to use it with Martini or Gocraft Web.

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

refresh -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