Skip to main content

Getting Started

Develop new features for Luniris OS easily thanks to its modular architecture.


How Features Work

Features are lightweight programs that communicate with the Luniris OS main application through a local gRPC API. This architecture enables features to control various system components, including:

  • Eye movement and positioning
  • Bluetooth LE communication
  • Settings storage
  • And much more

Technical Implementation

The gRPC communication uses a UNIX socket file located at: [temp_directory]/features.socket

Socket Path Examples by Language/Framework:

var socketPath = Path.Combine(Path.GetTempPath(), "features.socket");

Supported Development Options

Programming Languages and Frameworks

Thanks to gRPC's wide compatibility, you can develop features using:

  • .NET 8 (C#)
  • NodeJS (Javascript / Typescript)
  • Native binary (wide compatibility)
Important Note

Native binaries must be compiled for the ARM64 platform with static linking.


Feature Structure

Required Manifest Files

Each feature requires two JSON manifest files:

  1. manifest.json

  2. settings.manifest.json

Packaging

Package all feature files, including the manifest files, into a standard ZIP archive.


Building Your Feature

  1. Create a project directory containing:

    • Your source code files
    • The required manifest files
    • Any additional assets
  2. Package your feature into a ZIP file:

    • Your source code files
    • The required manifest files
  3. Install your feature by following the installation guide