A full-stack DevOps dashboard that connects to any GitHub repository and gives you a unified platform for monitoring, automating, and improving your CI/CD pipeline.
| Layer | Technology |
|---|---|
| Frontend | React 18 + TypeScript + Vite + TailwindCSS |
| Backend | FastAPI + Python 3.11 |
| Data | GitHub REST API (PAT-based) + SQLite (logs) |
| Infra | Docker + optional SLURM/PBS cluster integration |
| Page | Description |
|---|---|
| Dashboard | Overview: live CI status, gate summary, DORA metrics |
| PR Hub | PR list, gate evaluation, automation controls, runner analysis |
| Builds | Workflow runs, job details, artifacts, failure summaries |
| Nightly Monitor | Nightly matrix heatmap, trend charts, job logs |
| Registry Manager | ECR image list, auth, tag deletion, push status |
| Image Tags | Tag matrix, lifecycle policy view, tag computation |
| Infra & Runners | GitHub runner status, SLURM/PBS queue, runner best practices |
| Health Analysis | DORA metrics, CI triage (failure categories), pipeline perf, runner health |
| Improvement Plan | Prioritised CI/CD improvement items + GitHub issue analysis |
| Log Monitor | Structured log search and ingestion |
| Analytics | User metrics, contribution activity |
| Insights | Commit activity, code frequency, forks, pulse |
| Issues | Issue list with label/milestone filters |
| Branches | Branch monitor |
- PR gate evaluation — classifies PRs by changed files (docs/tests/source/ci) and evaluates required check categories
- PR automation — auto-label, auto-comment gate status, auto-trigger CI, auto-merge on gate pass
- Runner recommendations — maps PR type to optimal runner (hosted vs GPU/self-hosted)
- CI/CD improvement plan — prioritised items derived from live issue and PR analysis, segregated into infrastructure vs product scope, with active PR tracking
- GitHub issue analysis — breaks down open issues into infrastructure / product bugs / features with severity ratings
- Nightly matrix heatmap — 14-day pass/fail grid across workflow matrix dimensions
- DORA metrics — deployment frequency, lead time, change failure rate, MTTR
- WebSocket log streaming — live build log tailing
- Python 3.11+
- Node.js 18+
- GitHub Personal Access Token with
repoandworkflowscopes
# Clone
git clone https://github.com/schundu007/git-dboard.git
cd git-dboard
# Backend
cp .env.example .env
# Edit .env — set GITHUB_TOKEN, GITHUB_OWNER, GITHUB_REPO
cd backend
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
# Frontend (new terminal)
cd frontend
npm install
npm run dev # runs on http://localhost:5173GITHUB_TOKEN=ghp_... # GitHub PAT (repo + workflow scopes)
GITHUB_OWNER=your-org # Repository owner or org
GITHUB_REPO=your-repo # Repository name
AWS_REGION=us-east-1 # optional: for ECR registry features
AWS_ACCESS_KEY_ID=... # optional: for ECR
AWS_SECRET_ACCESS_KEY=... # optional: for ECR
CLUSTER_HOST=... # optional: for SLURM/PBS cluster features
CLUSTER_USER=... # optional
See .env.example for the full list.
git-dboard/
├── backend/
│ ├── main.py # FastAPI app, lifespan, CORS
│ ├── routers/ # 14 API routers (prs, builds, nightly, ...)
│ ├── services/ # GitHub client, ECR, cluster SSH, log store
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── pages/ # 15 page components
│ │ ├── components/ # Sidebar, Layout, UI primitives
│ │ └── lib/api.ts # Typed API client
│ └── package.json
├── docker/scripts/ # nightly tag scripts, matrix resolution
├── services/pr-handler/ # Standalone GitHub App webhook handler (TypeScript)
└── start.sh # Start both backend and frontend
The backend exposes a Swagger UI at http://localhost:8000/docs.
Key endpoint groups:
| Prefix | Description |
|---|---|
/prs |
PR list, gate, files, reviews, automation |
/builds |
Workflow runs, jobs, artifacts, caches, deployments |
/nightly |
Nightly runs, matrix, trend, image matrix |
/improvement |
Improvement plan, issues analysis, quick wins |
/automation |
PR automation state, config, runner recommendations |
/health-analysis |
DORA, CI triage, pipeline perf, runner health |
/infra |
Runners, cluster queue, cluster nodes |
/registry |
ECR images, auth, lifecycle |
/logs |
Log search, ingestion, purge |
MIT