A Go web development eco-system,
designed to make the life of a Go web
developer easier.

Get started

Latest release:

0.13.5

Requires:

Go 1.9.7+

Main Features

routing

Routing

Buffalo uses Gorilla toolkit to manage routes, sessions, cookies...

There might be faster routers out there, but this one is definitely the most powerful!

templating

Templating

Write your templates with Plush, using a Rails-like syntax. Extend its features using custom helpers.

If you don't like it, you can use html/template or even bring your own!

buffalo-toolbox

Buffalo toolbox

Writing a web application module always begins with the same tasks. Buffalo provides you a simple toolbox, the buffalo command, to generate many parts of your app and run usual tasks.

Extend the toolbox with plugins, using the language you want!

testing

Testing

Since testing can be a boring task, Buffalo helps you to define test suites. Action, resource, model generators create test templates for the code you just generated.

You can run them all using a simple command from the toolbox.

hot-reload

Hot Code Reload

Code, save, refresh. Use the buffalo dev command to rebuild your app, from backend to frontend, and just see the changes live!

Optional front-end

Frontend pipeline

Use the Webpack-generated configuration to build your frontend assets, so you can optimize both backend and frontend.

Optional models

Models / ORM

Deep integration with pop provides a simple way to handle database and common related tasks.

Supported databases: MySQL/MariaDB, PostgreSQL, CockroachDB, SQLite.

Optional task-workers

Tasks / Background Workers

If you're familiar with Rake tasks from Ruby, you'll be right at home using Grift. Seeding a database, running a cleaning job are now at hand!

Running background tasks are easy too, using the Background Workers.

cactus cactus cactus

From Our Blog

Associations with Pop: 1 to 1

Stanislas Michalak

Model relations with Pop are difficult to understand. Let’s fix that.

Pop v4.9.0 Released!

Stanislas Michalak

Eager creation, better CockroachDB support and more. Discover the new Pop release!

The Road to 1.0: Versioning

Mark Bates

In this installment of posts dedicated to bringing Buffalo up to a v1.0.0release I would like to talk about how we are currently versioning...

tumbleweed-left tumbleweed-left tumbleweed-left

Use Buffalo at work?

Ask your manager or marketing team if they’d help support our project.

Become a Patreon

tumbleweed-right tumbleweed-right

Want to know more about Buffalo?

Get all the support and resources in our documentation.

Go to the documentation