pagegraph

Package entries

Where each pagegraph package entry runs, what it exports and which peers it needs, plus the stub and zero-dependency guarantees.

Every entry belongs to one place. Runtime entries use portable graph and document code with the framework peers listed below, and the capture adapter runs on a Start server. Build entries load your app through Vite, parse routes natively, or drive Node I/O.

What runs where

EntryRuns inExportsPeers
pagegraphruntime (Worker, SSR, browser)buildSeoGraph, contentCollection, renderSitemap, renderRobots, pageHeads, graphToJson/graphFromJson, checks, inspectHtml, document types, facts, markdown and locksnone
pagegraph/reactruntimecreateSeo → seo.head, seoHead, Breadcrumbs, JSON-LD generators, authored page primitivesreact, @tanstack/react-router
pagegraph/tanstack-start/serverruntime (Start server routes)robotsTxt, sitemapXml, llmsTxt, llmsSection, seoGraph, seoSitethe pagegraph() plugin
pagegraph/tanstack-start/markdownruntime (Start server)markdownRequest, markdownPagePathsreact, react-dom, @tanstack/react-start, @tanstack/react-router
pagegraph/tanstack-start/reactruntimecapture-aware Linkreact, @tanstack/react-router
pagegraph/tanstack-start/prerender-workernon-deployed prerender Workercompiled Start serverthe pagegraph() plugin
pagegraph/tanstack-startbuild (vite.config.ts, pagegraph.config.ts)pagegraph() Vite plugin, tanstackStartGraph, evaluateAppGraphvite, @tanstack/router-generator, effect
pagegraph/vitebuild (vite.config.ts)seoRouteConfig coverage gatevite, @tanstack/router-generator
pagegraph/configbuild (pagegraph.config.ts, CLI)defineSeoConfig, viteGraphLoader, loadPageHeadsvite
pagegraph/claimsbuild / CLI (Node or Bun)claimsInput, claimsFamily, document resolution, committed claims checkseffect
pagegraph/auditbuild / CLI (Node or Bun)Audit services, scanner protocol, rules, and report schemaseffect
pagegraph/oxlintbuild (oxlint)pagegraph plugin: no-bare-text, t-childrennone
pagegraph binCLI (Bun)CLI over the same graphbundled

Guarantees

Build entries resolve to a stub under the workerd, worker and browser export conditions. A Worker or browser bundle that reaches one fails at import with an error naming the entry, instead of crashing on a native binding when a request first runs the code. Never import pagegraph/tanstack-start, pagegraph/config, pagegraph/vite or pagegraph/audit from code a Worker or browser bundle reaches.

The runtime entries have zero runtime dependencies beyond their listed peers. A test pins each entry's import graph.

CLI runtime

The CLI bundles PageGraph's Effect, TypeSafe provider runtime and Pi agent runtime, so it does not depend on the app's Effect version. It runs on Bun (bunx pagegraph). Every workflow runs in-process on Pi 1.0.4. Improve workflows use guarded repository edit tools, and research and dry-run actions expose only read tools. Every workflow failure after run creation writes failure.json with its stage, agent messages and cause chain.

vite stays a peer, because graph commands load your app through Vite at runtime. lighthouse is only needed by pagegraph audit. Importing pagegraph/audit programmatically needs effect@^4.1.2. The Effect and TypeSafe peers remain optional for other library entry points and the bundled CLI.

Read next

Edit this page on GitHubView as Markdown