kickstart.go
Minimalistic single-file Go HTTP server template without third-party dependencies
About kickstart.go
kickstart.go
Minimalistic HTTP server template in Go — single file, only standard library. Not a framework, but a starting point for building HTTP services.
Try it
$ git clone https://github.com/raeperd/kickstart.go.git && cd kickstart.go
$ make run
$ curl localhost:8080/health
{"version":"local","uptime":"1.23s","lastCommitHash":"abc1234","lastCommitTime":"2024-01-01T00:00:00Z","dirtyBuild":false}
PORT defaults to 8080. Set PORT=0 to let the OS choose an available port; the startup log reports the assigned port.
Features
- Graceful shutdown with
SIGINT/SIGTERMsignal handling - Health endpoint with version, git revision, and uptime
- Debug endpoints (
pprof,expvar) out of the box - Structured access logging and panic recovery middleware
- Designed for testability — integration tests against a real server, no mocks
Start your own project
- Use this template to create a new repository, or fork it
- Find and replace all
raeperd/kickstart.gowith your repository name
Reference
- GopherCon Korea 2024 Session (in Korean) / Slides (in English)
- Inspired by Mat Ryer, earthboundkid, and kickstart.nvim
Frequently Asked Questions
What is kickstart.go?
kickstart.go is a Miscellaneous library for the Go programming language. Minimalistic single-file Go HTTP server template without third-party dependencies
How do I install kickstart.go?
Install kickstart.go with the Go module system using `go get raeperd/kickstart.go`. Check the repository for the current installation instructions.
What category does kickstart.go belong to?
kickstart.go is listed under Miscellaneous, specifically Project Layout.