Build for PurposeOS
An app is a folder with a manifest, optional services that expose actions, an optional window, and the phrases that start it. Pack it into one file and install it.
Pick your path
Quickstart
A working app with a Go service, a web window and a voice phrase. About ten minutes. The manifest and service are tested.
Manifest
Every field in app.json, the rules, and the exact errors the installer gives.
Services
The built-in daemons you can call, with action inputs and results.
Reference apps
Journal and Scratchpad, taken apart: layout, data model, actions.
SDKs
JavaScript, Rust and Go, and what each one is today.
Agents
AGENTS.md and SKILL.md for your coding agent, and a draft format for agents your app ships.
The shape of an app
.papp (a gzip tar)
app.json the manifest
MANIFEST.sha256 "<sha256> <relpath>" for every other file
bin/ ui/ assets/ LICENSE purpose-pkg
purpose-pkg pack DIR -o FILE.papp [--arch aarch64|x86_64|any]
purpose-pkg install FILE.papp
purpose-pkg list | verify ID | uninstall ID [--purge-data] - Install is per user and needs no root. Services start with the session. The executor finds new ones by rescanning, so nothing restarts.
- An upgrade keeps the app's
data/folder. - Your service is called through the executor, so it is retried, logged and permission-checked like every built-in service.
Source
A public repository link will appear here. The pages in these docs are written from the current source.