---
number: 23
title: One repo, one site — spellgrove.com
date: 2026-09-03
summary: The workspace repo folded into the game's, the public site moved off the task-runner host onto the game's own droplet, and the whole thing came up at spellgrove.com — built on the box itself, two minutes after every push, with the game, the site and a staging realm behind one address.
epic: building-the-game
status: delivered
artifacts: ["docs/handoff/building-the-game.md","workshop/epics/building-the-game/overview.md","ops/droplet/README.md"]
cta: [object Object]
---

Until this day there were two repositories and two hosts. The game lived in one repo; the
epic board, the deliverables, the brand and the site lived in another, nested around it; and
the site was served from a folder on the AI Task Runner's machine, under a long hostname that
belonged to the platform rather than to the game. Kris's call on 2026-09-03, by voice: **one
repo, one site, all the energy on this game.**

## What changed

The workspace repo was merged into `land-of-lor` — everything it held now sits under
`workshop/` and `site/` in the same tree as the code. The site moved onto the game droplet:
a timer there checks `origin/master` every two minutes, and when it has moved, pulls, builds
the Astro site and swaps it into place, so a push is a deploy. Caddy fronts all of it with an
automatic certificate: the site at the root, the game's director under `/director/`, the game
channel under `/game/`, the downloads under `/download/`. The old hostname redirects.

A **staging realm** came up the same day — a second director on the same box, its own copy of
the database, reachable at `staging.spellgrove.com` — and the game gained a hidden picker
(seven taps on the title screen's footer) to point a phone at it. New server work now lands on
staging first.

## What a player sees

The game at **spellgrove.com/play**, in the browser or as the Android download linked from
the same page, and the world map, the codex and the rest of the site around it. The address
on the box, the certificate and the redirect are invisible, which is the point.

## What it stood on

`spellgrove.com` had been registered a few days earlier; the game was still called Land of
Lor when this shipped, and would be named Spellgrove eight days later
([deliverable #27](/deliverables/27)). The site's build script, the timer and Caddy's
configuration were tightened again in the security audit ([deliverable #28](/deliverables/28));
the shape here is the one that still runs.