A real-time, queryable system graph of your development activity
  • Rust 97.5%
  • HTML 2.5%
Find a file
Quinten Kasteel f6830b07ad feat: setup-mcp, border fix, watch improvements, repo auto-detect
- devflow setup-mcp: automatically writes devflow MCP entry into
  Claude Desktop config (cross-platform, atomic write, --force flag)
- output.rs: fix header box alignment using chars().count() instead of
  byte len(); pad meta row to match title width exactly
- watch: use graph events (not raw events) for live scrolling output;
  previously showed blank, now streams full event history
- standup: show PR URLs in dimmed text after each entry
- serve: auto-open browser at http://localhost:<web_port>/ on startup
- explain-pr/find-blockers/timeline: auto-detect repo from git remote
  (falls back to any-repo search if detected repo has no matches)
- main.rs: add open_browser() helper, detect_repo_from_git_remote()
- Cargo.toml: update repo/homepage URLs to quintenkasteel/devflow
- demo: re-recorded GIF with FontSize 18, Framerate 60, improved scenes
  (watch now shows scrolling events; scene 7 is mermaid export)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 09:55:39 +01:00
.github/workflows feat: add demo seeder, sigma.js graph, cargo-dist, and launch polish 2026-03-18 23:07:05 +01:00
crates feat: add demo seeder, sigma.js graph, cargo-dist, and launch polish 2026-03-18 23:07:05 +01:00
demo feat: setup-mcp, border fix, watch improvements, repo auto-detect 2026-03-20 09:55:39 +01:00
src feat: setup-mcp, border fix, watch improvements, repo auto-detect 2026-03-20 09:55:39 +01:00
tests feat: initial implementation of DevFlow Graph 2026-03-18 20:11:37 +01:00
.devflow.toml.example feat: initial implementation of DevFlow Graph 2026-03-18 20:11:37 +01:00
.gitignore feat: initial implementation of DevFlow Graph 2026-03-18 20:11:37 +01:00
Cargo.lock feat: initial implementation of DevFlow Graph 2026-03-18 20:11:37 +01:00
Cargo.toml feat: setup-mcp, border fix, watch improvements, repo auto-detect 2026-03-20 09:55:39 +01:00
README.md feat: setup-mcp, border fix, watch improvements, repo auto-detect 2026-03-20 09:55:39 +01:00

DevFlow Graph

A real-time, queryable system graph of your development activity. Stop asking "why is this PR stuck?" — just ask DevFlow.

cargo install devflow Build Status License: MIT OR Apache-2.0

DevFlow Demo

Record the demo: ./demo/record.sh (requires vhs or Docker)


The problem

You have 30 open PRs. Three are stuck. You don't know which ones, why, or for how long.

DevFlow connects GitHub, GitLab, Sentry, and Jira into a living graph you can query from the terminal — or let Claude query for you.


Demo

$ devflow explain-pr 42

┌─────────────────────────────────────────────────────────────────┐
│  PR #42  ·  fix: handle null response in auth middleware        │
│  author: octocat  ·  state: Open  ·  repo: acme/devflow        │
└─────────────────────────────────────────────────────────────────┘

⚡ BLOCKERS (2)
  ● CI failing: test-suite                   (since 2h ago)
  ● bob requested changes

🔍 CI STATUS  3 checks
  ✓ lint                                     passed
  ✗ test-suite                               failed
  ● integration-tests                        pending

👥 REVIEWS
  ✓ alice   Approved
  ✗ bob     Changes requested
  ○ carol   Pending

🎯 NEXT ACTIONS
  → Resolve: CI failing: test-suite
  → Resolve: bob requested changes

Features

Command What it does
devflow explain-pr 42 Full PR story: blockers, CI, reviews, next actions
devflow find-blockers All stuck PRs, sorted by time stuck
devflow watch Live stream of all dev activity
devflow standup Auto-generated standup notes
devflow dora DORA metrics: frequency, lead time, CFR, MTTR
devflow graph-show Interactive TUI
devflow timeline 42 Full event history for a PR
devflow replay --from 2025-01-15T09:00:00Z Time-travel: reconstruct any past graph state
devflow export --format mermaid Paste into Notion, GitHub comments, Obsidian
devflow mcp Claude Desktop integration
devflow query "show me stuck PRs" Natural language graph queries
devflow setup-mcp Auto-configure Claude Desktop MCP integration

Setup

One-command MCP setup

devflow setup-mcp

This automatically adds DevFlow to Claude Desktop's config file — no manual JSON editing needed. Restart Claude Desktop and ask it anything about your PRs.


Install

cargo install devflow

Or download a pre-built binary from GitHub Releases.


5-minute quickstart

1. Start DevFlow:

devflow serve

2. Set up a webhook (expose your local server with ngrok or similar):

ngrok http 7777
# Then: GitHub repo → Settings → Webhooks → Add webhook
# URL: https://<ngrok-url>/webhooks/github
# Events: Pull requests, Reviews, Check runs, Deployments

Or run the setup wizard:

devflow init

3. Open a PR and watch DevFlow react:

devflow watch
# [10:32:15]  PR #43 opened       alice    feat: add search endpoint
# [10:32:18]  CI queued           tests    PR #43
# [10:33:45]  CI passed           tests    PR #43

4. Ask why a PR is stuck:

devflow explain-pr 43

Claude Desktop integration

DevFlow runs as an MCP server — Claude can query your development graph directly.

Recommended: one-command setup:

devflow setup-mcp

Or configure manually in ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "devflow": {
      "command": "devflow",
      "args": ["mcp"]
    }
  }
}

Now ask Claude:

  • "Why is PR #42 stuck?"
  • "What's my standup for today?"
  • "What are our DORA metrics this quarter?"

Multi-source support

DevFlow connects all your tools into one graph:

Source Events
GitHub PRs, reviews, CI runs, deployments
GitLab Merge requests, pipelines, deployments
Sentry Error alerts, incident tracking
Jira Ticket transitions, cross-source links

Cross-source edges like DeploymentCausedSentryError and PrLinkedToJiraTicket let you ask "which deploy caused this Sentry spike?"


Architecture

DevFlow is an event-sourced graph database for your development activity:

  1. Webhooks → HMAC-verified ingestion → append-only redb event log
  2. Events → pure apply_event() function → petgraph in-memory graph
  3. Graph → query engine → CLI / TUI / web UI / MCP

Time-travel is free: devflow replay --from 2025-01-01T00:00:00Z replays all events to reconstruct any past state.


Configuration

Copy .devflow.toml.example to .devflow.toml and add your webhook secrets:

cp .devflow.toml.example .devflow.toml
$EDITOR .devflow.toml

Secrets can also be provided via environment variables:

  • DEVFLOW_GITHUB_SECRET
  • DEVFLOW_GITLAB_SECRET

License

MIT OR Apache-2.0