ryOS, made with Cursor
npx skills add https://github.com/ryokun6/ryos --skill ui-design-stylingInstale esta skill com a CLI e comece a usar o fluxo de trabalho SKILL.md em seu espaço de trabalho.
A modern web-based desktop environment inspired by classic macOS and Windows, built with React, TypeScript, and AI. Features multiple built-in applications, a familiar desktop interface, and a system-aware AI assistant. Works on all devices—desktop, tablet, and mobile.
Read ryOS Docs — Architecture, API reference, and developer guides
ryo <prompt>)├── api/ # API route handlers (Vercel-compatible serverless functions)
├── public/ # Static assets (icons, wallpapers, sounds, fonts)
├── scripts/ # Build + maintenance + standalone API runner
├── src/
│ ├── apps/ # Individual app modules
│ ├── components/ # Shared React components (ui, dialogs, layout)
│ ├── config/ # Configuration files
│ ├── contexts/ # React context providers
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Libraries and utilities
│ ├── stores/ # Zustand state management
│ ├── styles/ # CSS and styling
│ └── types/ # TypeScript definitions
bun run dev # Start full stack (API + Vite with proxy) — the default
bun run dev:vite # Start Vite dev server only (frontend-only, no API)
bun run dev:api # Start standalone Bun API server only (port 3000)
bun run dev:vercel # Optional: Vercel dev server (parity/debugging only)
bun run build # Build for production
bun run start # Start the self-host/Coolify production server
bun run lint # Run ESLint
bun run preview # Preview production build
bun run api:start # Run standalone API server in production mode
For local development, bun run dev starts both the standalone Bun API server and the Vite dev server with an /api proxy — no Vercel CLI required.
Use this when you only need the API server (e.g. for running tests):
# Terminal 1 - standalone API (loads .env/.env.local)
bun run dev:api
# Terminal 2 - frontend (optional, if you also need the UI)
bun run dev:vite
The standalone API listens on:
API_PORT (fallback: PORT, then 3000)API_HOST (fallback: 0.0.0.0)You can run API tests directly against it:
API_URL=http://localhost:3000 bun run test:new-api
ryOS now supports a single Bun production server for self-hosting and container platforms like Coolify. That server handles:
/api/*dist/bun install
bun run build
APP_PUBLIC_ORIGIN="https://your-domain.com" \
API_ALLOWED_ORIGINS="https://your-domain.com" \
bun run start
Use either:
# Standard Redis / Valkey / self-hosted Redis
REDIS_URL="redis://default:password@redis:6379/0"
or:
# Upstash REST (existing Vercel-style path)
REDIS_KV_REST_API_URL="https://..."
REDIS_KV_REST_API_TOKEN="..."
Use either:
# Existing Pusher path
REALTIME_PROVIDER="pusher"
PUSHER_APP_ID="..."
PUSHER_KEY="..."
PUSHER_SECRET="..."
PUSHER_CLUSTER="us3"
or:
# Local websocket path (best paired with REDIS_URL)
REALTIME_PROVIDER="local"
REALTIME_WS_PATH="/ws"
Detailed runbook: docs/1.3-self-hosting-vps.md
AGPL-3.0 — See LICENSE for details.
Contributions welcome! Please submit a Pull Request.