Installation
Installation
Section titled “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:
go install golem-engine/cmd/golem-bake@latestVerify it’s available:
golem-bake# usage: golem-bakeThe only command is golem-bake. Run it from your project root whenever schemas change.
Go runtime (server)
Section titled “Go runtime (server)”Add the runtime as a module dependency in your game server:
go get golem-engineYour 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).
JavaScript client (optional)
Section titled “JavaScript client (optional)”If you’re building a browser client, add the JS runtime package:
npm install golem-engineGenerated js-client code imports from this package. The golem_import key under js-client in golem.yaml controls the specifier (defaults to golem-engine).
Native Go clients (optional)
Section titled “Native Go clients (optional)”If you’re building a Go client or an Ebiten game, add the Go client runtime:
go get golem-engine/golem-go-clientGenerated go-client code imports from this package by default. Ebiten games also use the Ebiten helper package and Ebiten itself:
go get golem-engine/golem-ebitengo get github.com/hajimehoshi/ebiten/v2Next steps
Section titled “Next steps”With the CLI and runtime in place, set up your golem.yaml and run your first bake—see Typical workflow and golem.yaml reference.