PageQuarry

A Modern Block-Based CMS for AI Agents and their Humans

View on GitHub

Repo-Native Publishing

A React Site Framework with a Block-Based Markdown CMS.

PageQuarry is an open-source React framework for teams that want humans and AI agents publishing in the repo without reopening layout decisions. Developers define blocks, templates, navigation, and SEO in code. Writers and agents fill those blocks in markdown.

Get StartedGitHub

Get Started opens the repo. Look Under the Hood reveals the exact homepage markdown now driving this page.

Runs

Inside Your React Repo

Publishing Surface

Markdown Blocks with Validation

Shared Workflow

Humans and Agents Use the Same Path

Product Boundary

What You Actually Install and Run.

PageQuarry is not a hosted admin panel. It is a React codebase with a block-based publishing layer wired into the repo. You clone it, define the presentation system in React, and publish pages from markdown.

That boundary matters. React owns layout, templates, navigation, metadata, and styling. Markdown owns content entry inside approved blocks.

Agent Workflow

What an Agent Actually Does.

An agent does not invent a page from scratch. It opens a draft file, calls approved blocks, fills the allowed fields, runs the check command, and submits the page for review. The surrounding design system never moves.

The point is to give humans and agents the same constrained publishing surface instead of asking either one to restyle the site on every edit.

  • Open a draft in submit-here
  • Reuse approved blocks instead of inventing layout
  • Run the check command before acceptance
  • Submit or edit the page into the published archive

React Example

Define the Presentation Once.

A developer builds the hero, CTA, FAQ, comparison row, or release-note block once. That React component owns spacing, type, interaction states, and visual rhythm.

After that, every page can reuse the same presentation instead of re-solving design in content.

Actual Example

React Blocksite/block-overrides.tsx
1export function HeroBlock({ title, deck, action }: HeroBlockData) {2  return <Section spacing="hero"><Text as="h1">{title}</Text></Section>;3}

Markdown Example

Publish New Pages Without Opening the Layout.

People and AI tools call that block from markdown by filling approved inputs. The content changes, but the presentation stays locked to the React implementation.

That is the core promise of PageQuarry: faster publishing without giving up control of the site.

Actual Example

Markdown Invocationcontent/archive/index/current.md
1{% hero2  eyebrow="Repo-Native Publishing"3  title="A React Site Framework with a Block-Based Markdown CMS."4  actionLabel="Get Started"5/%}

Supporting Infrastructure

The Rest of the System Stays Out of the Editor.

Templates, navigation, footer copy, redirects, metadata defaults, and validation live in code. That supporting infrastructure is what makes the markdown surface small enough for fast human and agent edits.

  • Templates decide which blocks belong on which page types
  • Navigation and metadata stay stable across edits
  • Published source stays visible and reviewable in the repo
  • Validation catches bad routes and broken block calls before they ship

Publishing Path

How a Change Moves from Draft to Production.

  1. 01

    Draft the Page

    Start in a markdown draft, choose existing blocks, and fill the content fields those blocks allow.

  2. 02

    Check and Accept It

    Run the validation step, then submit a new page or edit an existing one into the approved archive.

  3. 03

    Build from Approved Content

    The live site ships from accepted page data instead of whatever ad hoc working files happen to be in the repo.

01

React owns the frame. Markdown owns the fill.

PageQuarry

Product Boundary

Open the Repo and Try the Workflow.

Clone the project, inspect the block system, and ship a page through the same publishing flow this site uses.

View on GitHub