# dev-graph-exports > Export Dev Graph UI assets and dashboard data. Use when the user asks for structure SVG exports, timeline SVG/MP4 exports, per-commit SVGs, sprint-linked visuals, or dashboard/analytics JSON from the Dev Graph API. - Author: rm2thaddeus - Repository: rm2thaddeus/Aitor_Skills - Version: 20260120155513 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/rm2thaddeus/Aitor_Skills - Web: https://mule.run/skillshub/@@rm2thaddeus/Aitor_Skills~dev-graph-exports:20260120155513 --- --- name: dev-graph-exports description: Export Dev Graph UI assets and dashboard data. Use when the user asks for structure SVG exports, timeline SVG/MP4 exports, per-commit SVGs, sprint-linked visuals, or dashboard/analytics JSON from the Dev Graph API. --- # Dev Graph Exports Generate exportable assets that match the Dev Graph UI. ## Quickstart - API-only SVG-parity timeline exports: `node skills/dev-graph-exports/scripts/export_timeline_segments_svg_parity.js --api http://localhost:8080` - Dashboard JSON export: `python skills/dev-graph-exports/scripts/export_dashboard_data.py --base-url http://localhost:8080` ## Requirements - Dev Graph API running on `http://localhost:8080` - Node.js 18+ available (for SVG-parity renderer; uses global `fetch`) - Dependencies installed in `tools/dev-graph-ui`: - `npm --prefix tools/dev-graph-ui install jsdom @resvg/resvg-js` - ffmpeg available on PATH for mp4/gif exports ## Exports ### Structure SVG (UI export) - Script: `python skills/dev-graph-exports/scripts/export_structure_svg.py` - Output default: `exports/dev-graph/structure-graph.svg` - Optional: `--url http://localhost:3001/dev-graph/structure --output ` - Filters: `--source-type File --target-type Document --relation-type CONTAINS_CHUNK --max-nodes 250` ### Timeline MP4 + GIF segments (SVG-parity, API only) - Script: `node skills/dev-graph-exports/scripts/export_timeline_segments_svg_parity.js` - Output default: mp4 + gif plus per-commit SVG frames under `exports/dev-graph/timeline-frames/` - The SVG frames are the primary artifacts; raster frames are temporary and removed after encoding. - Segments: commits 1-70, 70-200, 200+. - Key options: - Range: `--range-start 0 --range-end 69` (single segment) - Segments: `--segments "0-69,69-199,199-"` (dash with empty end means "to last") - Sprint window preset: `--sprint sprint-11` (uses `/api/v1/dev-graph/sprints/` start/end) - Single SVG frame (no ffmpeg): `--frame-only true --sprint sprint-11 --sprint-frame end --frame-output docs/sprints/sprint-11/_dev_graph_visuals/timeline.svg` - Single SVG at commit: `--frame-only true --frame-commit abcd123 --frame-output exports/dev-graph/timeline-frame.svg` - Graph density: `--max-nodes 0` (default, no limit) - Node layout: `--show-folder-groups true|false`, `--focused-view true|false`, `--size-by-loc true|false` - Styling: `--color-mode folder|type|commit-flow|activity|none`, `--highlight-docs true|false`, `--edge-emphasis 0.0-1.0` - Filtering: `--active-folders "backend,frontend"`, `--include-patterns "docs,/\\.md$/"` - Canvas size: `--width 1200 --height 600` - Auto-fit (zoom out to see full shape): `--auto-fit true` (default) and `--auto-fit-padding 80` - Auto-fit motion (smooth zoom between frames): `--auto-fit-motion true` (default), `--auto-fit-motion-alpha 0.25` - Focus around a commit: `--focus-commit 120 --focus-window 10` (index) or `--focus-commit abcd123 --focus-window 12` (hash prefix) - Relaxation (cinematic settling): `--relax-ticks-min 180 --relax-ticks-max 520 --relax-ticks-factor 35` - Data volume: `--limit 5000 --max-files 0` (0 means no limit; lets backend return full file lists) - Include every file node: `--include-all-files true` (default) - Downscale on failure: `--downscale-on-fail true` (default), `--downscale-factor 0.85 --downscale-retries 3` ### Per-commit SVG frames - Script: `python skills/dev-graph-exports/scripts/export_timeline_svgs.py` - Output default: `exports/dev-graph/timeline-frames/` - Optional: `--start 0 --count 20` - Note: this script is UI-driven (requires the Dev Graph UI running) and requires Python Playwright. ### Dashboard data - Script: `python skills/dev-graph-exports/scripts/export_dashboard_data.py` - Output default: `exports/dev-graph/dashboard/` ## Notes - Timeline exports must use the SVG timeline renderer, not the GL2 timeline view. - The SVG-parity exporter uses the Dev Graph API only; UI is not required. - Structure export is taken from the main Structure View canvas and reflects current filters. - Dashboard exports pull from `/api/v1/dev-graph/stats`, `/analytics`, `/quality`, and `/data-quality/overview`. - Use `sprints.json` from dashboard exports to link frames and videos to sprint windows. - Defaults aim for full-fidelity output; if a segment fails, it will retry at a smaller canvas size. ## Other scripts (optional) - UI-driven structure SVG export: `python skills/dev-graph-exports/scripts/export_structure_svg.py` (requires the UI + Python Playwright) - UI-driven MP4 export via the Timeline page: `python skills/dev-graph-exports/scripts/export_timeline_mp4.py` (requires the UI + Python Playwright) - Legacy standalone timeline export (non-parity): `python skills/dev-graph-exports/scripts/export_timeline_segments_standalone.py` (requires `matplotlib` + ffmpeg)