# Getting started





This page gets the `pear` CLI onto your machine and points you at how to stage, seed, and release an app you already have. Don't have an app yet? [Build one on P2P](/p2p/getting-started)—a type-along tutorial that builds a peer-to-peer chat app from scratch, then reshapes it into the production `hello-pear-electron` scaffold this page's release steps assume.

## Install Pear [#install-pear]

Get the [`pear`](/pear/reference/pear/cli) CLI from **[install.pears.com](https://install.pears.com)**:

<Tabs items="['curl (macOS / Linux)', 'irm (Windows)', 'npx', 'docker']">
  <Tab value="curl (macOS / Linux)">
    ```sh
    curl https://install.pears.com/pear.sh | sh
    ```
  </Tab>

  <Tab value="irm (Windows)">
    ```powershell
    irm https://install.pears.com/pear.ps1 | iex
    ```
  </Tab>

  <Tab value="npx">
    ```sh
    npx pear
    ```
  </Tab>

  <Tab value="docker">
    ```sh
    docker run -it --rm tetherto/pear
    ```
  </Tab>
</Tabs>

Follow the `PATH` instructions the installer prints, then run `pear` directly. See [Install & upgrade](/pear/reference/pear/cli#install) for the npm-global alternative and upgrade details. The [`tetherto/pear`](https://hub.docker.com/r/tetherto/pear) image runs Pear inside Ubuntu with `pear` and `pear-install` ready to go—handy for trying the CLI without installing anything locally.

<Callout type="info">
  **New to the CLI?** Run **`pear --menu`** (Pear 3.2.0+) to browse every command from a filterable list and fill in its flags as a form, instead of memorizing them. See [Browse commands with the interactive menu](/pear/how-to/browse-commands-with-the-interactive-menu).
</Callout>

## Don't have an app yet? [#dont-have-an-app-yet]

Clone an official boilerplate instead of starting from a blank folder—each one embeds a `pear-runtime`-family module for peer-to-peer over-the-air updates, so the release steps below apply as soon as you've made one yours.

<Cards>
  <Card href="/p2p/getting-started/from-a-template/start-from-hello-pear-electron" title="hello-pear-electron (desktop)" description="An Electron GUI app: renderer ↔ main ↔ Bare worker behind a preload bridge. The shape Keet and PearPass ship." />

  <Card href="/p2p/getting-started/from-a-template/start-from-hello-pear-bare" title="hello-pear-bare (long-running terminal)" description="A standalone Bare executable for long-running programs: services, REPLs, and TUIs with no GUI and no peer dependencies." />

  <Card href="/p2p/getting-started/from-a-template/start-from-hello-pear-daemon" title="hello-pear-daemon (short-lived CLI)" description="A standalone Bare executable for commands that run and exit: a detached bare-daemon updater checks for updates in the background after the command returns." />

  <Card href="/p2p/getting-started/from-a-template/start-from-hello-pear-qvac-tui" title="hello-pear-qvac-tui (on-device AI terminal)" description="A terminal app that runs a language model on the user's own machine: Bare, QVAC on-device inference, and a bare-tui interface, with over-the-air updates." />

  <Card href="/p2p/getting-started/from-a-template/start-from-hello-pear-react-native" title="hello-pear-react-native (mobile)" description="An Expo/React Native app: a Bare worklet embedded via pear-mobile, with the same over-the-air updates." />
</Cards>

Prefer to build the peer-to-peer logic yourself first, rather than clone a template? [Build a peer-to-peer chat](/p2p/getting-started) is the full type-along tutorial.

## Already have a built app? Ship it [#already-have-a-built-app-ship-it]

The deep, step-by-step guides for every part of the release pipeline already exist as how-tos—this section signposts into them rather than repeating them:

* [Deploy your application](/pear/how-to/operate-an-app/manual-deployment/deployment)—`pear touch`, `pear stage`, `pear provision`, and `pear seed`, the core stage → provision → seed flow.
* [Build & package](/pear/how-to/operate-an-app/build-and-package)—desktop distributables, binaries, and app-store submissions.
* [CI/CD with GitHub Actions](/pear/how-to/operate-an-app/github-actions)—automate the same flow from CI.
* [Multisig](/pear/how-to/operate-an-app/multisig)—require multiple signers before a production release goes live.

For the concepts behind that flow—what staging, provisioning, and multisig actually do and why—see [Release pipeline](/pear/explanation/deployment-releasing-apps-p2p).

## Where to go next [#where-to-go-next]

* [Build a peer-to-peer chat](/p2p/getting-started)—the full type-along tutorial, if you're starting from nothing.
* [Command Line Interface (CLI)](/pear/reference/pear/cli)—every `pear` command and flag.
* [Manage installed applications](/pear/how-to/manage-installed-applications)—list installed Pear apps and reset their storage.
* [Troubleshoot common issues](/pear/how-to/troubleshooting)—fixes for common Pear CLI and deployment issues.
