Skip to content

Latest commit

 

History

History
38 lines (29 loc) · 1.68 KB

CONTRIBUTING.md

File metadata and controls

38 lines (29 loc) · 1.68 KB

Contributing guide

Thank you for considering contributing to ProzillaOS! Most of the information you need, can be found on the official documentation site. If you have any questions, feel free to reach out on Discord.

Repository setup

See Self-hosting guide for more information.

Project structure

ProzillaOS is a monorepo with multiple packages. See packages/README.md for more information about how ProzillaOS is structured.

Tech stack

  • Vite - Building packages and websites
  • TypeScript - Type safety
  • React - UI
  • Eslint - Code linting
  • pnpm - Package management
  • VitePress - Documentation

Code style

Category Case Example Name should match
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;