# Partner quickstart (/docs/start/partner-quickstart)



As a partner you build an **integration package**: blocks, trackers, and settings that merchant apps can enable. You develop it inside a host app repo that Appbrew shares with you, then publish the package so merchant apps can install it.

<Steps>
  <Step>
    ### Clone your host app repo [#clone-your-host-app-repo]

    Clone the repo Appbrew shared with you: either a copy of the Appbrew **sample app**, or a **dedicated app provisioned for your product** (with your own store, this app can even ship to the stores as your product's showcase). Either way it arrives ready. The `.env` points at a store (the shared demo store, or yours), so the app runs against real config immediately. No repo yet? See [Getting access](/docs/start/getting-help#getting-access).
  </Step>

  <Step>
    ### Install and run [#install-and-run]

    With the [toolchain installed](/docs/start/prerequisites):

    ```bash
    mise install
    pnpm install
    pnpm run-ios      # or pnpm run-android
    ```

    See [Run your app](/docs/start/run-your-app) for what the dev server does and common first-run issues.
  </Step>

  <Step>
    ### Scaffold your integration package [#scaffold-your-integration-package]

    ```bash
    pnpm create-integration <name>
    ```

    This creates `packages/<name>/` with a `package.json` and a `src/index.ts` to export from. The folder is a pnpm workspace member, and the host app consumes it as a `workspace:*` dependency, so edits to your package source hot-reload in the running app. Run `pnpm install` once after scaffolding.
  </Step>

  <Step>
    ### Build your blocks and trackers [#build-your-blocks-and-trackers]

    Develop in `packages/<name>/src/`. Start with the [Build section](/docs/build): [custom blocks](/docs/build/custom-blocks) for UI that renders on screens, [analytics trackers](/docs/build/analytics-trackers) for event forwarding, and the [integration model](/docs/build/integrations) for how it all fits together.
  </Step>

  <Step>
    ### Test in the app [#test-in-the-app]

    Import your package by name in the host app (wire blocks into `src/app/register-blocks.ts`, setup code into `src/app/App.tsx`) and exercise it on the simulator against the demo store's config. See [Testing](/docs/build/testing).
  </Step>

  <Step>
    ### Publish your package [#publish-your-package]

    When it works end to end, publish it under your npm scope so merchant apps can install it. See [Publishing packages](/docs/ship/publishing-packages).
  </Step>

  <Step>
    ### Appbrew enables it for merchants [#appbrew-enables-it-for-merchants]

    Tell your Appbrew contact the package is ready. Appbrew enables the integration for merchant apps, and the settings you declared in your [manifest](/docs/reference/manifest-schema) appear in the merchant dashboard for merchants to configure.
  </Step>
</Steps>

Once you're running, [set up milo](/docs/start/milo-setup): the Appbrew CLI your coding agent uses for app config, blocks on screens, and integrations.
