Claude Code · Codex · Kimi Code
Your agent writes a landing page in one shot. That's the problem.
LandingForge makes it work in eight gated phases, then scores the result against a published 39-check rubric and loops until it clears 8.0/10. You approve every phase.
MIT · runs locally · no account, no API key, no telemetry
The default
Average is the one thing a landing page can't be.
You asked for a landing page and got one. Centered hero, three identical feature cards, an indigo-to-violet gradient button, a stock photo of someone pointing at a whiteboard.
It isn't bad, exactly. It's average — which is what your visitor has already scrolled past four times today. And because you have no rubric to argue with the model about, the next prompt just produces a differently average page.
LandingForge names the failure modes first — eight hard reject rules and thirteen conversion anti-patterns, written down before generation starts — then grades the output against them.
How it works
Eight phases. You approve each one.
- 01
Lock the strategy
Positioning, ICP, awareness stage, and the ONE action the page drives. Nothing gets written until this is settled — and you approve it before phase 2 starts.
- 02
Write, design, build
Copy keyed to a persuasion framework. A visual system with one accent and one display face. A self-contained Astro project where the product UI is coded, not stock.
- 03
Audit what shipped
Conversion, discoverability, and performance passes run against the rendered page in a real browser — not against the plan that produced it.
- 04
Score it, then loop
Four axes, 39 checks. Below the bar, each fix routes back to the phase that owns it. Three rounds maximum, then it reports what it could not fix.
01 — The rubric is the product
Most generators hide their taste in a system prompt.
LandingForge publishes all 35,631 words of it. The anti-slop blocklist alone bans eight specific tells. You can read every rule, disagree with one, and edit it.
Read anti-slop-blocklist.md- A1 default Inter as the display face
- A2 indigo-violet gradient accent
- A3 centered-everything layout
- A4 identical three-card grid
- A5 decorative gradient blobs
- A6 emoji as iconography
- A7 stock-photo hero
- A8 untinted Tailwind grays
02 — It grades the DOM, not the plan
A page can promise discipline in the brief and still ship two competing buttons.
So the QA phases drive a real headless browser over the built page and read computed styles, above-the-fold paint, and the mobile fold. The browser ships with the plugin — there is nothing else to install and nothing to connect to.
03 — Written for AI search, not just Google
A page that only ranks gets summarized without attribution.
Structured data is server-rendered into the initial HTML, answers are self-contained at the passage level, and crawler access for citation engines is checked explicitly rather than assumed.
Proof
No testimonials. This was published today.
Inventing users would break the same specificity rule the engine enforces on every page it builds. So here is what you can check yourself instead, in about a minute.
The obvious objection
“A score the model gives itself isn't evidence.”
Correct. So here is exactly what the number is, and what it isn't.
| Axis | Weight | How it's determined |
|---|---|---|
| Conversion | 35% | A 13-rule linter read against the rendered DOM — element counts, form fields, what survives the fold |
| Visual distinctiveness | 25% | Model judgment against five named calibration pages — labeled as taste, not measurement |
| Discoverability | 25% | Structured-data and crawler-access checks, delegated to claude-seo when installed |
| Craft & performance | 15% | Lighthouse, when a URL can be served. Labeled “reasoned” when it cannot |
Three of four axes read from deterministic sources. One is taste, and it says so.None of them measure conversion — no A/B data enters this loop. The score enforces a floor of craft; it does not predict revenue, and a tool that claims otherwise is selling you something.
Price
Free. MIT.
There is no paid tier, no hosted version, and no plan to add one. Fork it and change the rules if yours are better.
FAQ
Questions worth asking first.
Does it work without Claude Code?
Yes. Codex and Kimi Code are supported. The per-CLI prompt variants are generated from one source and CI fails if they drift, so all three stay in step.
Does it need an API key, or send my page anywhere?
No. It runs inside the coding agent you already use, and the bundled browser only opens pages you point it at. There is no account, no key, and no telemetry.
Can I change the rules?
That is the intended use. The knowledge base is plain markdown — edit a rule and every page the engine builds afterwards follows it.
What does it actually produce?
A self-contained Astro and Tailwind project you own, plus the artifact chain that justifies each decision: the brief, the copy, the design tokens, the QA reports, and the scorecard.
Will it deploy the page for me?
No. It writes page code and commented integration stubs. It holds no secrets and touches no accounts — deployment stays yours.
Read the rubric first. Install it second.
Two lines in Claude Code. Codex and Kimi Code are one command each — see the README.
MIT · runs locally · no account, no API key, no telemetry