Skip to content

Commit 11d7efa

Browse files
authored
Enhance README formatting and add glossary sections
Updated README to improve formatting and add new sections.
1 parent 45acdb5 commit 11d7efa

1 file changed

Lines changed: 185 additions & 43 deletions

File tree

README.md

Lines changed: 185 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@
3535
- [🛠️ Developer Guide](#️-developer-guide)
3636
- [🚀 Roadmap & Future](#-roadmap--future)
3737
- [❓ Troubleshooting](#-troubleshooting)
38+
- [📚 System Glossary](#-system-glossary)
39+
- [🛰️ Kernel Event Reference](#️-kernel-event-reference)
40+
- [🎨 Design System Tokens](#-design-system-tokens)
3841

3942
---
4043

@@ -124,44 +127,44 @@ NovOS supports infinite virtual desktops. Move windows between workspaces to org
124127
The NovOS Terminal (`novash`) supports over 50 built-in commands. Below are the most common:
125128

126129
### File Management
127-
- \`ls [path]\` - List directory contents.
128-
- \`cd [path]\` - Change directory.
129-
- \`cat [file]\` - View file contents.
130-
- \`mkdir [name]\` - Create a new directory.
131-
- \`touch [name]\` - Create an empty file.
132-
- \`rm [-r] [path]\` - Remove file or directory.
133-
- \`cp [src] [dest]\` - Copy files.
134-
- \`mv [src] [dest]\` - Move or rename files.
130+
- `ls [path]` - List directory contents.
131+
- `cd [path]` - Change directory.
132+
- `cat [file]` - View file contents.
133+
- `mkdir [name]` - Create a new directory.
134+
- `touch [name]` - Create an empty file.
135+
- `rm [-r] [path]` - Remove file or directory.
136+
- `cp [src] [dest]` - Copy files.
137+
- `mv [src] [dest]` - Move or rename files.
135138

136139
### System Control
137-
- \`ps\` - List all active processes.
138-
- \`kill [pid]\` - Terminate a process.
139-
- \`uptime\` - View system up-time.
140-
- \`whoami\` - Display current user identity.
141-
- \`clear\` - Clear terminal screen.
142-
- \`help\` - Show all available commands.
140+
- `ps` - List all active processes.
141+
- `kill [pid]` - Terminate a process.
142+
- `uptime` - View system up-time.
143+
- `whoami` - Display current user identity.
144+
- `clear` - Clear terminal screen.
145+
- `help` - Show all available commands.
143146

144147
### Advanced AI
145-
- \`nova ask "[question]"\` - Query the Nova AI.
146-
- \`nova status\` - Check AI engine connectivity.
148+
- `nova ask "[question]"` - Query the Nova AI.
149+
- `nova status` - Check AI engine connectivity.
147150

148151
---
149152

150153
## 🔐 Security & Identity
151154

152155
NovOS is built with a multi-user mindset.
153-
- **Root vs User**: Only users in the \`root\` group can modify system files in \`/etc\` or bundles in \`/usr/apps\`.
154-
- **Identity Persistence**: User data is isolated. When you log in as \`Operator\`, your desktop and files are distinct from the \`Guest\` account.
156+
- **Root vs User**: Only users in the `root` group can modify system files in `/etc` or bundles in `/usr/apps`.
157+
- **Identity Persistence**: User data is isolated. When you log in as `Operator`, your desktop and files are distinct from the `Guest` account.
155158
- **Admin Credentials**:
156-
- **User**: \`Operator\`
157-
- **Pass**: \`admin\`
159+
- **User**: `Operator`
160+
- **Pass**: `admin`
158161

159162
---
160163

161164
## 🛠️ Developer Guide
162165

163166
### Project Structure
164-
\`\`\`text
167+
```text
165168
/src
166169
/components
167170
/apps # Individual application components
@@ -170,27 +173,27 @@ NovOS is built with a multi-user mindset.
170173
/kernel # The Engine (FS, AppLoader, Kernel.js)
171174
/store # Global State (Zustand)
172175
/styles # Global CSS and Design Tokens
173-
\`\`\`
176+
```
174177

175178
### Adding a New App
176-
1. Create your component in \`src/components/apps/\`.
177-
2. Register the app in \`src/appRegistry.js\`:
178-
\`\`\`javascript
179+
1. Create your component in `src/components/apps/`.
180+
2. Register the app in `src/appRegistry.js`:
181+
```javascript
179182
myApp: {
180183
title: 'My App',
181184
icon: 'rocket',
182185
category: 'Utilities',
183186
w: 600, h: 400
184187
}
185-
\`\`\`
186-
3. Add a launcher to the desktop or dock in \`osStore.js\`.
188+
```
189+
3. Add a launcher to the desktop or dock in `osStore.js`.
187190

188191
### Using the Kernel API
189-
You can access the kernel globally for debugging via \`window.kernel\`:
190-
\`\`\`javascript
192+
You can access the kernel globally for debugging via `window.kernel`:
193+
```javascript
191194
// Example: Writing a file from the JS console
192195
await window.kernel.fs.writeFile('/home/user/test.txt', 'Hello World');
193-
\`\`\`
196+
```
194197

195198
---
196199

@@ -214,22 +217,147 @@ await window.kernel.fs.writeFile('/home/user/test.txt', 'Hello World');
214217

215218
### VFS is corrupted or slow?
216219
Run the following command in the terminal to perform a system reset:
217-
\`rm -rf /\` followed by a page refresh. This will re-populate the default filesystem.
220+
`rm -rf /` followed by a page refresh. This will re-populate the default filesystem.
218221

219222
### App won't open?
220-
Ensure you have administrative privileges. Some system apps require a "Security Bundle" to be verified. Check the console for \`[AppLoader] Security Violation\` messages.
223+
Ensure you have administrative privileges. Some system apps require a "Security Bundle" to be verified. Check the console for `[AppLoader] Security Violation` messages.
221224

222225
### Performance issues?
223226
NovOS is visually intensive. Disable "Window Animations" in **Settings > Personalization** to improve performance on older machines.
224227

225228
---
226229

230+
### 📚 System Glossary
231+
232+
| Term | Definition |
233+
| :--- | :--- |
234+
| **Aether Design** | The proprietary design language used in NovOS, focusing on layered glassmorphism. |
235+
| **Bootloader** | The sequence in `Kernel.js` that coordinates the mounting of VFS and initialization of apps. |
236+
| **Bundle** | A cryptographic security token stored in `/usr/apps` required to launch system applications. |
237+
| **Context** | The user identity (uid/gid) passed to FS operations to verify permissions. |
238+
| **Event Bus** | The internal communication channel used for system-wide notifications and inter-app messages. |
239+
| **PID** | Process Identifier — a unique integer assigned to every active window or background service. |
240+
| **VFS** | Virtual File System — the IndexedDB-backed abstraction layer that mimics a real disk. |
241+
| **Workspace** | A virtual desktop container that holds a specific set of windows. |
242+
243+
---
244+
245+
### 🛰️ Kernel Event Reference
246+
247+
The NovOS Kernel emits various events that can be captured by apps or the OS itself.
248+
249+
| Event Name | Description | Data Payload |
250+
| :--- | :--- | :--- |
251+
| `kernel:booting` | Emitted when the boot sequence starts. | None |
252+
| `kernel:ready` | Emitted when all systems (FS, Apps, Net) are online. | `{ bootTime: number }` |
253+
| `fs:ready` | Emitted when the IndexedDB connection is established. | None |
254+
| `os:error` | Emitted when a critical system error occurs. | `{ title: string, message: string }` |
255+
| `window:focus` | Emitted when a user focuses a specific window. | `{ id: string, app: string }` |
256+
| `battery:change` | Emitted when the device battery level updates. | `{ level: number, charging: boolean }` |
257+
| `network:change` | Emitted when the system goes online/offline. | `{ online: boolean }` |
258+
259+
---
260+
261+
### 🎨 Design System: The Aether Tokens
262+
263+
For developers looking to style custom apps, use the following CSS variables defined in `:root`:
264+
265+
#### Surface Tokens
266+
- `--bg-primary`: The main background color (usually deep black).
267+
- `--glass-material`: The translucent background for windows.
268+
- `--glass-stroke`: The 1px border used to define glass edges.
269+
- `--glass-shadow`: The multi-layered drop shadow for depth.
270+
271+
#### Typography Tokens
272+
- `--font-main`: Inter Variable.
273+
- `--font-mono`: JetBrains Mono (simulated).
274+
- `--text-heading`: Bold, high-luminance white.
275+
- `--text-body`: Medium-luminance gray for content.
276+
277+
#### Interaction Tokens
278+
- `--accent-cyan`: `#00d4ff` (The default primary).
279+
- `--accent-purple`: `#bd00ff` (Secondary accent).
280+
- `--hover-glow`: Radial gradient used for hover effects.
281+
- `--active-scale`: 0.98 for tap feedback.
282+
283+
---
284+
285+
### 📋 Full Application Registry (Extended)
286+
287+
NovOS includes a vast array of specialized tools:
288+
289+
#### System Applications
290+
- **App Store**: Download and update system bundles.
291+
- **Task Manager**: High-level process oversight.
292+
- **System Monitor**: Real-time hardware telemetry.
293+
- **User Manager**: Advanced account and group administration.
294+
- **Theme Manager**: Real-time CSS injection for customization.
295+
- **Security Center**: Firewall and audit log viewer.
296+
- **Update Manager**: System-wide OTA update simulation.
297+
298+
#### Productivity & Office
299+
- **Calendar**: Integrated with system time and notification center.
300+
- **Notes**: Persistent markdown-based scratching pad.
301+
- **Reminders**: Time-based task tracking.
302+
- **Contacts**: VFS-backed address book.
303+
- **Email**: A lightweight IMAP-simulated client.
304+
305+
#### Creative Suite
306+
- **Music**: Supports .mp3 and .wav via virtual mount points.
307+
- **Video**: Full-screen cinematic playback engine.
308+
- **Gallery**: Image organization with metadata tagging.
309+
- **Recorder**: Capture audio directly into the VFS.
310+
- **Camera**: Hardware-integrated capture tool.
311+
312+
#### Utility Tools
313+
- **Calculator**: Scientific and base conversion modes.
314+
- **Clock**: World clock, Timer, and Stopwatch.
315+
- **Compressor**: Zip/Unzip simulation for .tar and .zip files.
316+
- **Download Manager**: Track virtual downloads from the web.
317+
- **Clipboard**: View system-wide clipboard history.
318+
319+
---
320+
321+
### 📑 Contribution Guidelines
322+
323+
We welcome contributions to the NovOS ecosystem! To get started:
324+
1. **Fork the Repo**: Create your own branch for features.
325+
2. **Coding Standards**: Follow the "Aether" design guidelines for all UI.
326+
3. **Kernel Integrity**: Do not modify `Kernel.js` without a verified PR.
327+
4. **Testing**: Ensure your app works across all 4 workspaces and responds to `Esc` for closing.
328+
329+
---
330+
331+
### 🕰️ System Changelog
332+
333+
#### v1.2.0 (Latest)
334+
- **Security Update**: Implemented cryptographic bundle verification for all apps.
335+
- **Performance**: Optimized VFS transaction batching by 40%.
336+
- **UX**: Added "Mission Control" window overview mode.
337+
- **AI**: Nova now supports multi-file context analysis.
338+
339+
#### v1.1.0
340+
- **Feature**: Added Virtual File System (VFS) with IndexedDB persistence.
341+
- **UI**: Introduced dynamic glassmorphism and theme engine.
342+
- **App**: Released "Code Editor" with syntax highlighting.
343+
344+
#### v1.0.0
345+
- **Initial Release**: Core kernel and basic window manager.
346+
347+
---
348+
349+
### 📜 License & Credits
350+
351+
NovOS is licensed under the **MIT License**.
352+
- **Icons**: [Fluent Emoji](https://github.com/microsoft/fluentui-emoji) by Microsoft.
353+
- **Typography**: [Inter](https://rsms.me/inter/) by Rasmus Andersson.
354+
- **Engine**: [React](https://reactjs.org/) + [Vite](https://vitejs.dev/).
355+
356+
---
357+
227358
<div align="center">
228-
<img src="https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Sparkles/3D/sparkles_3d.png" width="64" />
229-
<p><b>Designed with passion by tcode-motion</b></p>
230-
<p><i>The boundary between the web and reality is fading. Welcome to NovOS.</i></p>
231-
232-
[Website](https://tcode-motion.com)[Twitter](https://twitter.com/tcode_motion)[Discord](https://discord.gg/novos)
359+
<p><i>The future of computing is not on your disk, but in your mind.</i></p>
360+
<p>© 2024 tcode-motion. All rights reserved.</p>
233361
</div>
234362

235363
<!--
@@ -360,11 +488,11 @@ Expand your NovOS experience:
360488
### Advanced Terminal Scripting
361489
NovOS supports a subset of bash scripting. You can create .sh files and run them.
362490
Example script `backup.sh`:
363-
\`\`\`bash
491+
```bash
364492
echo "Starting backup..."
365493
cp -r ~/Documents ~/Documents_Backup
366494
echo "Backup complete at $(date)"
367-
\`\`\`
495+
```
368496
369497
### VFS Persistence Layer
370498
The system uses a custom abstraction over IndexedDB to provide POSIX-like performance.
@@ -374,10 +502,24 @@ The system uses a custom abstraction over IndexedDB to provide POSIX-like perfor
374502
375503
### Design Tokens
376504
Our CSS design system is built on tokens:
377-
- \`--glass-bg-primary\`: The base for all windows.
378-
- \`--glass-bg-secondary\`: Used for sidebar and headers.
379-
- \`--accent-glow\`: The primary branding glow.
380-
- \`--text-primary\`: Optimized for high-legibility on dark backgrounds.
505+
- `--glass-bg-primary`: The base for all windows.
506+
- `--glass-bg-secondary`: Used for sidebar and headers.
507+
- `--accent-glow`: The primary branding glow.
508+
- `--text-primary`: Optimized for high-legibility on dark backgrounds.
509+
510+
### Frequently Asked Questions (FAQ)
511+
512+
**Q: Can I run this offline?**
513+
A: Yes! Once the initial assets are loaded, the kernel and VFS run entirely in your browser's persistent storage.
514+
515+
**Q: How do I backup my files?**
516+
A: Use the `Export` feature in the File Manager or the `tar` command in the terminal to package your home directory.
517+
518+
**Q: Is there a dark mode?**
519+
A: Dark mode is the default, but you can customize the luminosity in the Theme Manager.
520+
521+
**Q: Can I install my own React components?**
522+
A: Currently, apps must be registered in the system registry. Extension support is planned for v3.0.
381523
382524
---
383525
-->

0 commit comments

Comments
 (0)