Skip to content

fix(frontlit-pages): sync page and site schemas with FrontLit - #13

Merged
clbotdev merged 3 commits into
mainfrom
fix/sync-page-schema
Nov 15, 2026
Merged

clbotdev merged 3 commits into
mainfrom
fix/sync-page-schema

Conversation

@clbotdev

@clbotdev clbotdev commented Nov 15, 2026 •

Copy link
Copy Markdown
Collaborator

The frontlit-pages skill bundles copies of FrontLit's page.v1.json and site.v1.json. Those copies predate FrontLit's 24 Oct release (fb32112, "pricing period switch, header GitHub link, block icons") and the later agentInstructions field. As a result:

  • check.mjs rejects valid pages: it fails pages that use pricingSwitcher, priceYearly, githubRepo or showGithubStars as unknown settings, even though FrontLit's importer accepts them.
  • The references told agents those features don't exist: blocks.md said "There is no monthly/yearly switch". So agents working through Git couldn't build pages like sendlit.app or medialit.cloud, which were made in the visual builder with these features.

Changes

  • Schemas: scripts/schema/page.v1.json and site.v1.json are now copied from codelitdev/frontlit main (packages/page-builder/schema/).
  • references/blocks.md: documents the pricing switch (pricingSwitcher, priceYearly, buttonActionYearly, monthlyPriceCaption, yearlyPriceCaption, defaultPeriod) and the header githubRepo + showGithubStars.
  • references/format.md: documents site.json agentInstructions, which FrontLit serves at /llms.txt.
  • check.mjs --fix no longer deletes site settings: canonicalSite only copied theme, header, footer and redirects, so --fix silently removed agentInstructions and any other new key. It now walks the schema's keys in order.
  • No false heading warning for agentInstructions: llms.txt starts with one # title, so the second-H1 warning is skipped there.

Found while building CourseLit's site from Git (codelitdev/courselit#882). That PR uses the pricing switch, the header star count and agentInstructions. FrontLit's "pages preview" PR check passes on it, which confirms the importer accepts them.

A follow-up should keep these copies from drifting again, for example with a CI job that diffs them against FrontLit's published schema.

The bundled schemas missed the pricing monthly/yearly switch, the header GitHub link and star count, and site.json agentInstructions (published as /llms.txt), so the checker rejected them and the references told agents they didn't exist.
canonicalSite only copied theme, header, footer and redirects, so
check.mjs --fix silently deleted agentInstructions and any other new
site setting. It now walks the schema's keys in order.
llms.txt starts with a single # title, so the second-H1 warning does not
apply to site.json agentInstructions.
@clbotdev
clbotdev merged commit d514bc0 into main Nov 15, 2026
1 check passed
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.

2 participants