Skip to content

Installation

golem-engine has two parts to install: the golem CLI (runs golem-bake to generate code from your schemas) and the runtime packages your project imports.

Install the golem binary with Go’s toolchain. Run this once and it lands on your PATH:

Terminal window
go install golem-engine/cmd/golem-bake@latest

Verify it’s available:

Terminal window
golem-bake
# usage: golem-bake

The only command is golem-bake. Run it from your project root whenever schemas change.

Add the runtime as a module dependency in your game server:

Terminal window
go get golem-engine

Your server imports the golem package:

import "golem-engine/golem"

Generated go-server code imports the same package internally; the golem_import key in golem.yaml tells generated files where to find it (defaults to golem-engine/golem—no change needed unless you re-export it).

If you’re building a browser client, add the JS runtime package:

Terminal window
npm install golem-engine

Generated js-client code imports from this package. The golem_import key under js-client in golem.yaml controls the specifier (defaults to golem-engine).

If you’re building a Go client or an Ebiten game, add the Go client runtime:

Terminal window
go get golem-engine/golem-go-client

Generated go-client code imports from this package by default. Ebiten games also use the Ebiten helper package and Ebiten itself:

Terminal window
go get golem-engine/golem-ebiten
go get github.com/hajimehoshi/ebiten/v2

With the CLI and runtime in place, set up your golem.yaml and run your first bake—see Typical workflow and golem.yaml reference.