Appearance
README Format — OS
Every OS plugin must include a README-EN.md file (and optionally README-AR.md for Arabic). This file provides the metadata the platform uses to display plugin info in the OS app store and plugin manager.
File Names
| File | Language |
|---|---|
README-EN.md | English (required) |
README-AR.md | Arabic (optional) |
Frontmatter Reference
yaml
---
image: images,logo.jpg
name: My Plugin
description: A short one-paragraph description shown in search results and store listings.
type: 0
store:
- _uniqueStoreId
bloger:
- _uniqueBlogerId
versions:
- version: 1.0.0
number: 0
items:
- 'Initial release'
faq: []
features: []
slides:
- images,screen1.jpg
- images,screen2.jpg
cost:
year: 10
month: 1
own: 50
---Field Reference
| Field | Type | Description |
|---|---|---|
image | string | Logo image path — use comma instead of / (e.g. images,logo.jpg) |
name | string | Plugin display name |
description | string | Short description shown in store listings and search |
type | number | Plugin category type (0 = general) |
store | string[] | Store IDs where this plugin is listed |
bloger | string[] | Author/blogger IDs associated with this plugin |
versions | array | Version history (see below) |
faq | array | FAQ entries (leave as [] if none) |
features | array | Feature entries (leave as [] if none) |
slides | string[] | Screenshot paths for store slideshow — same comma format as image |
cost.year | number | Annual subscription price |
cost.month | number | Monthly subscription price |
cost.own | number | One-time ownership price |
versions Structure
yaml
versions:
- version: 1.0.0 # semver string
number: 0 # matches versionNumber in setting.json
items:
- 'Initial release'
- version: 1.1.0
number: 1
items:
- 'Bug fixes'Image Path Format
Image paths use a comma separator instead of a slash:
yaml
# Correct
image: images,logo.jpg
slides:
- images,screenshot1.jpg
# Wrong
image: images/logo.jpgBody Content
After the frontmatter, write a full description in Markdown. This appears on the plugin's detail page in the marketplace.
Include:
- What the plugin does
- Key features (bullet list)
- Any requirements or permissions (e.g., file system access)
- Screenshots or usage notes (optional)
Full Example
markdown
---
image: images,logo.jpg
name: Music Player
description: A full-featured local music player for Motanamy OS. Browse local audio files, manage playlists, and enjoy your music without leaving the desktop environment.
type: 0
store:
- _uniqueStoreId
bloger:
- _authorId
versions:
- version: 1.0.0
number: 0
items:
- 'Initial release'
faq: []
features: []
slides:
- images,screen1.jpg
- images,screen2.jpg
cost:
year: 10
month: 1
own: 50
---
# Music Player
A standalone music player that runs as its own window in Motanamy OS. Browse your local music library, manage playlists, and enjoy your music without leaving the OS environment.
## Features
- Browse and play local audio files (MP3, WAV, FLAC, M4A)
- Create and manage playlists
- Persist your library using local database
- Native file picker to add tracks from your system
- Clean, minimal interface with dark mode support
## Requirements
- Motanamy OS 1.0.0 or later
- File system access (granted automatically by the OS)setting.json Reference
The setting.json file is the plugin's identity file. For OS plugins, it uses an "icon" field (not "main") and sets "type": "OS":
json
{
"id": "com.example.music",
"name": "Music Player",
"version": "1.0.0",
"type": "OS",
"icon": "images/logo.jpg"
}| Field | Description |
|---|---|
id | Unique reverse-domain plugin identifier |
name | Display name |
version | Semantic version string |
type | Must be "OS" for OS plugins |
icon | Path to plugin icon image (forward-slash format here) |
OS vs SA/EA
- OS
setting.jsonuses"icon", not"main" - EA/SA
setting.jsonmay include a"main"field for the backend entry point
Related Pages
- Development Guide — Full OS plugin walkthrough
- script.js API —
setFrame,setToolbar,addPage,addLanguage - Vue UI Guide — OS layout and navigation patterns