Rewrite the homepage for the person building a game - #14
Merged
Conversation
The homepage argued from the engine's point of view. "Bring your own game"
named the whole product rather than one feature of it, and "One codebase runs
many games" stated a property of the engine's source tree that changes nothing
for the reader. Neither told someone evaluating Eigen what they would be handed.
The three cards now name what a project actually gets — a server, an app, and
the one part that is theirs — followed by a What you write / What you get split,
which is the page's real argument: the second list is long and none of it is
their game. The tagline becomes "Build games, not boilerplate", and the hero
carries the two commands that start a project.
Layout is Infima's throughout: `hero hero--primary`, `row`/`col`,
`card card--full-height`, `button--*` and `CodeBlock`. An earlier pass
reimplemented the card and hand-coloured the buttons; both are gone. The single
button is `button--secondary` because `hero--primary` fills the banner with
`--ifm-color-primary`, the same variable `button--primary` paints itself with,
so a primary button there collapses to a floating label.
"How it works" was also not ready to be a landing target: it went from the
design principle straight to a table of Cloudflare services. It now opens with
the game model — state, action, observation, transition — and the server/client
split, before any infrastructure.
Adds "Working with an agent", covering the Claude Code skill, the retrieval
surface, and the mistakes agents make on this contract. The skill was previously
mentioned only in the engine repository's AGENTS.md.
Also drops engine-author voice found across the docs ("the crown jewel", "the
platform serializes access for us", "the one we read") and rewrites the
scaffolder's version note from "it does not negotiate versions while it runs"
into what that means for the reader.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The homepage argued from the engine's point of view. Two of the three cards were the clearest symptom: "Bring your own game" named the whole product rather than one feature of it, and "One codebase runs many games" stated a property of the engine's source tree that changes nothing for the person reading it.
Homepage
The three cards now name what a project is actually handed — a server, an app, and the one part that is theirs — followed by a What you write / What you get split, which is the page's real argument: the second list is long, and none of it is their game. Tagline becomes Build games, not boilerplate, and the hero carries the two commands that start a project (scaffold, and the agent plugin).
Layout is Infima's throughout —
hero hero--primary,row/col,card card--full-height,button--*,CodeBlock. An earlier pass in this branch had reimplemented.card(Infima shipscard,card--full-heightandcard__body) and hand-coloured the hero buttons; both are gone, and local CSS is 72 lines that set no colour.The single button is
button--secondarydeliberately.hero--primaryfills the banner with--ifm-color-primary— the same variablebutton--primarypaints itself with — so a primary button there is teal on teal and collapses to a floating label. There is a comment on the component saying so, because it looks like a downgrade and isn't.How it works
It was not ready to be a landing target: it went from the design principle straight into a table of Cloudflare services. It now opens with the game model (state, action, observation, transition — and which of those are yours) and the server/client split, including the rules twin as a latency device rather than a second source of truth, before any infrastructure.
New page: Working with an agent
docs/build-a-game/with-an-agent.mdcovers the Claude Code skill, thellms.txt/.md/openapi.jsonretrieval surface, and the five mistakes agents specifically make on this contract — each of which produces code that survives a casual read. The skill was previously mentioned only in the engine repository'sAGENTS.md, so it had no presence on the site at all.Voice
Dropped engine-author phrasing found across the docs: "the crown jewel", "the platform serializes access to each game for us", "the one we read". Rewrote the scaffolder's "It does not negotiate versions while it runs" into what it means for the reader — you don't pick versions, you get a pair tested together — and moved it out of an admonition about network access.
Verification
lint,typecheck,check-admonitions,check-docs-versionandbuild(which is also the link checker) all pass. The new page is inllms.txtand ships as both.htmland.md.One correction made while writing: a first draft claimed a reconnecting client "gets the current observation, not a backlog to replay." That is only true for a cold open —
transport.mdis explicit that a client which is behind fetches the missing span and animates through it. Fixed before landing.🤖 Generated with Claude Code