manifest.json Reference
The manifest.json is the application’s “passport” — ElyOS uses it to know how to load and display the application.
Full Example
Section titled “Full Example”{ "id": "my-app", "name": { "hu": "Saját Alkalmazás", "en": "My App" }, "description": { "hu": "Alkalmazás leírása magyarul", "en": "App description in English" }, "version": "1.0.0", "author": "Developer Name <email@example.com>", "entry": "dist/index.iife.js", "icon": "icon.svg", "iconStyle": "cover", "category": "utilities", "permissions": ["database", "notifications", "remote_functions"], "multiInstance": false, "defaultSize": { "width": 800, "height": 600 }, "minSize": { "width": 400, "height": 300 }, "maxSize": { "width": 1920, "height": 1080 }, "keywords": ["example", "demo"], "isPublic": true, "sortOrder": 100, "dependencies": { "svelte": "^5.0.0", "@lucide/svelte": "^0.561.0" }, "minWebOSVersion": "2.0.0", "locales": ["hu", "en"]}Required Fields
Section titled “Required Fields”Type: string
The unique identifier of the application. May only contain lowercase letters, numbers, and hyphens (kebab-case).
"id": "my-awesome-app"Valid format: ^[a-z][a-z0-9-]*, minimum 2, maximum 50 characters.
Type: { hu: string, en: string } or string
The display name of the application in the Start Menu and Application Manager.
"name": { "hu": "Saját Alkalmazás", "en": "My App" }description
Section titled “description”Type: { hu: string, en: string } or string
A short description, displayed in the Application Manager.
version
Section titled “version”Type: string — semantic version (MAJOR.MINOR.PATCH)
"version": "1.0.0"author
Section titled “author”Type: string — in Name <email> format
"author": "John Smith <john@example.com>"Type: string
The entry point of the build output. Do not change — always "dist/index.iife.js".
Type: string
The icon filename within the assets/ folder. SVG format is recommended.
"icon": "icon.svg"permissions
Section titled “permissions”Type: string[]
The list of permissions required by the application. Only include permissions that are actually needed.
"permissions": ["database", "remote_functions"]Available permissions: see Security and Permissions.
Optional Fields
Section titled “Optional Fields”iconStyle
Section titled “iconStyle”Type: "cover" | "contain" | "auto"
Default: "auto"
The display mode of the icon in the Start Menu and Taskbar.
category
Section titled “category”Type: string
Default: "utilities"
The application category for grouping in the Start Menu. E.g.: "utilities", "productivity", "communication".
multiInstance
Section titled “multiInstance”Type: boolean
Default: false
If true, the user can open the application in multiple windows simultaneously.
defaultSize
Section titled “defaultSize”Type: { width: number, height: number }
Default: { width: 800, height: 600 }
The default window size in pixels.
minSize / maxSize
Section titled “minSize / maxSize”Type: { width: number, height: number }
The minimum and maximum window size. If not specified, there is no limit.
keywords
Section titled “keywords”Type: string[]
Search keywords for the Application Manager.
isPublic
Section titled “isPublic”Type: boolean
Default: true
If false, the application does not appear in the Start Menu — it can only be opened programmatically.
sortOrder
Section titled “sortOrder”Type: number
Default: 100
The sort order in the Start Menu. Smaller number = appears earlier.
dependencies
Section titled “dependencies”Type: Record<string, string>
External dependencies used by the application. Only packages on the whitelist are permitted.
"dependencies": { "svelte": "^5.0.0", "@lucide/svelte": "^0.561.0"}minWebOSVersion
Section titled “minWebOSVersion”Type: string
The minimum required ElyOS version. If ElyOS is older, the application cannot be installed.
locales
Section titled “locales”Type: string[]
ISO codes of the languages supported by the application.
"locales": ["hu", "en"]Version Management
Section titled “Version Management”The version field follows semantic versioning:
| Change | Version bump |
|---|---|
| Bug fix | 1.0.0 → 1.0.1 |
| New feature (backwards compatible) | 1.0.1 → 1.1.0 |
| Breaking change | 1.1.0 → 2.0.0 |