Skip to content
Rapid Web Development w/ Go
Branch: master
Clone or download
Latest commit 98c7d0b Mar 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update (#1583) Feb 10, 2019
binding Loosen dependency on pop (#1621) Mar 9, 2019
buffalo fixes issue with buffalo install not actually being hooked up! (#1619) Mar 5, 2019
genny Updating bootstrap versions and running packr2 clean (#1604) Feb 23, 2019
grifts V0.12.7 (#1349) Oct 3, 2018
mail removes deprecations and updates mods (#1595) Feb 18, 2019
.codecov.yml Disable status checks on codecov for now (#1249) Aug 24, 2018
.csslintrc Working on adding support for a Resource interface (#30) Dec 10, 2016
.eslintignore Working on adding support for a Resource interface (#30) Dec 10, 2016
.eslintrc Working on adding support for a Resource interface (#30) Dec 10, 2016
.gitignore Convert `buffalo build` to use genny (#1396) Oct 27, 2018
.gometalinter.json updated the integration tests to use gometalinter and setup a bunch o… May 12, 2018
.goreleaser.yml generated goreleaser Feb 19, 2019
.goreleaser.yml.plush removes the -no-sqlite from the released binaries (#1536) Jan 17, 2019
LICENSE.txt added a License Nov 24, 2016
Makefile update azure (#1611) Mar 1, 2019 Update (#1582) Feb 10, 2019 version bump: v0.14.1 Mar 11, 2019
azure-pipelines.yml update azure (#1611) Mar 1, 2019
azure-tests.yml Azure pipelines (#1605) Feb 23, 2019
buffalo.go Go Modules: Add support for `mod` flag in build command fixes #1469 (#… Feb 4, 2019
context.go this re-brands refresh events as buffalo:dev events. it also fixes a (#… Sep 19, 2018
cookies.go ISSUE-856 Added SetWithPath cookie method (#1196) Aug 3, 2018
default_context.go Loosen dependency on pop (#1621) Mar 9, 2019
error_templates.go Update error_templates.go (#1528) Jan 10, 2019
errors.go makes sure a nil error handler isn't set (#1579) Feb 8, 2019
errors_test.go [ALT] Overriding app.ErrorMiddleware has no effect fixes #1466 (#1564) Feb 3, 2019
flash.go make the Flash#Persist function private Feb 3, 2017
go.sum version bump: v0.14.2 Mar 15, 2019
grifts.go improved task middleware to show skipped path (#1380) Oct 18, 2018
handler.go automatically respond with a 404 if error is sql.ErrNoRows (#1149) Jul 15, 2018
logo.svg added the svg logo to the archive Dec 20, 2016
method_override.go removed markbates/going as a direct dep for buffalo (#1235) Aug 18, 2018
not_found_test.go moved from markbates/willie to gobuffalo/httptest (#1244) Aug 24, 2018
plugins.go v0.14.2 (#1627) Mar 15, 2019
request_logger.go fixed a cast issue and some issues with go mods (#1320) Sep 24, 2018
resource.go Do not generate "/edit" route during API generation fixes #1562 (#1590) Feb 19, 2019
response.go Merge master (#1352) Oct 4, 2018
route.go implements an event system for Buffalo (#1305) Sep 18, 2018
route_info_test.go moved from markbates/willie to gobuffalo/httptest (#1244) Aug 24, 2018
route_mappings.go Use a sane Etag value vs stringfied Time (#1608) Feb 25, 2019
router_test.go Do not generate "/edit" route during API generation fixes #1562 (#1590) Feb 19, 2019
server.go an not read request body multiple times fixes #1480 (#1486) Dec 5, 2018
wrappers.go adds new wrapper methods (#1177) Jul 16, 2018

GoDoc Build Status Go Report Card Open Source Helpers


A Go web development eco-system, designed to make your life easier.

Buffalo helps you to generate a web project that already has everything from front-end (JavaScript, SCSS, etc.) to the back-end (database, routing, etc.) already hooked up and ready to run. From there it provides easy APIs to build your web application quickly in Go.

Buffalo isn't just a framework; it's a holistic web development environment and project structure that lets developers get straight to the business of, well, building their business.

I ❤️ web dev in go again - Brian Ketelsen


Please visit for the latest documentation, examples, and more.

Quick Start

Shoulders of Giants

Buffalo would not be possible if not for all of the great projects it depends on. Please see to see a list of them.

Templating - This templating package was chosen over the standard Go html/template package for a variety of reasons. The biggest of which is that it is significantly more flexible and easy to work with.

Routing - This router was chosen because of its stability and flexibility. There might be faster routers out there, but this one is definitely the most powerful!

Task Runner (Optional) - If you're familiar with Rake tasks from Ruby, you'll be right at home using Grift. This package was chosen to allow for the easy running of simple, and common, tasks that most web applications need. Think things like seeding a database or taking in a CSV file and generating database records. Buffalo ships with an example routes task that prints of the defined routes and the function that handles those requests.

Models/ORM (Optional) - Accessing databases is nothing new in web applications. Pop, and its command line tool, Soda, were chosen because they strike a nice balance between simplifying common tasks, being idiomatic, and giving you the flexibility you need to build your app. Pop and Soda share the same core philosophies as Buffalo, so they were a natural choice.

Sessions, Cookies, WebSockets, and more... - The Gorilla toolkit is a great set of packages designed to improve upon the standard library for a variety of web-related packages. With these high-quality packages Buffalo can keep its "core" code to a minimum and focus on its goal of gluing them all together to make your life better.


Oh, yeah, everyone wants benchmarks! What would a web framework be without its benchmarks? Well, guess what? I'm not giving you any! That's right. This is Go! I assure you that it is plenty fast enough for you. If you want benchmarks you can either a) check out any benchmarks that the GIANTS Buffalo is built upon having published, or b) run your own. I have no interest in playing the benchmark game, and neither should you.


First, thank you so much for wanting to contribute! It means so much that you care enough to want to contribute. We appreciate every PR from the smallest of typos to the be biggest of features.

To contribute, please read the contribution guidelines: CONTRIBUTING

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.