Skip to content

Repository files navigation

  πŸ’« ONYX β€” DevOS 
  Engineering Workstation for GitHub

[ Engineering Workstation ] Retro look. Modern power. Zero noise.

BOOT
   ↓
CONNECT
   ↓
WORK

The engineering workstation for GitHub.


01 Β· Overview

ONYX is not just another GitHub dashboard. ONYX is an operating system built for engineering teams β€” complete with a boot screen, desktop, window manager, terminal, and modular applications that all run in real time through GitHub webhooks.

ONYX Preview

alt text


02 Β· Philosophy

Zero AI. Zero heavy compute. Just facts from your git data.

No AI API key to buy, no subscription to an LLM. Every insight (Bus Factor, Review Health, Commit Decay, and more) is computed statistically from your own git data β€” not "analyzed" by a language model. Clone it, run it, free forever.


03 Β· Features

Module Description
DESKTOP Not a page β€” a window. Open multiple applications at once, drag, resize, snap into layout
LIVE SYNC Every piece of data stays connected in real time via GitHub webhooks + WebSocket, no manual refresh
INSIGHTS Bus Factor, Review Health, Commit Decay, Issue Graveyard, Reviewer Gap, Weekend Heatmap
COMMAND PALETTE Ctrl+K for power users β€” open apps, jump to a PR, copy a link, export, all without touching the mouse
THEME ENGINE Multiple visual themes: CRT (retro), Modern, Pixel, Dark
AUTH Native GitHub OAuth β€” log in and authorize repositories directly, no separate account
IDENTITY Auto-generated avatar identity per user, with cooldown-based regeneration
SOUND Full UI sound system β€” boot, clicks, drag/drop, window events, notifications
TERMINAL In-desktop terminal with command parser, autocomplete, and history
WHITEBOARD Infinite canvas with layers, snapping, guides, and shape templates
WORKFLOW Node-based flow builder with simulation/debugger support
COMMUNITY / GROUPS Social layer β€” discussions, leaderboards, showcases, public/private groups

04 Β· Preview

Full Feature Preview

alt text

Desktop β€” Connected Repository View

alt text


05 Β· Architecture

flowchart LR
    subgraph Client["apps/web"]
        L[Landing] --> A[Auth / OAuth]
        A --> B[Boot Sequence]
        B --> D[Desktop]
        D --> WM[Window Manager]
        D --> TB[Taskbar]
        D --> CP[Command Palette]
        WM --> APP[Applications]
    end

    subgraph Server["apps/server"]
        AUTH[auth/] --> DB[(PostgreSQL)]
        WH[webhook/] --> DB
        WH --> WS[websocket/]
        SC[scoring/] --> DB
        RT[routes/] --> SVC[services/]
        SVC --> DB
    end

    GH[GitHub API / Webhook] --> WH
    WS -.live updates.-> WM
    APP --> RT
Loading

Product flow: landing β†’ auth β†’ boot β†’ desktop β†’ window-manager β†’ taskbar β†’ applications

Every GitHub event (push, PR, review, issue, check run) arrives through webhook/, has its signature verified, gets persisted to db/, has its score recalculated in scoring/, and is broadcast in real time to every client currently viewing that repository through websocket/ β€” no polling, no manual refresh.


06 Β· Tech Stack

Layer Technology
Frontend Vite Β· React Β· TypeScript
Backend Express Β· TypeScript
Database PostgreSQL Β· Drizzle ORM
Realtime Socket.IO
Auth GitHub OAuth 2.0 Β· JWT (access + refresh) Β· CSRF double-submit cookie
Deployment Vercel (web) Β· Railway (server + db)
Project Structure
server/src/
β”œβ”€β”€ auth/            # GitHub OAuth, JWT, session, CSRF, permission/role
β”œβ”€β”€ db/              # Drizzle schema, migrations, queries, seed
β”œβ”€β”€ routes/          # REST endpoints per domain (dashboard, repository, PRs, reviews, etc.)
β”œβ”€β”€ scoring/         # Statistical engine: busFactor, reviewHealth, commitDecay, etc.
β”œβ”€β”€ services/        # GitHub API client, cache, analytics, storage, logger
β”œβ”€β”€ webhook/         # Verify signature β†’ parse β†’ dispatch β†’ onPush/onPullRequest/etc.
β”œβ”€β”€ websocket/       # Socket.IO server: rooms, broadcast, heartbeat, notifications
└── index.ts         # Entrypoint: auto-migrate β†’ listen

web/src/
β”œβ”€β”€ App.tsx / main.tsx / router.tsx / index.css
β”œβ”€β”€ applications/     # Every desktop app, each self-contained (API, store, hooks, styles, window)
β”‚   β”œβ”€β”€ Activity/         # Live feed, timeline, filters
β”‚   β”œβ”€β”€ Community/        # Discussions, leaderboard, showcase, trending
β”‚   β”œβ”€β”€ Dashboard/        # Overview, quick launch, insight feed, connect-repo modal
β”‚   β”œβ”€β”€ GitGraph/         # Branch/commit topology visualizer
β”‚   β”œβ”€β”€ Groups/           # Public/private groups, chat, files, announcements
β”‚   β”œβ”€β”€ Heatmap/          # Commit / review / weekend heatmaps
β”‚   β”œβ”€β”€ Insights/         # Bus Factor, Commit Decay, Review Health, Reviewer Gap
β”‚   β”œβ”€β”€ Issues/           # Open/closed issues, labels, milestones, assignees
β”‚   β”œβ”€β”€ Profile/
β”‚   β”œβ”€β”€ PullRequests/     # Open/draft/merged/closed PRs, risk analysis, timeline
β”‚   β”œβ”€β”€ Reports/          # Weekly/monthly/quarterly, CSV & PDF export
β”‚   β”œβ”€β”€ Repository/       # Branches, commits, contributors, releases, tags
β”‚   β”œβ”€β”€ Reviews/          # Review queue, reviewer load, timeline
β”‚   β”œβ”€β”€ Settings/         # Appearance, keyboard, sound, workspace, integrations
β”‚   β”œβ”€β”€ Team/             # Bus factor, contribution, leaderboard, reviewer load
β”‚   β”œβ”€β”€ Terminal/         # Command console with parser & history
β”‚   β”œβ”€β”€ Whiteboard/       # Infinite canvas: layers, guides, snapping, templates
β”‚   └── Workflow/         # Node-based flow builder + simulation/debugger
β”œβ”€β”€ assets/           # Icons, mascot art, boot imagery
β”œβ”€β”€ audio/            # SoundManager + per-event sound modules
β”œβ”€β”€ auth/             # OAuth callback, repository authorization, auth guard
β”œβ”€β”€ boot/             # Boot sequence, shutdown/restart screens
β”œβ”€β”€ command-palette/  # Ctrl+K palette, command list & search
β”œβ”€β”€ cursor/           # Custom cursor themes & effects
β”œβ”€β”€ desktop/          # Desktop context menu
β”œβ”€β”€ icons/            # App icon set
β”œβ”€β”€ identity/         # Auto-generated user identity/avatar system
β”œβ”€β”€ landing/          # Public marketing page before login
β”œβ”€β”€ mascot/           # Animated mascot states (idle, happy, error, etc.)
β”œβ”€β”€ notifications/    # Toasts, alerts, live PR/issue/review notifications
β”œβ”€β”€ pages/            # Route-level pages (desktop, features, 404)
β”œβ”€β”€ shared/           # API client, components, hooks, types, utils shared across apps
β”œβ”€β”€ taskbar/          # Clock, tray, quick launch, system status, start menu
β”œβ”€β”€ terminal/          # Lower-level terminal engine (parser, registry, history)
β”œβ”€β”€ theme/            # Design tokens + themes (CRT / Modern / Pixel / Dark)
β”œβ”€β”€ websocket/        # Socket client, provider, event subscription hook
β”œβ”€β”€ window-manager/   # Window frame, drag/resize/snap, focus, z-index, shortcuts
└── workspace-setup/  # Create workspace & repository setup flow

Structure above reflects the current state of apps/web. Some applications are scaffolded end-to-end (components, store, hooks, API layer) but not yet fully wired to live backend data β€” see Roadmap below.


07 Β· Getting Started

Prerequisites

Clone & install

git clone https://github.com/GSF-001/ONYX-DevOS.git
cd ONYX-DevOS
npm install

Environment variables

cp apps/server/.env.example apps/server/.env
Variable Description
DATABASE_URL PostgreSQL connection string
GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRET From the OAuth App you created
GITHUB_CALLBACK_URL http://localhost:4000/auth/github/callback for local dev
JWT_ACCESS_SECRET / JWT_REFRESH_SECRET Any long random string
APP_URL Frontend URL, http://localhost:5173 for local dev

Database schema is created/synced automatically on server start β€” no manual migration command needed.

Run

npm run dev
Service URL
Web http://localhost:5173
API http://localhost:4000

08 Β· Roadmap

Status Milestone
DONE Auth β€” GitHub OAuth, JWT, session, CSRF
DONE Database schema + auto-migration
DONE Webhook pipeline (verify β†’ parse β†’ dispatch β†’ handlers)
DONE WebSocket real-time layer
DONE Boot sequence + Desktop + Window Manager
DONE Taskbar + Command Palette (Ctrl+K)
DONE Theme engine (CRT / Modern / Pixel / Dark)
DONE Application shells scaffolded (Dashboard, Repository, PRs, Reviews, Issues, Insights, Team, Reports, Heatmap, Terminal, Activity, Community, Groups, Whiteboard, Workflow, GitGraph, Settings, Profile)
IN PROGRESS Scoring engine (Bus Factor, Review Health, Commit Decay, etc.) wired to live data
IN PROGRESS REST routes (dashboard, repository, PRs, reviews, insights, etc.)
PLANNED Full end-to-end data wiring for every application module
PLANNED Reports export (CSV / PDF)
PLANNED Public launch / hosted demo

Detailed progress is tracked in Issues


09 Β· Contributing

Contributions are welcome β€” read CONTRIBUTING.md (coming soon) before opening a PR.

1. Fork this repository
2. git checkout -b feature/your-feature-name
3. git commit -m "feat: add your-feature-name"
4. Push & open a Pull Request

Links

Documentation /docs
Report a Bug Issues
Roadmap / Project Board Projects
Discussions Discussions
License LICENSE

License

Released under the MIT License β€” use, fork, and modify freely. See LICENSE for full details.

Built with β˜• and a love for pixel fonts.

About

RETRO LOOKS. modern power zero noice

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages