# Packages

The engine ships as **{catalog.packageCount} packages** — the `@flare-engine/*` scope plus the
unscoped `create-flare-app` scaffolder — organized into the layers below. You install only
the layers you use — most apps pull the `@flare-engine/engine` umbrella plus `@flare-engine/react`.

<Aside type="note" title="Kept current automatically">
This catalog is **generated from the engine source**, not hand-maintained: a weekly job reads
`../flare-engine/packages/*` (each package's `package.json` + `src/index.ts` public surface) and
opens a pull request when anything is added, removed, or changes its exported API. So the count
and the per-package surface here track the engine as it evolves. The site build itself stays
engine-free — it reads the committed snapshot.
</Aside>

<PackageCatalog />

## How to read this

- **Layer** — packages are organized into layers; a package may depend only on **lower** layers
  (the downward-only rule). See [Concepts → Architecture](/concepts/architecture) for the model.
- **Exports** — the count and a sample of each package's public surface (its `src/index.ts`
  barrel). The `@flare-engine/engine` umbrella additionally re-exports the lower runtime layers.
- **Depends on / Peers** — intra-engine dependencies and the external peer packages you supply
  (Skia, React Native, etc.).

<Aside type="caution" title="Pre-launch">
The `@flare-engine` scope is published **restricted** until the OSS launch (target October 2026).
A full per-symbol API reference (signatures, parameters) is wired via TypeDoc and lands at that
publish; this catalog is the human-readable surface available today.
</Aside>
