Skip to content

Rewrite the homepage for the person building a game - #14

Merged
seenu-k merged 1 commit into
mainfrom
docs/implementor-facing-homepage-and-agent-page
Aug 6, 2026
Merged

Rewrite the homepage for the person building a game#14
seenu-k merged 1 commit into
mainfrom
docs/implementor-facing-homepage-and-agent-page

Conversation

@seenu-k

@seenu-k seenu-k commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

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 ships card, card--full-height and card__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--secondary deliberately. hero--primary fills the banner with --ifm-color-primary — the same variable button--primary paints 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.md covers the Claude Code skill, the llms.txt / .md / openapi.json retrieval 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's AGENTS.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-version and build (which is also the link checker) all pass. The new page is in llms.txt and ships as both .html and .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.md is explicit that a client which is behind fetches the missing span and animates through it. Fixed before landing.

🤖 Generated with Claude Code

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>
@seenu-k
seenu-k merged commit 329a26f into main Aug 6, 2026
1 check passed
@seenu-k
seenu-k deleted the docs/implementor-facing-homepage-and-agent-page branch August 6, 2026 03:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant