Introduction
The Aurora OS App Store provides a lightweight package management system for the browser runtime. Apps are self-contained JavaScript modules that run inside the OS desktop environment with full integration into the launcher, taskbar, and window manager.The package manager uses client-side localStorage for persistence, making it perfect for Progressive Web App (PWA) deployments without requiring a backend server.
Architecture
The package management system consists of three main components:Store Catalog
In-memory app registry (STORE_CATALOG) containing app metadata and executable code.
Runtime App Registry
TheAPPS array contains all launchable applications. Installed store apps are automatically merged into this registry on boot.
Runtime Synchronization
Persistence Layer
All package state is persisted to browser localStorage:JSON array of installed app IDs. Survives page reload and browser restart.
CLI Interface
Manage packages directly from the terminal using thestore command:
Command Reference
List all available apps with installation status indicator ([✓] installed, [ ] not installed)
Search apps by name or description. Returns filtered list with install status.
Install an app by ID. Adds to
installedApps, updates localStorage, merges into APPS array, and shows notification.Uninstall an app. Removes from
installedApps, updates localStorage, removes from APPS, and closes any open windows.Launch an installed app. Fails if app is not installed.
GUI Interface
The App Store window provides a visual interface for package management:Features
Discover Tab
Browse all available apps with featured banner highlighting top apps. Supports filtering by category and search.
Installed Tab
View and manage installed apps. Shows install count in tab badge.
Search
Real-time filtering by app name or description across all apps.
App Cards
Rich app cards with icon, name, category, size, rating, description, and Install/Open/Remove buttons.
App Store Window
Opening the Store
Installation Flow
When a user installs an app:Trigger Installation
User clicks “Install” button in App Store UI or runs
store install <id> in terminal.Installation Implementation
Uninstallation Flow
When a user removes an app:Uninstallation Implementation
Available Apps
The Aurora OS browser runtime includes these built-in apps:| App | Category | Size | Rating | Description |
|---|---|---|---|---|
| World Clock | Utilities | 2 KB | 4.5★ | Multi-timezone analog clocks |
| Weather | Utilities | 3 KB | 4.2★ | Weather display with forecast |
| Sticky Notes | Productivity | 2 KB | 4.7★ | Color-coded notes saved to localStorage |
| Tasks | Productivity | 2 KB | 4.6★ | Task manager with checkboxes |
| Aurora Paint | Creative | 4 KB | 4.3★ | Canvas drawing tool with brush controls |
| Aurora Radio | Entertainment | 3 KB | 4.0★ | Ambient sound generator with FFT visualizer |
| Snake | Games | 3 KB | 4.8★ | Classic snake game with speed levels |
| Pomodoro Timer | Productivity | 2 KB | 4.4★ | Focus timer with work/break intervals |
| Image Viewer | Utilities | 2 KB | 4.2★ | View images with zoom and slideshow |
Categories
Apps are organized into five categories:System tools (clocks, weather, image viewer)
Work tools (notes, tasks, timers)
Drawing and design tools
Media and ambient sounds
Lightweight browser games
Security
All apps run in the same browser sandbox as the OS runtime with the following constraints:
- Apps run in browser JavaScript sandbox
- No filesystem access beyond the virtual FS
- No network access beyond the virtual network layer
- Apps cannot modify other apps’ localStorage keys by convention
- All code is client-side with no server execution
Future: Remote Repository
For native Aurora OS, the package repository server (/userland/pkg-server/) will serve signed packages over HTTPS with TUF-compliant metadata. The browser runtime catalog can be extended to fetch from a remote JSON manifest.
Next Steps
Package Spec
Learn about the app manifest format and package structure
Repository Spec
Understand the catalog structure and repository model