# @gauntlet/brewery (/docs/reference/packages/brewery)



`@gauntlet/brewery` is the app shell that your app's `App.tsx` composes.

What brewery does on launch, in order:

1. Loads the app config (with an offline cache) for your `APP_ID`.
2. Initializes the store, integrations, and analytics trackers declared in config.
3. Builds navigation from the config's screens.
4. Renders each screen's blocks through the [block registry](/docs/concepts/screens-and-blocks).

The places your code meets brewery:

* **`src/app/App.tsx`** — the shell composition your repo ships with; integration providers wrap here.
* **`src/app/register-blocks.ts`** — called during boot so your custom blocks are in the registry before first render ([Custom blocks](/docs/build/custom-blocks)).
* **`app`** — the extension host, your entry point into the package on 0.27.0 and later: `app.components.register`, `app.modules.register`, `app.actions.extend` ([Extending app behavior](/docs/build/extending-app-behavior)).

Treat the rest of the shell as platform internals: it upgrades with the [lockstep platform version](/docs/concepts/package-ecosystem), and code that reaches into it can break on upgrade.
