KilneOS

Packaging an app

A Kilne app is a built web app plus a small manifest. Here is how to turn yours into one.

1. Build a static bundle

Build your web app so you end up with a folder containing an index.html and the files it loads. Any web stack that produces a static bundle works. The first-party apps use React, Vite, TypeScript and Tailwind.

2. Add the manifest

Next to index.html, add a small manifest. It says:

  • the app's name and version,
  • a short description,
  • the capabilities it asks for, such as playing audio and video, or capturing from the camera and microphone.

Ask only for what you need. Users see the list before they install, and an install that asks for more than the Store showed is stopped.

3. Install it

kilne install ./my-app

Kilne shows what the app asks for, you confirm, and it is installed under ~/.kilne/apps/. It appears in the launcher.

4. Open it

kilne open my-app

Or use the launcher. Each app runs in its own window.

Share it as a file

A .kilneapp is your bundle as a zip. Anyone can install it with kilne install my-app.kilneapp.

Ship updates

Publish a new version and users run kilne upgrade. Each app keeps its previous version, so kilne rollback my-app brings it back.

Host your own catalog

kilne catalog keygen mycatalog
kilne catalog build --name mycatalog --key mycatalog.key --out ./catalog ./my-app
kilne catalog serve ./catalog

Then add it as a source: kilne sources add --development http://localhost:6678. See the command reference for every option.

A good example

Settings and the Store are web apps that run exactly the way yours will. They are the best reference for how an app can feel on Kilne.