# Pear





Pear is an installable peer-to-peer runtime, development, and deployment platform. Build, share, and extend unstoppable, zero-infrastructure P2P apps for mobile, desktop, and terminal.

Welcome to the Internet of Peers.

  *– Holepunch, the P2P Company*

Pear runs on [Bare](/bare), the zero-core JavaScript runtime underneath it—which you can also use entirely on its own, embedded in a native app or compiled into a standalone binary. [How the stack fits together](/p2p/explanation/how-the-stack-fits-together) maps the layers.

<ProductRelationship active="pear" />

## Install Pear [#install-pear]

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

```sh
curl https://install.pears.com/pear.sh | sh
```

See [Getting started](/pear/getting-started#install-pear) for Windows, npx, and Docker installs, then what to do next—ship an app you already have, or start from a template.

## Boilerplates & key docs [#boilerplates--key-docs]

Starter paths and the most relevant docs for building and shipping a Pear desktop app (macOS / Linux / Windows):

<Cards>
  <Card href="/p2p/getting-started" title="Getting started" description="Type-along chat, persistence, then ship and update." />

  <Card href="/pear/getting-started" title="Already have an app? Ship it" description="Install the pear CLI, then stage, seed, and release an app you've already built." />

  <Card href="/p2p/getting-started/from-a-template/start-from-hello-pear-electron" title="hello-pear-electron template" description="Clone the boilerplate and learn your way around it, then add a feature end to end." />

  <Card href="/p2p/getting-started/from-a-template/start-from-hello-pear-bare" title="hello-pear-bare template" description="Clone the terminal boilerplate and learn your way around it, then ship it as a standalone binary." />

  <Card href="/p2p/getting-started/from-a-template/start-from-hello-pear-daemon" title="hello-pear-daemon template" description="Clone the short-lived CLI boilerplate, where a detached updater checks for updates in the background after the command exits." />

  <Card href="/p2p/getting-started/from-a-template/start-from-hello-pear-qvac-tui" title="hello-pear-qvac-tui template" description="Clone the on-device AI terminal boilerplate, which runs a language model locally behind a bare-tui interface." />

  <Card href="/pear/explanation/pear-desktop-architecture" title="Pear desktop architecture" description="How Electron, Bare workers, storage, and OTA fit together." />

  <Card href="/pear/explanation/deployment-releasing-apps-p2p" title="Deployment - Releasing Apps P2P" description="Stage → provision → multisig and release lines." />

  <Card href="/bare/explanation/use-bare-standalone" title="Using Bare on its own" description="Use Bare—the runtime under Pear—on its own as an embeddable, cross-platform JavaScript runtime, without the peer-to-peer platform." />
</Cards>

The upstream Electron template used by the team is `holepunchto/hello-pear-electron` on GitHub (clone there for a ready-made repo; use the links above for explanations and procedures).

## How-to guides by task [#how-to-guides-by-task]

Goal-oriented recipes, grouped by task. **Releasing and distributing your app** lives here too—shipping and updating is a how-to, spanning [manual deployment](/pear/how-to/operate-an-app/manual-deployment), [multisig](/pear/how-to/operate-an-app/multisig), [build & package](/pear/how-to/operate-an-app/build-and-package), and [CI](/pear/how-to/operate-an-app/github-actions); the why is in [Release pipeline](/pear/explanation/deployment-releasing-apps-p2p).

<Cards>
  <Card href="/p2p/how-to/connect-to-peers" title="Connect to peers" description="Dial a peer by key with HyperDHT, join topics with Hyperswarm, and host multiple rooms in one app." />

  <Card href="/p2p/how-to/store-and-replicate" title="Store and replicate" description="Persist and replicate with Hypercore, manage many cores with Corestore, and share databases with Hyperbee." />

  <Card href="/p2p/how-to/blind-peering" title="Blind peering" description="Keep data available when peers go offline, and add blind peering to a chat app." />

  <Card href="/p2p/how-to/manage-identity" title="Manage identity" description="Create a portable identity with Keet identity keys and wire it into an app." />

  <Card href="/p2p/how-to/stream-and-share-media" title="Stream and share media" description="Build a peer-to-peer filesystem with Hyperdrive; share files, back up photos, and stream stored or live video." />

  <Card href="/bare/how-to/run-on-native" title="Run on mobile & native" description="Embed Bare in React Native, type a native RPC bridge, and bundle a Bare app." />

  <Card href="/bare/how-to/add-on-device-ai" title="Add on-device AI" description="Run an LLM locally with QVAC—no API key, no cloud round-trip." />

  <Card href="/bare/how-to/connect-over-bluetooth" title="Connect over Bluetooth" description="Find nearby devices and exchange data with them over Bluetooth Low Energy, with no network in between." />

  <Card href="/pear/how-to/operate-an-app" title="Release & distribute your app" description="Stage, provision, and multisig releases; build desktop distributables; automate with CI; submit to app stores." />

  <Card href="/pear/how-to/browse-commands-with-the-interactive-menu" title="Browse commands with the interactive menu" description="Find and run CLI commands from a filterable list and a form, instead of memorizing flags." />

  <Card href="/pear/how-to/manage-installed-applications" title="Manage installed apps" description="List installed Pear apps and reset their storage." />

  <Card href="/pear/how-to/troubleshooting" title="Troubleshoot common issues" description="Fixes for Pear CLI and deployment issues." />
</Cards>

## Module catalog [#module-catalog]

The full list of `pear-*` modules—application libraries, UI libraries, common libraries, developer libraries, integration libraries—lives at **[Reference → Modules](/pear/reference/modules/pear-modules)**. Building-block libraries ([Hypercore](/p2p/reference/building-blocks/hypercore), [Hyperbee](/p2p/reference/building-blocks/hyperbee), [Hyperdrive](/p2p/reference/building-blocks/hyperdrive), …), helpers ([Corestore](/p2p/reference/helpers/corestore), [Localdrive](/p2p/reference/helpers/localdrive), …), and CLI tools have full reference pages under **[P2P's Reference](/p2p/reference)**. The runtime underneath has its own reference—the [`bare-*` modules](/bare/reference/bare/modules), the [Bare runtime API](/bare/reference/bare/runtime), the [`bare` CLI](/bare/reference/bare/cli), and [Bare Kit](/bare/reference/bare/bare-kit) for native embedding.
