Skip to content

Build from Source

Terminal window
make build # Build everything (frontend + backend)
make build-frontend # Build admin UI (Vite → dist)
make build-mud-client # Build game client (Vite → dist)
make build-backend # Compile Go binary
make run-server # Run the Go server
make run-frontend # Start admin UI Vite dev server
make run-mud-client # Start game client dev server
make run # Run all three concurrently
Terminal window
cd public/app
npm install
npm run build
cd ../..

Output: public/app/dist/ — compiled Svelte + Vite assets

Terminal window
cd public/mud-client
npm install
npm run build
cd ../..

Output: public/mud-client/dist/ — compiled Svelte + xterm.js assets

Terminal window
go build -o talesmud ./cmd/tales/

The Go binary embeds both frontend dist/ directories using Go’s //go:embed directive. This means the compiled binary is self-contained — no separate static files needed.

Terminal window
docker build -t talesmud:latest .

The Dockerfile runs all three build steps sequentially.