Make an app

An Appverse app is an ordinary web app: HTML, CSS and JavaScript, zipped into one .applet file. There is no new language to learn. If it runs as a static site with no server, it can run here.

Downloads

Both are zipped in your browser from files this site already serves. Nothing is uploaded.

The tools need Node.js 20 or newer and have no install step: unzip, then node tools/applet.mjs new my-app.

With npm you can skip the download: npx appverse new my-app runs the same tool, and npm install -g appverse gives you a plain applet command. The package is appverse on npm.

1. Write it

Put an index.html in a folder, with any CSS, JS, images and fonts it needs. Everything must be in the folder: the sandbox blocks all network requests, so no CDN links, web fonts or API calls.

my-app/
  manifest.json
  index.html
  app.js
  style.css

2. Add a manifest

{ "applet": 1, "id": "com.example.notes", "title": "Notes", "author": "Me",
  "version": "1.0.0", "entry": "index.html", "width": 480, "height": 640,
  "permissions": ["storage"] }

3. Save data

Apps have no localStorage or cookies of their own (the sandbox has an opaque origin). With the storage permission, use the small bridge Appverse injects:

await appverse.storage.set("notes", JSON.stringify(notes));
const saved = await appverse.storage.get("notes");

4. Check and pack

Easiest: drop the folder on Pack an app. It writes the manifest for you, checks the app, lets you test it in the sandbox and downloads the .applet. Or from the command line:

applet new my-app              # start from the template
applet check my-app            # missing files, external URLs, own CSP, blocked APIs
applet pack my-app notes.applet
applet dev my-app              # open it in the sandbox, reload on save

The applet command comes in the tools download above (node tools/applet.mjs …): new starts an app from a template, and check, pack, dev, inspect and unpack work as shown. --strict makes warnings fail too.

What does not work