Skip to content

scalefirstai/DevPulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

DevPulse

DevPulse

Engineering health metrics that tell the truth.
Five outcome-oriented KPIs. One balanced view of delivery performance.

CI CodeQL License Version Stars

TypeScript Node.js React PostgreSQL Docker PRs Welcome

Quick StartKPIsDocsAPIContributingDiscussions


Why DevPulse?

Most engineering metrics tools measure activity — commits, PRs, lines of code. DevPulse measures outcomes — how fast you ship, how stable your systems are, and whether your architecture is holding up.

  • No vanity metrics. Five KPIs chosen because they drive real improvement.
  • Balanced by design. Speed, quality, and sustainability measured together — gaming one hurts the others.
  • Connects to your stack. GitHub, Jira, PagerDuty, OpsGenie, Jenkins, and more.
  • Self-hosted & private. Your data stays on your infrastructure. Always.
  • Open source. MIT licensed. Fork it, extend it, make it yours.

KPIs

DevPulse tracks five KPIs across four health tiers: Elite, Strong, Moderate, and Alert.

KPI What it Measures Unit Elite Alert
Cycle Time Median first-commit to production deploy days < 2d > 14d
Defect Escape Rate Defects discovered post-deployment % < 5% > 25%
Architecture Drift Unresolved violations / total rules % < 2% > 15%
MTTRC Incident detection to confirmed root cause hours < 1h > 8h
Rework PRs touching files changed in last 21 days % < 10% > 30%

Each KPI feeds into a composite Health Score (0–100) with trend tracking and shift detection.

Quick Start

One command with Docker

git clone https://github.com/scalefirstai/DevPulse.git
cd DevPulse
docker-compose up

Open http://localhost:3000 — demo data loads automatically.

Local development

# Prerequisites: Node.js 20+, pnpm 9+

pnpm install
pnpm build
pnpm test

# Start API server (port 4000)
pnpm --filter @devpulse/server dev

# Start dashboard (port 5173)
pnpm --filter @devpulse/dashboard dev

Architecture

DevPulse
├── packages/
│   ├── core/            Pure TypeScript — KPI types, calculation engine, health scoring
│   ├── connectors/      Data integrations — GitHub, Jira, PagerDuty, OpsGenie, Jenkins
│   ├── server/          Express API — PostgreSQL, Redis, BullMQ job processing
│   └── dashboard/       React SPA — Recharts, TailwindCSS, dark-first design
│
├── deploy/
│   ├── helm/            Kubernetes Helm charts for production
│   └── nginx.conf       Dashboard reverse proxy config
│
├── docker-compose.yml   Full local stack (Postgres + Redis + API + Dashboard)
└── docs/                Comprehensive documentation

Data Flow

┌─────────────┐     ┌──────────────┐     ┌──────────────┐     ┌───────────┐
│   GitHub     │────▶│              │────▶│              │────▶│           │
│   Jira       │     │  Connectors  │     │  Calculation  │     │ Dashboard │
│   PagerDuty  │     │   (pull)     │     │   Engine     │     │  (React)  │
│   OpsGenie   │────▶│              │────▶│              │────▶│           │
│   Jenkins    │     └──────────────┘     └──────────────┘     └───────────┘
└─────────────┘            │                     │
                     ┌─────▼─────────────────────▼─────┐
                     │     PostgreSQL + Redis           │
                     │     BullMQ Job Queue             │
                     └─────────────────────────────────┘

Connectors

DevPulse ships with connectors for the most popular engineering tools:

Connector Data Collected KPIs Fed
GitHub PRs, commits, file changes Cycle Time, Rework
Jira Issues, defects, lifecycle Defect Escape Rate
PagerDuty Incidents, timelines MTTRC
OpsGenie Incidents, alerts MTTRC
GitHub Actions Builds, deployments Cycle Time
Jenkins Build pipelines Cycle Time
ArchUnit Architecture rules Architecture Drift

Need a connector that doesn't exist yet? Open a feature request or build one — the base class handles retry, rate limiting, and pagination for you.

Connect Your Data

  1. Copy the example config:

    cp devpulse.config.example.yaml devpulse.config.yaml
  2. Add your credentials:

    connectors:
      github:
        token: ${GITHUB_TOKEN}
        repos: [org/repo-1, org/repo-2]
      jira:
        host: https://your-org.atlassian.net
        email: ${JIRA_EMAIL}
        token: ${JIRA_TOKEN}
  3. Trigger collection:

    curl -X POST http://localhost:4000/api/collect/trigger

See the full Connector Guide for all options.

Documentation

Guide Description
Getting Started Installation, configuration, first run
KPI Definitions Detailed methodology for each metric
API Reference REST endpoints, request/response formats
Connector Guide Setting up and building data connectors
Architecture System design and package structure
Deployment Docker, Kubernetes, Helm, and production setup
Security Security model, headers, rate limiting

Contributing

We welcome contributions of all kinds. Whether it's a bug fix, new connector, documentation improvement, or feature idea — every contribution matters.

# Fork & clone
git clone https://github.com/<your-username>/DevPulse.git
cd DevPulse

# Install & verify
pnpm install && pnpm build && pnpm test

# Create a branch
git checkout -b feat/my-change

# Make your changes, then open a PR

See CONTRIBUTING.md for the full guide, including coding standards and PR process.

Good First Issues

Looking for a place to start? Check out issues labeled good first issue — these are scoped, well-described tasks perfect for newcomers.

Community

Star History

If DevPulse helps your team, consider giving it a star — it helps others discover the project.

Star History Chart

License

MIT — Copyright (c) 2026 Selwyn Theo


Built with conviction that what you measure shapes what you build.

Releases

No releases published

Packages

 
 
 

Contributors

Languages