App Directory
The App Directory showcases existing Calimero applications you can deploy, and explains how to publish your own app to the registry.
In this section
Section titled “In this section”| Page | Focus |
|---|---|
| Registry Overview | Bundle format, validation path, and install-time trust model |
| Registry API & CLI | Backend endpoints, typed client usage, and local registry workflows |
| Organizations & Ownership | Shared ownership, signer rotation, and team publishing practices |
Browse the Registry
Section titled “Browse the Registry”Browse and install apps from the Calimero App Registry:
To get started with an existing app:
- Find the app in the registry.
- Follow its README for build instructions.
- Install the
.mpkbundle onto your node via Calimero Desktop ormeroctl.
Featured Apps
Section titled “Featured Apps”| App | Description | Repo |
|---|---|---|
| Battleships | Turn-based multiplayer with private boards and Merobox workflows | README |
| Mero Chat | Rich messaging UI with cross-device workflows | README |
| KV Store | Minimal read/write example — ideal first integration | README |
| Demo Blob App | File-style payload handling with frontend wiring | README |
Publishing an App
Section titled “Publishing an App”To publish your Calimero app to the registry you need two tools:
mero-sign— signs your bundle with Ed25519 (/app-directory/guide)calimero-registryCLI — packages and pushes the signed bundle
Step 1 — Install the tools
Section titled “Step 1 — Install the tools”# Signing toolcargo install mero-sign
# Registry CLInpm install -g calimero-registry# or: pnpm add -g calimero-registryStep 2 — Build your app
Section titled “Step 2 — Build your app”Build your Rust application to WASM and prepare your frontend bundle. Your output directory should contain:
dist/myapp-1.0.0/├── app.wasm├── manifest.json└── frontend/ # optionalStep 3 — Generate a signing key (one-time)
Section titled “Step 3 — Generate a signing key (one-time)”mero-sign generate-key --output my-key.jsonecho "my-key.json" >> .gitignoreKeep my-key.json outside your project. Never commit it.
Step 4 — Sign the manifest
Section titled “Step 4 — Sign the manifest”mero-sign sign dist/myapp-1.0.0/manifest.json --key my-key.jsonWarning Sign before bundling. mero-sign operates on a standalone
manifest.json, not on a packed archive.
Step 5 — Create the bundle
Section titled “Step 5 — Create the bundle”calimero-registry bundle create \ --output myapp-1.0.0.mpk \ dist/myapp-1.0.0/app.wasm \ com.yourorg.myappThis produces a .mpk file containing the signed manifest and WASM binary.
Step 6 — Publish
Section titled “Step 6 — Publish”calimero-registry bundle push myapp-1.0.0.mpk \ --key my-key.jsonThe registry validates the Ed25519 signature and, if your email is verified against an org, associates the bundle with that org.
Publishing Requirements
Section titled “Publishing Requirements”| Requirement | Details |
|---|---|
| Valid Ed25519 signature | Produced by mero-sign. Any key is accepted; org membership is validated separately via email. |
| Manifest format | Must include name, version, description, repository, and a signature block. |
| WASM binary | Must be a valid Calimero WASM application targeting the calimero-sdk runtime. |
| Semantic versioning | Version strings must follow MAJOR.MINOR.PATCH. |
For the full manifest schema and registry API see the App Registry README.
Signing tool reference
Section titled “Signing tool reference”See the full mero-sign guide for key management, team workflows, and how the Ed25519 signing process works end-to-end.