explaingit

livebud/bud

5,591JavaScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

Bud is a full-stack web framework for Go that auto-generates boilerplate as you add files, you get server-side rendering, live reload, and a single deployable binary with minimal setup.

Mindmap

mindmap
  root((bud))
    What it does
      Full-stack Go framework
      Auto code generation
      Single binary deploy
    Tech Stack
      Go
      Svelte
      Node.js
    Use Cases
      SSR web apps
      Go API plus frontend
      Fast deployments
    Audience
      Go developers
      Full-stack engineers
    Features
      Live reload
      Minimal boilerplate
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a full-stack web app in Go with Svelte frontend and server-side rendering, starting from a nearly empty project.

USE CASE 2

Compile a Go web application into a single binary for deployment on a server, no Go runtime required on the host.

USE CASE 3

Get live-reload development for a Go+Svelte project so browser updates happen automatically on every file save.

USE CASE 4

Generate all the structural web-framework boilerplate automatically so you can focus on your app's actual features.

Tech stack

GoJavaScriptSvelteNode.js

Getting it running

Difficulty · moderate Time to first run · 30min

Requires both Go 1.17+ and Node.js 14+ installed, the framework bridges both runtimes.

License details are not described in the explanation, check the repository for the specific terms.

In plain English

Bud is a full-stack web framework for Go, a programming language often used for backend servers. The idea behind it is that writing web applications involves a lot of repetitive, structural code that developers have to produce before they can do anything interesting. Bud generates that code for you automatically as you add files to your project, so you start with almost nothing and the framework fills in the gaps. Installing Bud means downloading a single binary file for macOS or Linux. Once installed, you run one command to create a new project and another to start a local development server. The project directory starts very small, just a handful of configuration files, and grows as you build. The framework currently requires Node.js (version 14 or higher) and Go (version 1.17 or higher) to be installed on your machine. Bud is designed to work with modern JavaScript frontend tools, including Svelte. It handles server-side rendering, which means the server prepares the page content before sending it to the browser, improving speed and search engine visibility. It also supports live reload, so changes you make to code appear in the browser without manually refreshing. When you are ready to ship your app, Bud compiles everything into a single binary file that can run on a server without needing Go installed separately. The project was started in 2019, inspired by how productive frameworks like Laravel (for PHP) and Next.js (for JavaScript) make their users. The author wanted something similar for Go developers: a framework that starts minimal, generates only what is needed, and stays out of the way. The generated files are kept separate from your own application code, so you do not need to read or manage them. The README includes a video demo showing how to build a small web app in about 15 minutes, along with links to documentation. The project was in active early development at the time of the last README update.

Copy-paste prompts

Prompt 1
I'm starting a new web app with the Bud Go framework. Show me the commands to install Bud, create a project, and add a Svelte page that fetches data from a Go API route.
Prompt 2
How does Bud's code generation work? What files do I need to create to get a new route with server-side rendering in Bud?
Prompt 3
How do I compile my Bud project into a single deployable binary, and what does that binary need to run on a Linux server?
Prompt 4
I'm coming from Next.js and want to try Bud for a Go project. What are the key differences in how routing and pages work?
Open on GitHub → Explain another repo

← livebud on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.