Unified Mission Control for Open-Source Contributors and Maintainers.
OSS Command Center is a high-density operational cockpit for software engineers, maintainers, and open-source teams. It bridges fragmented notifications and pull request tracking across GitHub and GitLab into a single prioritized, local-first queue.
Instead of opening dozens of browser tabs to check whether reviews landed or CI finished, OSS Command Center programmatically evaluates conversation timelines, review approvals, and commit graphs to derive deterministic action states.
[ Upstream Platforms ]
GitHub API / GitLab Cloud / Self-Hosted
│ │
Inbound Webhooks Periodic Sync
│ │
▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ Perimeter Defense & Ingestion │
│ • Helmet Security Headers (CSP, No-Sniff, Frame Deny) │
│ • 4-Tier Rate Limiting (Auth, Actions, Webhooks, Global API) │
│ • HMAC-SHA256 Constant-Time Signature Verification │
└────────────────────────────────┬─────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────┐
│ Core Multi-Tenant Engine │
│ • Algorithmic Action Derivation (OWE REPLY / CHANGES REQ) │
│ • Direct In-App PR Actions (Comment, Review Request, Sync) │
│ • Autonomous Background Sync Worker (10m Cadence) │
│ • Multi-Channel Notifications (Discord Embeds / Slack Blocks) │
│ • Multi-Provider Email Digest Engine (Weekly Reports) │
└────────────────────────────────┬─────────────────────────────────┘
│
┌───────────────┴───────────────┐
▼ ▼
┌─────────────────────────────────┐ ┌─────────────────────────────┐
│ Persistence Layer │ │ Client Surface │
│ • SQLite WAL with Foreign Keys │ │ • React 18 + Tailwind CSS │
│ • AES-256-GCM Token Encryption │ │ • Server-Sent Events (SSE) │
│ • Scrypt Salted Password Hash │ │ • Pure HttpOnly Cookies │
│ • Atomic Credential Purges │ │ • Interactive Demo Mode │
└─────────────────────────────────┘ └─────────────────────────────┘
Native platform inboxes display raw chronological timelines (bot comments, workflow logs, issue tags). OSS Command Center analyses the event graph to determine who owes action:
OWE REPLY(Amber badge): An upstream maintainer or reviewer posted the latest substantive question or feedback.CHANGES REQ(Red badge): An official review recorded requested modifications.AWAITING MAINTAINER(Blue badge): You pushed commits or answered questions; the ball is in the maintainer's court.
Real-world open source is divided across ecosystems. Systems infrastructure (GNOME, RTEMS, Linux foundation subprojects) runs on GitLab, while application libraries live on GitHub. OSS Command Center ingests and reconciles items across GitHub Cloud, GitLab.com, and self-hosted GitLab instances into a uniform data model.
Take immediate action on upstream pull requests without leaving the command deck:
- Post comments and review responses directly to GitHub and GitLab PRs.
- Re-request reviews from designated maintainers.
- Trigger instant single-contribution synchronization passes.
Integrates native webhook listeners (/api/webhooks/github and /api/webhooks/gitlab) backed by Server-Sent Events (SSE). When maintainers comment or merge upstream, the dashboard updates immediately without manual polling.
- Discord & Slack Dispatch: Real-time push notifications using native Discord Rich Embeds and Slack Block Kit formatting.
- Autonomous Sync Worker: Background worker cycles every 10 minutes to ingest upstream updates, audit contributor turnarounds, and trigger scheduled digests.
Multi-provider email recap engine supporting custom SMTP, Amazon SES, SendGrid, Resend, and local mock transports. Aggregates weekly velocity, turnaround times, merged PRs, and awaiting replies into clean HTML and plain-text summaries.
Experience the complete operational workflow without entering credentials. Append ?demo=1 to the URL or toggle Sandbox Mode to explore curated telemetry across React, Linux Kernel, Inkscape, Next.js, and Kubernetes with simulated mutations.
OSS Command Center is engineered with enterprise defense-in-depth principles:
- AES-256-GCM Token Encryption: Personal access tokens (GitHub PATs and GitLab access keys) are encrypted using AES-256-GCM with fresh 12-byte initialization vectors (
crypto.randomBytes(12)) and 16-byte authentication tags. Tokens are decrypted only ephemerally in memory during active API calls and are never returned to the browser. - Password Hashing: Passwords are hashed using Node's native
scryptkey derivation function with 16-byte random salts and verified via constant-time comparisons (crypto.timingSafeEqual). - Production Master Key Enforcement: Startup guards enforce that
ENCRYPTION_KEYis explicitly configured in production environments, refusing to boot on default development fallbacks.
- HMAC-SHA256 Signatures: Incoming GitHub webhooks validate
X-Hub-Signature-256against unparsed raw body buffers (req.rawBody). - Constant-Time Digest Checks: Digest verification uses
crypto.timingSafeEqualover fixed-length binary buffers to eliminate timing side-channel attacks.
Configured via server/middleware/rate_limit.ts:
- Tier 1 (Auth): 15 requests per 15 minutes on
/api/auth/loginand/api/auth/registerto block credential stuffing. - Tier 2 (Actions & Sync): 30 requests per minute on
/api/syncand/api/contributions/:id/actions/*to guard upstream token quotas. - Tier 3 (Webhooks): 600 requests per 15 minutes on
/api/webhooks/*to absorb burst traffic while stopping flood attempts. - Tier 4 (Global Perimeter): 1200 requests per 15 minutes across all
/api/*endpoints. - Health Probe Immunity:
/health,/api/health, and/metricsbypass rate counters unconditionally to prevent container orchestrator dropouts. - Standard RFC Headers: Emits
RateLimit-Limit,RateLimit-Remaining,RateLimit-Reset, andRetry-After.
- Pure HttpOnly Cookies: Session tokens are held exclusively in browser-managed
HttpOnly,SameSite=Lax, andSecurecookies (oss_session). Tokens are never stored in clientlocalStorage, eliminating token theft via malicious browser scripts. - Strict CORS Whitelisting: Rejects open origin reflection, enforcing explicit origin whitelists in production.
- Helmet Security Headers: Content Security Policy with
object-src 'none', strict frame denial (X-Frame-Options: DENY),nosniff, and header fingerprint stripping (X-Powered-Byhidden). - SQL Injection Prevention: 100% of database interactions use parameterized prepared statements (
db.prepare(...)).
| Shortcut | Action | Context |
|---|---|---|
j or Down Arrow |
Move focus down the contribution feed | Main feed |
k or Up Arrow |
Move focus up the contribution feed | Main feed |
Enter |
Open slide-over detail drawer for selected item | Main feed |
Ctrl + K or Cmd + K |
Open global command palette search | Global |
Esc |
Close active drawer, modal, or command palette | Global |
? |
Toggle quick guide and status badge legend | Global |
| Layer | Technologies |
|---|---|
| Frontend | React 18, TypeScript, Tailwind CSS, Framer Motion, Lucide Icons, Lenis Smooth Scroll |
| Backend | Express 4, Node.js, TypeScript, Server-Sent Events (SSE), Nodemailer |
| Database | SQLite 3 (better-sqlite3) with WAL journal mode and foreign key cascading |
| Security | AES-256-GCM, Scrypt, Helmet, Express Rate Limit, Zod validation |
| Build & Tooling | Vite 6, tsx, PostCSS, Autoprefixer |
- Node.js 20.x or higher
- npm 10.x or higher
git clone https://github.com/Guts1005/oss-command-center.git
cd oss-command-center
npm installCopy the template configuration file:
cp .env.example .envReview and configure your environment variables:
# Server Port (default: 3100)
PORT=3100
NODE_ENV=development
# Cryptographic Master Key (Mandatory in production)
ENCRYPTION_KEY=generate_a_random_32_byte_secret_hex_or_string
# Application Base URL & CORS Whitelist
APP_URL=http://localhost:3100
ALLOWED_ORIGINS=http://localhost:5173,http://localhost:3100
# Reverse Proxy Trust (Set to true when behind Nginx, Caddy, or AWS ALB)
TRUST_PROXY=false
# Optional OAuth 2.0 Credentials
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITLAB_CLIENT_ID=
GITLAB_CLIENT_SECRET=
# Optional Inbound Webhook Secrets
GITHUB_WEBHOOK_SECRET=
GITLAB_WEBHOOK_SECRET=
# Optional Email Digest SMTP Transport
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER[email protected]
SMTP_PASS=secret_password
SMTP_FROM[email protected]Runs the Express API backend (with hot reload via tsx watch) and Vite frontend concurrently:
npm run devThe application will be accessible at http://localhost:5173 (client dev server) and http://localhost:3100 (API server).
Compile TypeScript and build the optimized Vite bundle:
npm run build
npm startThe project enforces an automated test suite executed in isolated environments with SQLite database fixtures:
npm test✔ tests/routing.test.ts - Client SPA routing and view transitions
✔ tests/theme.test.ts - Theme switching and obsidian color tokens
✔ tests/analytics.test.ts - Pipeline turnaround and velocity heatmaps
✔ tests/repositories.test.ts - Repository metrics and ecosystem breakdown
✔ tests/webhooks.test.ts - Outbound notifications and HMAC dispatch
✔ tests/crypto.test.ts - AES-256-GCM encryption and scrypt password hashing
✔ tests/db.test.ts - SQLite schema, foreign keys, and WAL journal
✔ tests/api_integration.test.ts - Core REST API endpoints and query filtering
✔ tests/multi_tenant.test.ts - Cross-tenant boundaries and credential purging
✔ tests/settings_export.test.ts - User settings persistence and JSON data export
✔ tests/inbound_webhooks.test.ts - GitHub/GitLab webhooks and SSE event stream
✔ tests/pr_actions.test.ts - Direct comments, review requests, and sync
✔ tests/production_hardening.test.ts - Helmet CSP headers, gzip filters, /health probe
✔ tests/notifications_and_cron.test.ts - Slack Block Kit, Discord embeds, background cron
✔ tests/oauth.test.ts - GitHub and GitLab OAuth 2.0 social login
✔ tests/email_digest.test.ts - Weekly email digest engine and preview rendering
✔ tests/demo_sandbox.test.ts - Public sandbox dataset and simulated actions
✔ tests/security_hardening_ratelimit.test.ts - Multi-tier rate limiting, headers, and audit logs
docker build -t oss-command-center:latest .
docker run -d \
-p 3100:3100 \
-e NODE_ENV=production \
-e ENCRYPTION_KEY=your_production_secret_key_here \
-v oss_data:/app/data \
--name oss-command-center \
oss-command-center:latestContainer orchestrators (Kubernetes, AWS ALB, Docker swarm) can monitor application health:
GET /healthorGET /api/health: Returns HTTP 200 with database connection status and process uptime. Immune to rate limiters.
Distributed under the MIT License. See LICENSE for terms.