Skip to content

App Directory

The App Directory showcases existing Calimero applications you can deploy, and explains how to publish your own app to the registry.


PageFocus
Registry OverviewBundle format, validation path, and install-time trust model
Registry API & CLIBackend endpoints, typed client usage, and local registry workflows
Organizations & OwnershipShared ownership, signer rotation, and team publishing practices

Browse and install apps from the Calimero App Registry:

👉 Calimero App Registry

To get started with an existing app:

  1. Find the app in the registry.
  2. Follow its README for build instructions.
  3. Install the .mpk bundle onto your node via Calimero Desktop or meroctl.

AppDescriptionRepo
BattleshipsTurn-based multiplayer with private boards and Merobox workflowsREADME
Mero ChatRich messaging UI with cross-device workflowsREADME
KV StoreMinimal read/write example — ideal first integrationREADME
Demo Blob AppFile-style payload handling with frontend wiringREADME

To publish your Calimero app to the registry you need two tools:

  • mero-sign — signs your bundle with Ed25519 (/app-directory/guide)
  • calimero-registry CLI — packages and pushes the signed bundle
Terminal window
# Signing tool
cargo install mero-sign
# Registry CLI
npm install -g calimero-registry
# or: pnpm add -g calimero-registry

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/ # optional

Step 3 — Generate a signing key (one-time)

Section titled “Step 3 — Generate a signing key (one-time)”
Terminal window
mero-sign generate-key --output my-key.json
echo "my-key.json" >> .gitignore

Keep my-key.json outside your project. Never commit it.

Terminal window
mero-sign sign dist/myapp-1.0.0/manifest.json --key my-key.json

Warning Sign before bundling. mero-sign operates on a standalone manifest.json, not on a packed archive.

Terminal window
calimero-registry bundle create \
--output myapp-1.0.0.mpk \
dist/myapp-1.0.0/app.wasm \
com.yourorg.myapp

This produces a .mpk file containing the signed manifest and WASM binary.

Terminal window
calimero-registry bundle push myapp-1.0.0.mpk \
--key my-key.json

The registry validates the Ed25519 signature and, if your email is verified against an org, associates the bundle with that org.


RequirementDetails
Valid Ed25519 signatureProduced by mero-sign. Any key is accepted; org membership is validated separately via email.
Manifest formatMust include name, version, description, repository, and a signature block.
WASM binaryMust be a valid Calimero WASM application targeting the calimero-sdk runtime.
Semantic versioningVersion strings must follow MAJOR.MINOR.PATCH.

For the full manifest schema and registry API see the App Registry README.


See the full mero-sign guide for key management, team workflows, and how the Ed25519 signing process works end-to-end.