Start from a template
Three official Pear boilerplates to start from—hello-pear-electron for desktop GUI apps, hello-pear-bare for standalone terminal binaries, and hello-pear-react-native for mobile apps—all with peer-to-peer over-the-air updates. Pick the one that matches what you're shipping.
The fastest way to a production-shaped app is to clone an official boilerplate and learn where each piece lives. All three embed a pear-runtime-family module for peer-to-peer over-the-air updates—pick the one that matches what you're shipping.
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.
hello-pear-electron (desktop)
An Electron GUI app: renderer ↔ main ↔ Bare worker behind a preload bridge. The shape Keet and PearPass ship.
hello-pear-bare (terminal)
A standalone Bare executable: CLIs, daemons, and tools with no GUI and no peer dependencies.
hello-pear-react-native (mobile)
An Expo/React Native app: a Bare worklet embedded via pear-mobile, with the same over-the-air updates. The mobile counterpart to hello-pear-electron.
Which one?
- Building a desktop GUI? Start from hello-pear-electron—it ships a renderer and the preload bridge that connects your UI to peer-to-peer logic in a Bare worker.
- Building a CLI, daemon, or other headless tool? Start from hello-pear-bare—it compiles to a single standalone binary per OS and architecture.
- Building a mobile app? Start from hello-pear-react-native—it embeds a Bare worklet in an Expo/React Native app via
pear-mobile.
All three share the same peer-to-peer core: the Bare runtime, a pear-runtime-family module for updates (pear-runtime on desktop, pear-mobile on mobile), and the Hyperswarm + Corestore stack. Your peer-to-peer logic is portable between them—only the shell (GUI, terminal, or mobile) changes. See Runtime and languages.
Once you've cloned a template and made it yours, ship it over the air. For desktop and terminal, Deploy your application is the step-by-step release flow, and Release pipeline explains the stage → provision → multisig model behind it. Mobile shares that stage/provision/multisig model but builds a different payload—see Pear Mobile OTA and the hello-pear-react-native README.
Where to go next
- Build a peer-to-peer chat—build the desktop app up from scratch instead of cloning.
- Pear desktop application architecture—the renderer/main/worker model behind the Electron template.
- Runtime and languages—where Bare and the runtimes fit across desktop, terminal, and mobile.