Home > Engineering > Infrastructure > Pear
Pear
Pear is Holepunch’s installable P2P application runtime + dev + deployment platform. It boots on Bare from a minimal boot.bundle and pulls the rest of its code from a Hyperdrive; apps are distributed the same way, with atomic OTA updates (a new version is staged and the /current pointer is swapped). It builds on Bare + the P2P building blocks.
Mid-transition — the thing to know
Pear is moving from the original
pear runCLI model to an embeddablepear-runtimelibrary, and from v1 to v2. Because this is in flight, treat the live docs + migration guide as the current truth.
Per Holepunch’s Pear Evolution announcement, pear run is scheduled for removal around end of June 2026, with the pear-runtime library as the replacement. v2 also brings:
- HTML → JS entrypoints.
- The
Pearglobal decomposed into modules (UI →pear-electron+pear-bridge;pear-run,pear-message,pear-updates). Pear.config→Pear.app.- A compat mode (
Pear.constructor.COMPAT = true). - Migration via the
hello-pear-electronboilerplate plus a transitionalpear.pre.
No published v2 release date — v2 is upcoming; don’t quote a date.
The embeddable pear-runtime library
Lets a host app embed the P2P runtime as a library (run Bare workers, P2P OTA updates) instead of shelling out to the pear CLI. It is self-described MVP / experimental (npm 1.1.x), so pin a version and treat it as moving. Semver 1.x here does not mean stable.
How to embed it in a headless/terminal app and drive the release→update loop is an open question for us — a specific-purpose subpage will follow from POC work. → See pear-runtime for the API and current status.
CLI
The pear CLI today carries ~14 commands (init, run, stage, seed, release, touch, sidecar, versions, and more). See the CLI reference rather than a mirror here.
Sources
- Docs: docs.pears.com — CLI reference · migration guide
- Repo: github.com/holepunchto/pear
- Embeddable library: github.com/holepunchto/pear-runtime · npm
pear-runtime - Announcement: Pear Evolution