Marketplace Apps collection
Canonical packages live in qefro-marketplace-apps.
Each app is YAML only. Qefro Runtime executes it. There is no SDK process
and no /qefro server in the package.
qefro-marketplace-apps/apps/<app-id>
→ qefro app validate / package / publish
→ Plugin Platform catalog
→ workspace install
→ Qefro Runtime (FlowRunner → RuntimeAdapter)
| App | Vertical | Execution |
|---|---|---|
shopify-runtime | Commerce | Generic HTTP → workspace Shopify connection |
restaurant-pro-runtime | Hospitality | entity.* managed storage |
real-estate-runtime | Real estate | entity.* managed storage |
http-catalog-runtime | HTTP fixture | Generic HTTP (proves the executor is not Shopify-specific) |
Copy a tree from the collection repo, change nouns and HTTP metadata, then validate. Do not add provider-specific Rust to Runtime.
HTTP identity, surfaces, email OTP, and ownership: HTTP tools. Architecture: Runtime vs SDK.
qefro-plugin-platform/docs/examples/ still vendors copies so platform
validator tests can compile packages in CI. Author and publish from
the collection repo.