# Ember Ember is a desktop shell for small, installable applets. Each applet is a signed .ember-applet package that runs in its own webview with no access to Tauri, the host filesystem, or the network unless its manifest asks for it and you approve. Ember's documentation is served as Markdown. Every page below is the complete source of a rendered page; fetch these URLs directly. ## Ember - [Using Ember](https://ember.hcws.dev/docs/users.md): Open Library inside Ember to browse the Ember catalog. Choosing Install downloads a package to Ember-owned staging, compares it with the registry SHA-256 digest, and shows its requested capabilities. An applet is installed only after you approve that review. ## Build applets - [Build an Ember applet](https://ember.hcws.dev/docs/humans.md): An Ember applet is a small web app that runs inside Ember. You write HTML, CSS, and JavaScript, describe the app in applet.json, then sign and package it as a .ember-applet file. - [Build an Ember applet with an AI agent](https://ember.hcws.dev/docs/agents.md): Give the agent the repository's entire docs/applets folder. It is the authoritative applet contract and contains the manifest specification, v1 and v2 schemas, TypeScript types, a key generator, a package signer, and a WASI backend template. Read the public API reference first, then use the repository folder when packaging. ## Reference - [Ember applet API and manifest reference](https://ember.hcws.dev/docs/applets/APPLET_SPEC.md): This is the public reference for building an Ember applet. For packaging tools, JSON schemas, TypeScript declarations, and the WASI backend template, use the repository's docs/applets author kit. - [Ember extensions](https://ember.hcws.dev/docs/extensions/EXTENSION_SPEC.md): An Ember extension is a trusted native package installed into Ember. It is not sandboxed. An extension can run native code and access the user's computer and network. Ember shows this warning before installation. - [Registry API](https://ember.hcws.dev/docs/registry.md): The registry is the read side of Ember's distribution: a catalog of published applets and extensions, immutable package bytes, and the desktop client's update feed. Every response is public and unauthenticated. Writing to the registry is covered in publishing. - [Publishing to Ember Registry](https://ember.hcws.dev/docs/publishing.md): POST /v1/applets/:id/releases accepts the signed .ember-applet bytes. Authenticate with Authorization: Bearer and supply JSON release metadata in X-Ember-Release. ## Author kit - [TypeScript definitions](https://ember.hcws.dev/docs/applets/ember.d.ts) - [Manifest v1 schema](https://ember.hcws.dev/docs/applets/manifest-v1.schema.json) - [Manifest v2 schema](https://ember.hcws.dev/docs/applets/manifest-v2.schema.json) ## Notes - Applets are signed `.ember-applet` ZIP packages installed by the Ember desktop client. - `GET /v1/catalog` returns the public applet and extension catalog.