Command Line Interface (CLI)
Pear CLI: init, run, release, and day-to-day development commands.
The Command Line Interface is the primary interface for Pear Development.
pear stage <link> [dir]
Synchronize local changes to pear hypercores.
To generate a link, see pear touch.
Pear links hold a key, this is the basis for application discovery.
Outputs diff information and project link.
Each time new changes are staged, the length will increase. This change can be replicated to any peer who know the link and is connected. If they run pear info <link>, they will see the length update even if the application is not being seeded. Connections can potentially linger after seeding an application but will eventually close.
--dry-run|-d Execute a stage without writing
--ignore <paths> Comma-separated path ignore list
--purge Remove ignored files if present in previous stage
--compact|-c Tree-shaking minimal stage via static-analysis
--only <paths> Filter by paths. Comma-separated
--truncate <n> Advanced. Truncate to version length n
--no-ask Suppress permission prompt
--no-pre Skip pre scripts
--pre-io Show stdout & stderr of pre scripts
--pre-q Suppress piped output of pre scripts
--json Newline delimited JSON output
--help|-h Show helppear provision <source-link> <target-link> <production-link>[dir]
Pre-production block sync
Synchronize blocks to a pre-production target link
The target can then be multi-signed against a production link
Use pear touch to generate target link
Arguments:
<source-link> Versioned source link
<target-link> Target link to sync to
<production-link> Versioned link to sync against
Flags:
--dry-run|-d Execute provision without writing
--json Newline delimited JSON output
--help|-h Show helppear seed <link> [dir]
Seed project or reseed key.
Specify link to seed a project or a remote link to reseed.
Seeding will sparsely replicate the application. This means the entire history of the link is available, but most likely only the most recent version will be replicated.
--verbose|-v Additional output
--name <name> Advanced. Override app name
--no-ask Suppress permission prompt
--json Newline delimited JSON output
--help|-h Show helppear release <link> [dir]
Set production release version.
Set the release pointer against a version (default latest).
Use this to indicate production release points. Once a link has been released (setting a pointer for a given version) running the application (via pear run <link>) will load the application at the released version even if more changes were staged.
--checkout=n|current Set a custom release length (version)
--json Newline delimited JSON output
--help|-h Show helppear changelog [link]
View project changelog
Supply a link to view application changelog
Shows Pear changelog by default
--max|-m <n=10> Maximum entries to show
--of <semver=^*> SemVer filter - default: latest major
--full Show entire changelog
--no-ask Suppress permission prompt
--json Newline delimited JSON output
--help|-h Show helppear info [link]
Read project information.
Supply a link to view application information.
Supply no argument to view platform information.
--metadata View metadata only
--manifest View app manifest only
--key View key only
--no-ask Suppress permission prompt
--json Newline delimited JSON output
--help|-h Show helppear dump [flags] <link> <dir>
Synchronize files from link to dir.
To dump to stdout use
-in place of<dir>
<link> can contain a path portion to dump a subset of the files for the Pear application. For example, to dump only the CHANGELOG.md from Keet into a dump-dir directory run:
pear dump pear://keet/CHANGELOG.md dump-dir/ --dry-run|-d Execute a dump without writing
--checkout <n> Dump from specified checkout, n is version length
--only <paths> Filter by paths. Implies --no-prune. Comma-seperated
--force|-f Force overwrite existing files
--list List paths at link. Sets <dir> to -
--no-ask Suppress permission prompt
--no-prune Prevent removal of existing paths
--json Newline delimited JSON output
--help|-h Show helppear touch [flags]
Creates a Pear link. Pear links hold a key, this is the basis for application discovery.
--json Newline delimited JSON output
--help|-h Show helppear sidecar
The Pear Sidecar is a local-running HTTP and IPC server which provides access to corestores.
This command instructs any existing sidecar process to shutdown and then becomes the sidecar.
--mem memory mode: RAM corestore
--key <key> Advanced. Switch release lines
--log-level <level> Level to log at. 0,1,2,3 (OFF,ERR,INF,TRC)
--log-labels <list> Labels to log (internal, always logged)
--log-fields <list> Show/hide: date,time,h:level,h:label,h:delta
--log-stacks Add a stack trace to each log message
--help|-h Show helppear versions
Output version information.
--modules|-m Include module versions
--json Single JSON object
--help|-h Show helppear presets [flags] [command]
Default flags per command & link
Pin flags to a given pear command per app link
--json Newline delimited JSON output
--help|-h Show helppear shift [flags] <source> <destination>
DEPRECATED
Move user application storage between applications.
<source> and <destination> are links.
--force Overwrite existing application storage if present
--json Newline delimited JSON output
--help|-h Show helppear drop [flags] [command]
DEPRECATED: pear run is deprecated and pear drop app is related.
Advanced. Permanent data deletion
WARNING: Confirmation will be requested as the storage will be deleted permanently and cannot be recovered. Use with caution.
| Commands | Description |
|---|---|
| app | Reset an application to initial state |
--json Newline delimited JSON output
--help|-h Show helppear gc [flags] [command]
Perform garbage collection and remove unused resources.
| Commands | Description |
|---|---|
| releases | Clear inactive releases |
| sidecars | Clear running sidecars |
| assets | Clear synced assets |
| cores | corestore cores |
--json Newline delimited JSON output
--help|-h Show helppear data [flags] [command]
DEPRECATED: pear run is deprecated and pear data apps is related.
View database contents.
The database contains metadata stored on this device used by the Pear runtime.
| Commands | Description |
|---|---|
| apps | DEPRECATED Installed apps |
| dht | DHT known-nodes cache |
| gc | Garbage collection records |
| manifest | Database internal versioning |
| assets | On-disk assets for app |
| currents | Current working versions |
--secrets Show sensitive information, i.e. encryption-keys
--json Newline delimited JSON output
--help|-h Show helppear init [flags] <link|name> [dir]
Create initial project files.
Links: pear://electron/template, pear://your.key.here/your/path/here
Names: default, ui, node-compat
Default Project directory path is
.
Template can also be initialized from a pear:// link, the template should contain a _template.json file. This file defines the prompts which are converted to locals that are injected into the template.
--yes|-y Autoselect all defaults
--force|-f Force overwrite existing files
--no-ask Suppress permissions dialogs
--help|-h Show helppear run [flags] <link|dir> [...app-args]
DEPRECATED - use pear-runtime
Run an application from a link or dir.
| link | pear://<key> | pear://<alias> |
| dir | file://<absolute-path> | <absolute-path> | <relative-path> |
--dev|-d Enable --devtools & --updates-diff
--devtools Open devtools with application [Desktop]
--updates-diff Enable diff computation for Pear.updates
--no-updates Disable updates firing via Pear.updates
--link=url Simulate deep-link click open
--store|-s=path Set the Application Storage path
--tmp-store|-t Automatic new tmp folder as store path
--links <kvs> Override configured links with comma-separated key-values
--chrome-webrtc-internals Enable chrome://webrtc-internals
--unsafe-clear-app-storage Clear app storage
--appling=path Set application shell path
--checkout=n Run a checkout, n is version length
--checkout=release Run checkout from marked released length
--checkout=staged Run checkout from latest version length
--detached Wakeup existing app or run detached
--no-ask Suppress permissions dialogs
--help|-h Show helpExamples
pear run pear://u6c6it1hhb5serppr3tghdm96j1gprtesygejzhmhnk5xsse8kmypear run -s /tmp/app-storage path/to/an-app-folder some --app argspear run -t file://path/to/an-app-folder --some app --argspear run pear://keet