A lightweight mechanism to provide an *instant kickstart* to a Go web server instance upon changing any Go source files under the project directory (and its subdirectories).
Wirecog aa6b60abe3 Added go report badge 7 years ago
.gitignore Initial import 7 years ago
LICENSE Initial import 7 years ago
Readme.md Added go report badge 7 years ago
kick.go Initial import 7 years ago

Readme.md

Kick

Go Report Card

A lightweight mechanism to provide an instant kickstart to a Go web server instance, upon the modification of a Go source file within a particular project directory (including any subdirectories).

An instant kickstart consists of a recompilation of the Go code and a restart of the web server instance.

Kick comes with the ability to take both the go and gopherjs commands into consideration when performing the instant kickstart.

Please note, that Kick, currently works on Unix-like operating systems (e.g., BSD, Linux, Mac OS) only.

Kick doesn't work on Windows, due to some technical limitations.

Installation

Before installing Kick, it is recommended, to install the barebones isogoapp first – since it will provide you an example of how to use kick.

Get Kick

go get -u github.com/isomorphicgo/kick

Usage

Getting Help

Issue the help flag to get help on using the kick command:

kick --help

Running Kick

Example (using GopherJS):

kick --appPath=$ISOGO_APP_ROOT --mainSourceFile=isogoapp.go --gopherjsAppPath=$ISOGO_APP_ROOT/client

The appPath flag specifies the project directory where the Go application resides.

The mainSourceFile flag specifies the Go source file that implements the main function.

The gopherjsAppPath flag specifies the directory to the GopherJS client-side application. This flag is optional.

If your Go project is not using GopherJS, you can feel free to omit the gopherjsAppPath flag.

Verify That Kick Is Functioning

Assuming that you've installed the isogoapp, and you have issued the kick command to run the web server instance:

Access the test page for the isogoapp using your web browser.

Open up the client.go source file in the $ISOGO_APP_ROOT/client directory. Change the message that is passed to the SetInnerHTML() function call.

Refresh your web browser. You should see your change reflected.

In the command line prompt where you issued the kick command, take note of the "Recompiling and Restarting" message. This is kick's way of telling you that an instant kickstart was performed.

The Isomorphic Go Project

More information on the benefits of Isomorphic Go applications can be found at the Isomorphic Go Website.

License

Kick is licensed under the BSD License. Read the LICENSE file for more information.