# Core

> Schemas, types, registries, and shared primitives that every other GalleryKit package depends on.

Source: https://gallerykit.n.yatsyk.com/docs/core

# @gallerykit/core

**@gallerykit/core** is the foundation: it defines the Zod schemas (`GalleryItem`, `GalleryConfig`, layout/skin/theme configs), the `<Gallery>` host component, and three runtime registries (`layoutRegistry`, `skinRegistry`, `themeRegistry`) that the rest of the GalleryKit packages plug into.

The umbrella entry point `@gallerykit/gallerykit` is documented here as well — it currently re-exports a small placeholder surface and acts as a meta package once the rest of the suite is wired up.

* **Stability:** experimental
* **Peer dependencies:** `react`, `react-dom`
* **Dependencies:** `zod`

## Install

```bash
pnpm add @gallerykit/core
```

## Quick example

```tsx
import { Gallery } from "@gallerykit/core";
import "@gallerykit/grid"; // self-registers the "grid" layout

const items = [
  { id: "1", src: "/photo-1.jpg", alt: "" },
  { id: "2", src: "/photo-2.jpg", alt: "" }
];

export default function MyGallery() {
  return <Gallery config={{ layout: "grid", columns: 3 }} items={items} />;
}
```

See [Getting Started](./getting-started.mdx) for the full walkthrough and [API](./api.mdx) for the public exports.
