A modern, web-based desktop operating system interface built with React, Tailwind CSS, and Radix UI.
- Project Integrity: Built-in identity validation ("Safe Mode" degradation on tampering) and hidden attribution ("Insurance Policy").
- Desktop Environment: Windows 11-inspired grid layout, multi-select drag-and-drop, and fluid window management with snap-like behavior.
- Window Management: Minimize, maximize, close, and focus management with preserved state and independent navigation.
- Virtual Filesystem: Complete in-memory Linux-style filesystem (
/bin,/etc,/home, etc.) with permissions (Owner/Group/Others, Sticky Bit) and persistent storage. - User Management: Multi-user support with bidirectional
/etc/passwdsyncing and dedicated Settings panel. - App Ecosystem:
- Finder: Full-featured file manager with breadcrumbs navigation, drag-and-drop file moving, and list/grid views.
- Terminal: Zsh-like experience with autocomplete, command history, pipe support, stealth commands, and ability to launch GUI apps (
Finder /home). - Settings: System control panel for Appearance (Accent Colors, Themes), Performance (Motion/Shadows), and Data Management (Soft/Hard Reset).
- Browser: Functional web browser simulation with bookmarks, history, and tab management.
- Media: Interactive Music, Messages, and Photos apps demonstrating UI patterns.
- Security & Performance:
- Content Security Policy: Strict CSP preventing XSS and
evalexecution in production. - Debounced Persistence: Efficiently saves state to localStorage without UI freezing.
- Native Integration: Electron support with native window frame options and shell integration.
- Content Security Policy: Strict CSP preventing XSS and
- Customization:
- Theming: "2025" Color Palette with dynamic Neutral, Shades, and Contrast modes.
- Accessibility: Reduce Motion and Disable Shadows options for lower-end devices.
- Framework: React 19 (Vite 7)
- Styling: Tailwind CSS
- UI Primitives: Radix UI
- Icons: Lucide React
- Animation: Motion (Framer Motion)
- Testing: Vitest
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Build for production:
npm run build
This project uses Vitest for unit & integration testing.
npm test- Project Integrity System:
- Identity Validation: Implemented strict runtime checks that verify the project's identity (
package.json) against hardcoded cryptographic constants. - Safe Mode: Modifying the project's core identity (name, author, license) triggers a degraded "Safe Mode" (Read-Only Filesystem, disabled
sudo). - Developer Override: Added a hidden
dev-unlockmechanism (Stealth Mode) allowing developers to bypass integrity checks with a secure token. - Insurance Policy: Added a hidden "Credits & License" drawer (triggered by 6 rapid clicks on the Apple logo) that displays the immutable project origin.
- Visual Feedback: Login screen and Credits drawer now dynamically display a "Secure System" (Green) or "System Compromised" (Red) status.
- Identity Validation: Implemented strict runtime checks that verify the project's identity (
- Licensing & Metadata:
- AGPL-3.0: Officially transitioned the project license to AGPL-3.0 to ensure open-source integrity.
- Metadata Enrichment: Populated
package.jsonwith comprehensive metadata (contributors, keywords, engine requirements) aligned with the GitHub repository.
- User Experience:
- Seamless Session Switching: "Switch User" now suspends the session (preserving open windows/apps) instead of logging out, allowing users to resume exactly where they left off.
- Visual Indicators: Added "active" (Amber pulsing dot) and "resume" (Blue text) badges on the Login Screen to clearly indicate running or saved sessions.
- Explicit Controls: Added a dedicated "Log Out" button on the password entry screen for forcefully clearing a suspended session.
- Menu Bar: Added "Switch User" to the Apple menu and modernized the "Log Out" action.
- Tooltips: Added high-performance tooltips to Menu Bar items (e.g., "About This Computer") with corrected z-indexing and positioning.
- Codebase Refactoring:
- Window Management Hook: Extracted complex window logic (open, close, minimize, persistence) from
App.tsxinto a reusablesrc/hooks/useWindowManager.ts, reducing main component size by ~20%. - Session Architecture: Centralized all session storage logic in
src/utils/memory.ts, eliminating redundant keys and scatteredlocalStoragecalls across the app.
- Window Management Hook: Extracted complex window logic (open, close, minimize, persistence) from
- Bug Fixes:
- Switch Flow: Fixed a regression where switching users would incorrectly return to the desktop due to a missing state clearing call.
- Tooltip Rendering: Fixed tooltips appearing behind the menu bar or off-screen.
- Migration System:
- Smart Merge Algorithm: Implemented a non-destructive migration strategy for version updates.
- Persistence: New features are added to users' filesystems while strictly preserving existing modifications, preventing "hard resets" and respecting user customization.
- Terminal & Security:
- Session Isolation:
sudoandsucommands now spawn isolated sessions within the terminal tab, changing the effective user only for that specific shell context without affecting the global desktop session. - Dynamic UI: Terminal prompt and input colors now dynamically reflect the active user (Red for root, System Accent for User, Purple for others).
- History Persistence: Command history is now consistently saved per-session and accurately preserved even after
clear, behaving like ZSH. - Isolation Logic: File operations (touch, rm, etc.) strictly respect the effective terminal user's permissions, allowing true multi-user simulation (e.g., standard users cannot delete root-owned files in
/var).
- Session Isolation:
- Licensed as: AGPL-3.0e
- AI Disclosure: This project, "Aurora OS," is human-written, with AI tools assisting in documentation, GitHub integrations, bug testing, and roadmap tracking.
Soon