-# ProzillaOS
+## About
-
+This monorepo contains the source code of [os.prozilla.dev][website] as well as multiple packages. You can find the main package at [`prozilla-os`][prozilla-os].
-ProzillaOS is a web-based operating system inspired by Ubuntu Linux and Windows made with React by Prozilla.
+ProzillaOS is a web-based operating system inspired by Ubuntu Linux and Windows. It is made with React, Vite and TypeScript by [Prozilla][prozilla].
-**Live demo: [os.prozilla.dev](https://os.prozilla.dev/)**
+> [!WARNING]
+> This repository is currently being transformed into a monorepo. Some things may be temporarily missing/broken. If you have any questions in the meantime, feel free to [open an issue][issues].
-## Documentation
+## Packages
-See [docs](docs/README.md) for more info.
+- `prozilla-os` ([source][prozilla-os]) - Contains all other packages
+- `@prozilla-os/core` ([source][core]) - Core functionality, React components and hooks
+- `@prozilla-os/file-explorer` ([source][file-explorer]) - File explorer app
-### Quick Links
+## Links
-- [Features](docs/features/README.md)
-- [Configuration](docs/configuration/README.md)
-- [Design](docs/design/README.md)
-- [FAQ](docs/faq/README.md)
-- [Roadmap](docs/roadmap/README.md)
-- [Contributing](docs/contributing/README.md)
+- [Website/demo][website]
+- [GitHub][github]
+- [npm][npm]
+- [Ko-fi][ko-fi]
-## Design
+## Resources
-See [docs/design](docs/design/README.md) for more info.
+These resources can help you get started with ProzillaOS.
-ProzillaOS was designed in Figma by Prozilla. You can view the design file [here](https://www.figma.com/file/bEE5RyWgV0QILcXpZWEk2r/ProzillaOS?type=design&node-id=0%3A1&mode=design&t=7KR1tKCp9H5cK3hf-1).
+- [prozilla-os/ProzillaOS-boilerplate][boilerplate] - Boilerplate code for a React Vite app implementing ProzillaOS
-### Preview
+
+
+
+
+
-
-
-## Support ProzillaOS
-
-You can support this project by donating to **[ko-fi.com/prozilla](https://ko-fi.com/prozilla)**.
-
-## License
-
-This project is licensed under the MIT license, Copyright (c) 2023 Sieben De Beule. For more information see [LICENSE.md](LICENSE.md).
+[website]: https://os.prozilla.dev/
+[github]: https://github.com/prozilla-os/ProzillaOS
+[npm]: https://www.npmjs.com/package/prozilla-os
+[ko-fi]: https://ko-fi.com/prozilla
+[issues]: https://github.com/prozilla-os/ProzillaOS/issues
+[boilerplate]: https://github.com/prozilla-os/ProzillaOS-boilerplate
+[prozilla]: https://prozilla.dev/
+[prozilla-os]: ./packages/prozilla-os/
+[core]: ./packages/core/
+[file-explorer]: ./packages/apps/file-explorer/
\ No newline at end of file
diff --git a/docs/README.md b/docs/README.md
deleted file mode 100644
index 27eb753..0000000
--- a/docs/README.md
+++ /dev/null
@@ -1,97 +0,0 @@
-[← Back](../README.md)
-
-# Documentation
-
-## Pages
-
-- [Features](features/README.md)
-- [Configuration](configuration/README.md)
-- [Design](design/README.md)
-- [FAQ](faq/README.md)
-- [Roadmap](roadmap/README.md)
-- [Contributing](contributing/README.md)
-
-## Overview
-
-### Quickstart
-
-1. Clone this repository.
-2. Run `npm install` to install dependencies.
-3. Run `npm start` to start the web server and go to [localhost:3000](http://localhost:3000/).
-
-### How to run
-
-These are the scripts in logical order, that will be available when you have installed the dependencies. Note that certain scripts can be omitted by running another script. For more information about scripts #1, #2 and #3, check the [officiel Vite documentation](https://vitejs.dev/guide/cli.html).
-
-1. `npm run start`
-
- Start Vite dev server at [localhost:3000](http://localhost:3000/). Changes to module will dynamically be hot-reloaded, so normally there is no need for hard-refreshes. VSCode is configured to run this script whenever the project is opened.
-
-2. `npm run build`
-
- Compile project using TypeScript and bundle all files into the `dist` directory, or the directory specified in config file. This directory can be uploaded to a web server.
-
-3. `npm run serve`
-
- Start web server with preview of build at [localhost:8080](http://localhost:8080/). Can be useful for testing build before deploying.
-
-4. `npm run stage`
-
- Execute [stage.ts](../scripts/stage.ts), which stages the build and prepares it for deployment. Script will generate a sitemap, robots.txt and all other necessary files.
-
-5. `npm run deploy`
-
- Run scripts #2 and #4, then execute [deploy.ts](../scripts/deploy.ts), which uploads the staged build to GitHub Pages on branch called `gh-pages`. This should then trigger a GitHub Action that deploys the build to production.
-
-> [!IMPORTANT]
-> Make sure you update your [configuration](./configuration/README.md) before running the `stage` or `deploy` script, otherwise your deployment will probably fail or be partially broken.
-
-### Other scripts
-
-- `npm run fetch`
-
- Fetch the repository tree using GitHub's API and store it as a JSON file that will be used to populate the virtual drive. More information can be found on the [virtual drive](./features/virtual-drive/README.md) page.
-
-### Configuration
-
-See [docs/configuration](configuration/README.md) for more information.
-
-### Project structure
-
-- [src](../src) directory
-
- Contains all code for the application, including HTML, CSS and TypeScript files. This directory makes use of a feature-based folder structure. Utility files are often separated into their own subdirectory, called `_utils`, inside of their respective directory.
-
-- [public](../public) directory
-
- Contains all static files like images, webfonts and vector graphics. Also includes the [config](../public/config) and [documents](../public/documents) folders from where certain files are loaded into the [virtual drive](features/virtual-drive/README.md).
-
-- [docs](.) directory
-
- You are here. This directory contains all documentation for this project.
-
-- [dist](../dist) directory
-
- Contains the bundled build after the build process. This directory is not included in the GitHub repository.
-
-- External files
- - [Design file (Figma)](https://www.figma.com/file/bEE5RyWgV0QILcXpZWEk2r/ProzillaOS?type=design&node-id=0%3A1&mode=design&t=7KR1tKCp9H5cK3hf-1)
- - [Task board (Notion)](https://prozilla.notion.site/8325fabca1fb4f9885b6d6dfd5aa64c8?v=1a59f7ce50914f5ea711fe6460e52868&pvs=4)
-
-### Code style
-
-Type | Case | Example | Based on
---- | --- | --- | ---
-Folders | kebab-case | `virtual-drive` |
-`.ts` files | camelCase | `virtualRoot.ts` |
-`.tsx` files | PascalCase | `Desktop.tsx` | React component
-`.css` files & static assets | kebab-case | `global.css` |
-Local `.module.css` files | PascalCase | `Desktop.module.css` | React component
-Global `.module.css` files | kebab-case | `utils.module.css` |
-CSS class names | PascalCase | ```.WindowsView``` | React component
-Variables | camelCase | ```const fooBar = true;``` |
-Global constant variables | MACRO_CASE | ```export const NAME = "ProzillaOS";``` |
-Classes | PascalCase | ```class WindowsManager { }``` |
-React components | PascalCase | ```export function WindowsView({ }) { }``` |
-Functions | camelCase | ```function focusWindow() { }``` |
-Types | PascalCase | ```type FooBar = boolean;``` |
\ No newline at end of file
diff --git a/docs/configuration/README.md b/docs/configuration/README.md
deleted file mode 100644
index 6faeb36..0000000
--- a/docs/configuration/README.md
+++ /dev/null
@@ -1,50 +0,0 @@
-[← Back](../README.md)
-
-# Configuration
-
-ProzillaOS can be configured in numerous ways. The most important one being via the application itself, by going to the Settings app or directly changing the config files in the virtual `~/.config` folder.
-
-For developers, these are the methods of configuring ProzillaOS:
-
-- `src/config`
-
- This directory contains the main configurations for ProzillaOS.
-
-- `styles`
-
- Everything related to styles can be configured in this directory. The stylesheets inside `styles/global` contain CSS variables, font declarations, etc.
-
-- `public/config`
-
- This directory has XML files that serve as the default data for config files used by the app in the virtual drive. These can be edited by the user once they're loaded during initialisation.
-
-## Deployment
-
-- [deploy.config.ts](../../src/config/deploy.config.ts)
-
-Before starting the deployment process, you will need to make sure these parts of your configuration are set up correctly.
-
-### Domain
-
-Set the `DOMAIN` variable to the domain you wish to deploy the website to. You may also want to adjust the `BASE_URL` in case your domain does not have an SSL certificate. If you are using GitHub Pages, go to your Pages settings on GitHub and make sure the domain option there matches this variable.
-
-> [!WARNING]
-> This configuration is also required before starting the staging process.
-
-### Branch
-
-If you are deploying to GitHub Pages, go to your Pages settings on GitHub, navigate to "Build and deployment" and set the source to "Deploy from a branch". Then select the `gh-pages` branch and select the `/ (root)` folder.
-
-If you would like to use a different branch, also set the `REPO.branch` to that same branch.
-
-### Repository URL & commit message
-
-If you are deploying to GitHub Pages, set `REPO.owner` and `REPO.name` to your GitHub username and your repository's name respectively. You may also want to customize the `COMMIT_MESSAGE` variable, which will be used by the `deploy` script to commit the build to the `gh-pages` branch.
-
-## Branding
-
-- [branding.config.ts](../../src/config/branding.config.ts)
-
-### Name & tag line
-
-Set the `NAME` and `TAG_LINE` variables to the name and tag line or short description you wish to use for the website respectively.
\ No newline at end of file
diff --git a/docs/contributing/README.md b/docs/contributing/README.md
deleted file mode 100644
index 4926189..0000000
--- a/docs/contributing/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-[← Back](../README.md)
-
-# Contributing
-
-You can contribute by reporting bugs, suggesting new features, etc. by [creating a new issue](/../../issues) or by [donating](https://ko-fi.com/prozilla) to support my work.
-
diff --git a/docs/design/README.md b/docs/design/README.md
deleted file mode 100644
index 9827377..0000000
--- a/docs/design/README.md
+++ /dev/null
@@ -1,29 +0,0 @@
-[← Back](../README.md)
-
-# Design
-
-ProzillaOS is designed in Figma by Prozilla. You can view the design file [here](https://www.figma.com/file/bEE5RyWgV0QILcXpZWEk2r/ProzillaOS?type=design&node-id=0%3A1&mode=design&t=7KR1tKCp9H5cK3hf-1).
-
-### Preview
-
-
-
-## Font
-
-The font used by ProzillaOS is [Outfit](https://fonts.google.com/specimen/Outfit) from Google Fonts, designed by Smartsheet Inc, Rodrigo Fuenzalida.
-
-## UI Icons
-
-ProzillaOS uses original and modified [Font Awesome](https://fontawesome.com/) icons in its user interface.
-
-## App Icons
-
-The applications use icons that are either modified versions of FontAwesome icons or custom icons, designed by Prozilla.
-
-## Color Palette
-
-The color palette is hand-made by Prozilla and is part of the design file.
-
-## Wallpapers
-
-The wallpapers are generated by Prozilla using a Figma extension called [Mesh Gradient](https://www.figma.com/community/plugin/958202093377483021/mesh-gradient).
\ No newline at end of file
diff --git a/docs/faq/README.md b/docs/faq/README.md
deleted file mode 100644
index 7c4f2ea..0000000
--- a/docs/faq/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-[← Back](../README.md)
-
-# FAQ
-
-## Q: What's the purpose of ProzillaOS?
-
-A: Obviously ProzillaOS doesn't solve any issues or anything like that. It's just a fun project I started because I wanted to refine my web development and design skills, as well as my React.js proficiency. At the same time, I also wanted to create an interesting and innovative web application and share it with the community via open-source.
-
-## Q: What tools did you use to make ProzillaOS?
-
-A: I used Visual Studio Code for coding, Figma for designing, Notion for project management, GitHub for source control. I didn't use any libraries for the main parts of the OS. The libraries I used for specific purposes like certain applications or utilities, can be found in the `package.json` file. I got the icons from Font Awesome and the fonts from Google Fonts.
-
-## Q: Is ProzillaOS free?
-
-A: ProzillaOS is free and open-source. Check the [license](../../LICENSE.md) for more information about modifying and distributing ProzillaOS.
-
-## Q: Why can't I install a certain program on ProzillaOS?
-
-A: Because ProzillaOS is not a real operating system and does not use real applications. The available applications are custom React components, ProzillaOS can not interpret executable files or perform any task that it isn't programmed to do. However, there are plans for expanding ProzillaOS and enabling support for executable files and downloadable native extensions/applications.
-
-## Q: Will you merge my pull request?
-
-A: No, this is supposed to be a solo project. Despite the fact that I won't allow any contributions to this project, I encourage you to fork this project and create your own version. If you do so, don't hesitate to share it with me or with other people online!
diff --git a/docs/features/README.md b/docs/features/README.md
deleted file mode 100644
index 68995fe..0000000
--- a/docs/features/README.md
+++ /dev/null
@@ -1,70 +0,0 @@
-[← Back](../README.md)
-
-# Features
-
-Most code for features can be found in the [features](../../src/features) directory. This directory is a library that is mostly used by files in the [components](../../src/components) and [hooks](../../src/hooks) directory.
-
-> [!NOTE]
-> Mentions of directories inside this part of the documentation, are relative to the `src` folder.
-> ```
-> components -> src/components
-> hooks -> src/hooks
-> ```
-
-> [!TIP]
-> To see the status and to-do's of each feature, check the [task board](https://prozilla.notion.site/8325fabca1fb4f9885b6d6dfd5aa64c8?v=1a59f7ce50914f5ea711fe6460e52868&pvs=4) on Notion.
-
-## Pages
-
-- [Actions](actions/README.md)
-- [Apps](apps/README.md)
-- [Modals](modals/README.md)
-- [Settings](settings/README.md)
-- [Storage](storage/README.md)
-- [Taskbar](taskbar/README.md)
-- [Virtual Drive](virtual-drive//README.md)
-- [Windows](windows/README.md)
-- [Z-index](z-index/README.md)
-
-## Overview
-
-This is a simplified overview of ProzillaOS' features, check the pages inside this folder for more details about each individual feature.
-
-### System
-
-- Customizable **taskbar** with a home menu, search menu, pinned apps and utilities
-- Customizable **desktop** with icons, accompanied by custom wallpapers
-- **Virtual drive** that can handle files, folders, symbolic links, as well as read from external sources
- - Storage system that stores and loads the virtual drive from local storage
-
-### Applications
-
-- Resizable and draggable **windows**, with dynamic titles, for displaying and interacting with apps, which adapts to the user's screen resolution
-- Native and web-view **applications**
- - **File explorer** that interacts with virtual drive and allows user to browse the source code on the website itself
- - **Terminal** with custom linux-inspired commands
- - **Settings** application for customizing appearance, managing apps and managing virtual drive
- - **Text editor** app that can read and write files as well as render markdown files
- - Other applications like a calculator, minigames, image viewer, browser, etc.
-- **Standalone** system that allows each app to have its own dedicated page in an isolated view, which is also indexable by search engines
-- **URL params** that trigger an app to open with optional arguments
-
-### Interactions
-
-- **Modals** that can be used as context menus, header menus, file selectors, dialog boxes, etc.
-- Advanced **actions** system, for easily assembling different menus that can handle dropdowns, selections, toggles, shortcuts, etc.
-
-### Assets
-
-- Custom **wallpapers** made in Figma
-- Custom **icons** made in Figma inspired by Font Awesome
-
-### Codebase
-
-- Free, open-source and self-hostable
-- Uses **React**, **Vite** and **TypeScript**
-- Extensive **documentation**
-- **Configuration** files that allow you to configure almost everything inside the project
-- **Eslint** for linting
-- Custom **build and deployment tools** to automate tasks
-- Separation of concerns and feature-based folder structure
diff --git a/docs/features/actions/README.md b/docs/features/actions/README.md
deleted file mode 100644
index 93387d8..0000000
--- a/docs/features/actions/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-[← Back](../README.md)
-
-# Actions
-
-A React component used to group and display actions together. This is used in the context menu for example, where each option is a separate action. It can take in a certain style and be passed to a modal, it also supports shortcuts and icons.
-
-## Example
-
-```tsx
-
- {
- reloadViewport();
- }}
- />
- {
- closeViewport();
- }}
- />
-
-```
-
-## Action types
-
-Name | HTML equivalent
---- | --
-Click action | \
-Dropdown action | N/A
-Radio action | \
-Toggle action | \
-Divider | \
\ No newline at end of file
diff --git a/docs/features/apps/README.md b/docs/features/apps/README.md
deleted file mode 100644
index e47c2a7..0000000
--- a/docs/features/apps/README.md
+++ /dev/null
@@ -1,114 +0,0 @@
-[← Back](../README.md)
-
-# Apps
-
-> Related document: [Windows](../windows/README.md)
-
-Applications (often shortened to apps) are processes that open a window when ran. The window allows the user to view and interact with the app. Apps have a `name` and `id` property as well as a `windowContent` property that refers to the React component of the application interface.
-
-## Pages
-
-- [ Commands (terminal)](terminal/README.md)
-- [ Files (file-explorer)](file-explorer/README.md)
-- [ Photos (media-viewer)](media-viewer/README.md)
-- [ Notes (text-editor)](text-editor/README.md)
-- [ Settings (settings)](settings/README.md)
-
-## Name VS ID
-
-In the list above, you can see some app names, as well as the corresponding IDs, which are written between brackers and in kebab-case. App names are mainly used in user interfaces, may change at any point and can contain spaces. App IDs are mostly constrained within the development-side of ProzillaOS, generally will remain unchanged and can not contain spaces. See the table below for a list of use cases.
-
-| Location | Uses ID | Uses name |
-| --- | --- | --- |
-| File & folder names | :heavy_check_mark: | :x: |
-| React components | :heavy_check_mark: | :x: |
-| Standalone URL | :heavy_check_mark: | :x: |
-| URL params | :heavy_check_mark: | :x: |
-| Static assets | :heavy_check_mark: | :x: |
-| Window title | :x: | :heavy_check_mark: |
-| Apps list | :x: | :heavy_check_mark: |
-| Standalone title | :x: | :heavy_check_mark: |
-
-> [!CAUTION]
-> Changing the ID of an application that has already been deployed once may cause unexpected issues, like creating invalid links.
-
-## Common components
-
-### Header menu
-
-The header menu is a useful component that can be added to app windows for quick access to useful functions, like saving and opening files. The header menu can also be used to add shortcuts for functions.
-
-#### Example
-
-```tsx
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-## App templates
-
-### Webview
-
-The webview template can be used to turn a webpage into an application by simply setting a source property.
-
-#### Example
-
-```ts
-// features/apps/apps.ts
-
-import { WebView } from "../../components/apps/templates/WebView";
-
-export default class AppsManager {
- static APPLICATIONS = [
- // ...
- new App("Web App", "web-app", WebView, { source: "https://prozilla.dev/" }),
- ]
-
- // ...
-}
-```
-
-## App examples
-
-### Adding a new app
-
-```tsx
-// components/apps/example/Example.tsx
-
-export function Example() {
- return (
-
Application interface goes here.
- )
-}
-```
-
-```ts
-// features/apps/apps.ts
-
-import { Example } from "../../components/apps/example/Example";
-
-export default class AppsManager {
- static APPLICATIONS = [
- // ...
- new App("Example App", "example", Example),
- ]
-
- // ...
-}
-```
\ No newline at end of file
diff --git a/docs/features/apps/file-explorer/README.md b/docs/features/apps/file-explorer/README.md
deleted file mode 100644
index 31a5cb5..0000000
--- a/docs/features/apps/file-explorer/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-[← Back](../README.md)
-
-# File Explorer ("Files")
-
-A tool for exploring and managing files and folders with a user interface.
-
-## Screenshot
-
-
\ No newline at end of file
diff --git a/docs/features/apps/file-explorer/screenshot.png b/docs/features/apps/file-explorer/screenshot.png
deleted file mode 100644
index 0f51ac5..0000000
Binary files a/docs/features/apps/file-explorer/screenshot.png and /dev/null differ
diff --git a/docs/features/apps/media-viewer/README.md b/docs/features/apps/media-viewer/README.md
deleted file mode 100644
index e3faba6..0000000
--- a/docs/features/apps/media-viewer/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-[← Back](../README.md)
-
-# Media Viewer ("Photos")
-
-An app for viewing media like images and videos.
-
-## Screenshot
-
-
\ No newline at end of file
diff --git a/docs/features/apps/media-viewer/screenshot.png b/docs/features/apps/media-viewer/screenshot.png
deleted file mode 100644
index 1b91716..0000000
Binary files a/docs/features/apps/media-viewer/screenshot.png and /dev/null differ
diff --git a/docs/features/apps/settings/README.md b/docs/features/apps/settings/README.md
deleted file mode 100644
index 40b37e7..0000000
--- a/docs/features/apps/settings/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-[← Back](../README.md)
-
-# Settings
-
-Allows the user to change their settings and personalize their instance of ProzillaOS.
-
-## Screenshot
-
-
\ No newline at end of file
diff --git a/docs/features/apps/settings/screenshot.png b/docs/features/apps/settings/screenshot.png
deleted file mode 100644
index 49d3906..0000000
Binary files a/docs/features/apps/settings/screenshot.png and /dev/null differ
diff --git a/docs/features/apps/terminal/README.md b/docs/features/apps/terminal/README.md
deleted file mode 100644
index 3ef7be6..0000000
--- a/docs/features/apps/terminal/README.md
+++ /dev/null
@@ -1,39 +0,0 @@
-[← Back](../README.md)
-
-# Terminal ("Commands")
-
-A command line tool.
-
-## Screenshot
-
-
-
-## Commands
-
-See [features/apps/terminal/commands](../../../../src/features/apps/terminal/commands) for a list of commands. You can add files to this folder to add commands or edit existing files to modify commands.
-
-## Examples
-
-### Touch command
-
-```ts
-// features/apps/terminal/commands/touch.ts
-
-export const touch = new Command()
- .setRequireArgs(true)
- .setManual({
- purpose: "Change file timestamps",
- usage: "touch [options] files",
- description: "Update the access and modification times of each FILE to the current time.\n\n"
- + "A file argument that does not exist is created empty."
- })
- .setExecute(function(args, { currentDirectory }) {
- const { name, extension } = VirtualFile.convertId(args[0]);
-
- if (currentDirectory.findFile(name, extension))
- return { blank: true };
-
- currentDirectory.createFile(name, extension);
- return { blank: true };
- });
-```
\ No newline at end of file
diff --git a/docs/features/apps/terminal/screenshot.png b/docs/features/apps/terminal/screenshot.png
deleted file mode 100644
index d409d82..0000000
Binary files a/docs/features/apps/terminal/screenshot.png and /dev/null differ
diff --git a/docs/features/apps/text-editor/README.md b/docs/features/apps/text-editor/README.md
deleted file mode 100644
index 8daacaa..0000000
--- a/docs/features/apps/text-editor/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-[← Back](../README.md)
-
-# Text Editor ("Notes")
-
-An app for editing text documents.
-
-## Screenshot
-
-
\ No newline at end of file
diff --git a/docs/features/apps/text-editor/screenshot.png b/docs/features/apps/text-editor/screenshot.png
deleted file mode 100644
index 55b7058..0000000
Binary files a/docs/features/apps/text-editor/screenshot.png and /dev/null differ
diff --git a/docs/features/modals/README.md b/docs/features/modals/README.md
deleted file mode 100644
index 268f920..0000000
--- a/docs/features/modals/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-[← Back](../README.md)
-
-# Modals
-
-Modals are modular components that can be instantiated by other components. This feature is mainly used for context menus that are instantiated by windows.
-
-Modals prominently take a position and a callback function as input. When the modal is closed, the callback function is called with optional arguments that usually include whatever the user entered as input while the modal was active. E.g.: A confirmation dialog is usually instantiated at the center of the screen and returns "yes" or "no" to the callback function, depending on which button the user clicked.
-
-Even though modals are very similar to windows, they are also very different. You can look at modals as mini sub-windows that each have their own styling, as opposed to windows that all have a header with a title and some buttons.
\ No newline at end of file
diff --git a/docs/features/settings/README.md b/docs/features/settings/README.md
deleted file mode 100644
index eb8764e..0000000
--- a/docs/features/settings/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
-[← Back](../README.md)
-
-# Settings
-
-Each group of settings is controlled by a separate xml file. The virtual directory for these files is `~/.config`. The default values for these files can be viewed and edited inside the [public/config](../../../public/config/) directory.
-
-## Examples
-
-### Example of config file containing settings
-
-```xml
-
-
-
-
-
- /assets/wallpapers/vibrant-wallpaper-purple-yellow.png
-
-```
-
-### Example of component reading settings
-
-```tsx
-// components/desktop/Desktop.tsx
-
-export function Desktop() {
- const settingsManager = useSettingsManager();
- const [wallpaper, setWallpaper] = useState(null);
-
- useEffect(() => {
- (async () => {
- const settings = settingsManager.get(SettingsManager.VIRTUAL_PATHS.desktop);
- settings.get("wallpaper", setWallpaper);
- })();
- }, [settingsManager]);
-
- return ;
-}
-```
\ No newline at end of file
diff --git a/docs/features/storage/README.md b/docs/features/storage/README.md
deleted file mode 100644
index f68f587..0000000
--- a/docs/features/storage/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-[← Back](../README.md)
-
-# Storage
-
-> Related document: [Virtual Drive](../virtual-drive/README.md)
-
-ProzillaOS makes use of the local storage to store persistent data. The data is loaded by the virtual root during the initialization process. On the first run, the default data is loaded.
-
-The data is converted from class instances to a JSON object and then to a string by the virtual root before it is stored in the local storage. To load data from the local storage, an inverse process is used.
\ No newline at end of file
diff --git a/docs/features/taskbar/README.md b/docs/features/taskbar/README.md
deleted file mode 100644
index d9094d4..0000000
--- a/docs/features/taskbar/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-[← Back](../README.md)
-
-# Taskbar
-
-The taskbar serves as a hub for access to various other functionalites, mainly applications. It's very similar to Window's taskbar.
-
-The taskbar can be split up into 3 main segments:
-
-- Menus - This includes the home menu, where you can find quick access and a list of applications and the search menu, where you can search for applications by name.
-
-- App list - This is a list of pinned and active applications.
-
-- Indicators - This is a group of indicators that are used to display information, like battery power, network connection and volume.
\ No newline at end of file
diff --git a/docs/features/virtual-drive/README.md b/docs/features/virtual-drive/README.md
deleted file mode 100644
index 1bf8655..0000000
--- a/docs/features/virtual-drive/README.md
+++ /dev/null
@@ -1,44 +0,0 @@
-[← Back](../README.md)
-
-# Virtual Drive
-
-> Related document: [Storage](../storage/README.md)
-
-The virtual drive is a virtual file and directory system. The root directory is a virtual folder and the access point for all interactions with the virtual drive.
-
-## Examples
-
-### Component interacting with virtual drive
-
-```tsx
-// components/apps/example/Example.tsx
-
-export function Example() {
- const virtualRoot = useVirtualRoot();
- const [currentDirectory, setCurrentDirectory] = useState(virtualRoot.navigate("~"));
-
- currentDirectory.createFile("example", "txt", (file) => {
- file.setContent("Foo bar.");
- });
-}
-```
-
-## Virtual Root
-
-The virtual root is a virtual folder that contains all other folders and files. It serves as the root directory for the virtual drive and is used as an access point in applications.
-
-The default data for the virtual root is set in the `loadDefaultData()` function in the `VirtualRoot` class. It uses the contents of the GitHub repository to populate the root folder, allowing the user to browse the source code of ProzillaOS using its file explorer. To create or update the fetched repository tree data, so it can be used by ProzillaOS, run `npm run fetch`. This will fetch and cache the paths of every file and folder inside the repository. You should only run this command whenever a file/folder has been added/removed from the repo, because there is a [rate limit of 60 requests per hour](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api).
-
-For more information about how the virtual root is stored and loaded, check the [Storage](../storage/README.md) docs.
-
-## Virtual File
-
-Virtual files can have content or a source URL. Content is mainly used for text files, while the source property is mainly used for images.
-
-## Virtual Folder
-
-Virtual folders can contain files and sub-folders.
-
-## Virtual File & Folder link
-
-Virtual file links are files with no content or source URL, that simply point to another file on the virtual drive. Virtual folder links are folders with no sub-folders or files, that point to another folder. Virtual links can have some properties of their own, like a name or an icon URL.
\ No newline at end of file
diff --git a/docs/features/windows/README.md b/docs/features/windows/README.md
deleted file mode 100644
index 9db0e87..0000000
--- a/docs/features/windows/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-[← Back](../README.md)
-
-# Windows
-
-> Related document: [Apps](../apps/README.md)
-
-The windows components are used to view and interact with running applications. Each app opens a window when ran.
\ No newline at end of file
diff --git a/docs/features/z-index/README.md b/docs/features/z-index/README.md
deleted file mode 100644
index 7e697e9..0000000
--- a/docs/features/z-index/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-[← Back](../README.md)
-
-# Z-index
-
-A collection of helper classes to generate z-indexes that prevent overlapping and make sure everything is displayed in the correct order. One example use case is the windows that all need to be displayed in order and should always be displayed under the taskbar, this is made possible by these helper classes. It works by creating groups that can contain any amount of indexes, each group's offset is defined by the combined length of all preceding groups.
\ No newline at end of file
diff --git a/docs/roadmap/README.md b/docs/roadmap/README.md
deleted file mode 100644
index ba357b5..0000000
--- a/docs/roadmap/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-[← Back](../README.md)
-
-# Roadmap
-
-For more information about the future plans and development of ProzillaOS, check out the [task board](https://prozilla.notion.site/8325fabca1fb4f9885b6d6dfd5aa64c8?v=1a59f7ce50914f5ea711fe6460e52868&pvs=4) on Notion.
diff --git a/package.json b/package.json
index 77ab1bb..ade847c 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,6 @@
"url": "https://prozilla.dev/"
},
"homepage": "https://os.prozilla.dev/",
- "repository": "https://github.com/Prozilla/ProzillaOS",
"type": "module",
"scripts": {
"preinstall": "npx only-allow pnpm",
@@ -20,13 +19,17 @@
"fetch": "tsx scripts/fetchRepository",
"packages:test": "pnpm -r --parallel run test",
"packages:update": "npx changeset && pnpm changeset version",
- "packages:release": "pnpm changeset publish && pnpm publish packages/prozilla-os --registry=https://npm.pkg.github.com"
+ "packages:release": "pnpm changeset publish"
},
"workspaces": [
"packages/prozilla-os",
"packages/core",
"packages/apps/file-explorer"
],
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/Prozilla/ProzillaOS.git"
+ },
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.5.2",
"@fortawesome/free-solid-svg-icons": "^6.5.2",
diff --git a/packages/apps/file-explorer/CHANGELOG.md b/packages/apps/file-explorer/CHANGELOG.md
index 31aafaf..0363707 100644
--- a/packages/apps/file-explorer/CHANGELOG.md
+++ b/packages/apps/file-explorer/CHANGELOG.md
@@ -1,5 +1,29 @@
# @prozilla-os/file-explorer
+## 1.0.6
+
+### Patch Changes
+
+- Fixed README files syntax
+- Updated dependencies
+ - @prozilla-os/core@1.0.9
+
+## 1.0.5
+
+### Patch Changes
+
+- Wrote README files for each package
+- Updated dependencies
+ - @prozilla-os/core@1.0.8
+
+## 1.0.4
+
+### Patch Changes
+
+- Changed registry to https://registry.npmjs.org/
+- Updated dependencies
+ - @prozilla-os/core@1.0.7
+
## 1.0.3
### Patch Changes
diff --git a/packages/apps/file-explorer/README.md b/packages/apps/file-explorer/README.md
index bc62f91..aee0acb 100644
--- a/packages/apps/file-explorer/README.md
+++ b/packages/apps/file-explorer/README.md
@@ -1 +1,174 @@
-# @prozilla-os/file-explorer
\ No newline at end of file
+