About

Pages built from packages you can publish

AnvilKit is a monorepo of independently publishable, Puck-native React components — and the Studio shell, IR, and plugins that compose them into a complete authoring experience.

The model

A publishing model, not a kitchen sink

The whole project is organised around one idea: a component is a package, and a page is serializable data.

  • Each component is its own npm package under @anvilkit/* — no umbrella bundle, so consumers install only what they need.
  • Every package honours the Puck contract: componentConfig, defaultProps, fields, and metadata, ready for both direct rendering and the editor.
  • Render components accept only serializable props, so a page is just data that round-trips through Puck, the IR, and export.
  • Components are built with Rslib to ship CJS, ESM, and type definitions, and are versioned independently with Changesets.
In the monorepo

What powers the studio

A small set of foundational packages, a growing catalog of components, and a plugin layer that extends the editor without forking it.

@anvilkit/core

The runtime, plugin engine, and the <Studio> editor shell that hosts Puck.

@anvilkit/ir

The Headless Page IR and the transforms that turn Puck data into portable output.

@anvilkit/schema

AI-friendly schema derivation that powers the copilot and validation.

@anvilkit/validator

A Puck Config validator that guards the editor and publish path.

Component packages

Hero, Navbar, Pricing, Bento Grid, Statistics, Blog List, and more — each publishable on its own.

Plugin ecosystem

AI copilot, asset manager, canvas studio, collaboration, design system, version history, and export plugins.

See it for yourself

Open the editor hub to try every surface, or jump straight into the visual builder.