Check out our Roadmap
- Fork the repository
- Create a branch for your change
- Make your changes following the guidelines below
- Create a pull request using the PR template
git clone <your-fork>
cd yukios/webos-desktop
pnpm install
pnpm run dev # start dev server- Run
pnpm build:devinwebos-desktop/- the build must pass - Run
pnpm test- all tests must pass
- No comments in CSS, JS, or HTML (JSDoc on complex functions only)
- Use
npm/pnpm format*before committing. - Use
src/framework.jsbarrel for app imports (BaseApp,os,StorageKeys,APP_MANIFESTS) - Use
os.*bridge API - Use
src/shared/domUtils.jsinstead ofdocument.querySelector*ordocument.getElementById - Use
os.dialog.*instead ofalert(),confirm(),prompt() - Use root CSS variables from
src/styles/style.css- never hardcode colors
See DEVELOPMENT.md for detailed instructions on creating new apps.
src/core/BaseApp.ts- base class for all apps (TS)src/appLauncher.ts- central app dispatch (TS)src/windowManager.ts- window lifecycle (TS)src/apps/- all applications (each extendsBaseApp, builds UI imperatively inopen())src/os/- OS bridge API (window,fs,notify,tray, etc.)src/shared/- shared utilities (domUtils,assetResolver,contextMenu)src/registry/AppManifest.js- app metadata and manifest
- Fill out the PR template completely
- Link any related issues
- Ensure all CI checks pass
- Request review from a maintainer
- Address review feedback
Open a Discussion or join the Discord.