manifest.json Guide
The manifest.json file contains essential metadata about your feature. This file is required for proper feature functionality.
Complete File Structure Example
{
"id": "[GENERATED GUID HERE]",
"authors": "LouisLeGris",
"version": "1.1.0",
"minimalApiVersion": "1.0.0",
"name": "Best Feature of the World",
"description": "",
"projectUrl": "",
"language": "Javascript",
"externalApplication": false,
"entryPointPath": "index.js",
"permissions": [
"WIFI_CONNECTIVITY_WITH_INTERNET_ACCESS"
],
"actions": [
{
"key": "8ad5c3e4-bdcb-4fe3-bf2e-5b6ab15f5bba",
"name": "Action Name",
"description": "Action description"
}
]
}
Field Reference Guide
Core Metadata Fields
| Field | Type | Required | Description |
|---|---|---|---|
| id | GUID | ✅ | Unique feature identifier |
| authors | String | ✅ | Comma-separated author list |
| version | String | ✅ | Semantic version (MAJOR.MINOR.PATCH) |
| minimalApiVersion | String | ✅ | Minimum required API version |
| name | String | ✅ | Display name of the feature |
| description | String | ❌ | Feature description (can be empty) |
| projectUrl | URL | ❌ | Project website (can be empty) |
id
Unique GUID identifier for your feature.
Use this tool to generate a valid GUID: 🔗 GUID Generator
minimalApiVersion
Minimum required Luniris OS API version for your feature to work.
The current API version for Luniris OS 1.4 is 1.0.0
Technical Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| language | String | ✅ | Development language/framework |
| externalApplication | Boolean | ✅ | Set to true for web applications |
| entryPointPath | String | ✅ | Path to main executable file |
Language Values
Accepted values for the language field:
csharp(.NET/C# projects)javascript(Node.js projects)native(Compiled binaries)
externalApplication
Determines whether your feature includes a web application that should be accessible from the Luniris OS interface.
false: Your feature is a standalone program without web interfacetrue: Your feature hosts a web application that will be:- Listed in the Luniris OS app interface
- Integrated with the main application workflow
If set to true, your feature must serve its web interface on the port specified by the system's PORT environment variable.
Permissions System
The sandbox is currently disabled in Luniris OS (will be enabled in future versions)
| Permission | Description |
|---|---|
| WIFI_CONNECTIVITY_WITH_INTERNET_ACCESS | Grants internet access |
| BT_CONNECTIVITY | Grants Bluetooth access |
| AUDIO_ACCESS | Grants audio device access |
| CAMERA_ACCESS | Grants camera access |
Example permissions array:
"permissions": [
"WIFI_CONNECTIVITY_WITH_INTERNET_ACCESS",
"BT_CONNECTIVITY"
]
Actions System
Actions enable inter-feature communication using GUID-based events.
Action Structure:
{
"key": "GENERATED_GUID_HERE",
"name": "Action Name",
"description": "Action purpose"
}
Example Use Case:
{
"key": "8ad5c3e4-bdcb-4fe3-bf2e-5b6ab15f5bba",
"name": "Enable USB Communication",
"description": "Allows USB communication between features"
}
Other features can trigger this action by sending the GUID through the API.