Pear by Holepunch
Pear loads applications remotely from peers and lets anyone create and share applications with peers.
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
Install Pear
Get the pear CLI from install.pears.com:
curl https://install.pears.com/pear.sh | shirm https://install.pears.com/pear.ps1 | iexnpx peardocker run -it --rm tetherto/pearFollow the PATH instructions the installer prints, then run pear directly. Full details, upgrade instructions, and the npm-global alternative are on Install & upgrade. The tetherto/pear image runs Pear inside Ubuntu with pear and pear-install ready to go—a low-risk way to try out Pear apps without installing anything locally.
Boilerplates & key docs
Starter paths and the most relevant docs for building and shipping a Pear desktop app (macOS / Linux / Windows):
Getting started
Type-along chat, persistence, then ship and update.
hello-pear-electron template
Clone the boilerplate and learn your way around it, then add a feature end to end.
Pear desktop architecture
How Electron, Bare workers, storage, and OTA fit together.
Release pipeline
Stage → provision → multisig and release lines.
Using Bare on its own
Use Bare—the runtime under Pear—on its own as an embeddable, cross-platform JavaScript runtime, without the peer-to-peer platform.
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
Goal-oriented recipes, grouped by task. Releasing and distributing your app lives here too—shipping and updating is a how-to, spanning manual deployment, multisig, build & package, and CI; the why is in Release pipeline.
Connect to peers
Dial a peer by key with HyperDHT, join topics with Hyperswarm, and host multiple rooms in one app.
Store and replicate
Persist and replicate with Hypercore, manage many cores with Corestore, and share databases with Hyperbee.
Blind peering
Keep data available when peers go offline, and add blind peering to a chat app.
Manage identity
Create a portable identity with Keet identity keys and wire it into an app.
Stream and share media
Build a peer-to-peer filesystem with Hyperdrive; share files, back up photos, and stream stored or live video.
Run on mobile & native
Embed Bare in React Native, type a native RPC bridge, and bundle a Bare app.
Release & distribute your app
Stage, provision, and multisig releases; build desktop distributables; automate with CI; submit to app stores.
Manage installed apps
List installed Pear apps and reset their storage.
Troubleshoot common issues
Fixes for common Pear and Bare development issues.
Module catalog
The full list of pear-* and bare-* modules—application libraries, UI libraries, common libraries, developer libraries, integration libraries—lives at Reference → Modules and Reference → Bare modules. Building-block libraries (Hypercore, Hyperbee, Hyperdrive, …), helpers (Corestore, Localdrive, …), and CLI tools have full reference pages under Reference. The runtime underneath has its own reference—the Bare runtime API, the bare CLI, and Bare Kit for native embedding.