How bdelion/design-system-quality-pipeline works
Design System Quality Pipeline ingests GitHub or fixture data, normalizes it into a domain model, evaluates data quality, computes metrics and snapshot changes, then writes a static dashboard. The primary orchestrator is src/pipeline.ts; a separate CLI path supports anonymizing RAW datasets and validating shareable fixtures, including trace and report generation. The graph follows documented workflow and sampled call sites; unsampled dashboard, analytics, and anonymization internals are represented at their documented subsystem paths, with no speculative internal links.
Main entry points: pipeline.ts Pipeline runner · cli.ts Command interface · metrics.ts Metric definitions · github.ts GitHub collector
Components 26
Inputs & configuration
- System config
src/config.ts - Component catalogue
src/catalogue.ts - Fixture collector
src/collectors/fixture.ts - GitHub collector
src/collectors/github.ts
Quality pipeline
- Pipeline runner
src/pipeline.ts - Domain normalizer
src/normalizers/github.ts - Data quality rules
src/quality/rules.ts - Metric impacts
src/lib/metric-impacts.ts - Command interface
src/cli.ts - File utilities
src/lib/files.ts
Analytics & presentation
- KPI calculation
src/analytics/kpis.ts - Metric definitions
src/analytics/metrics.ts - Metric catalogue
src/analytics/catalog.ts - Snapshot flows
src/analytics/flows.ts - Snapshot builder
src/snapshots/snapshot.ts - Snapshot comparison
src/snapshots/diff.ts - Static dashboard
src/dashboard/generate.ts - Current snapshot
data/current/snapshot.json - Dashboard files
data/dashboard
Fixture privacy
- Dataset anonymizer
src/anonymization/anonymizer.ts - Text sanitizer
src/anonymization/sanitize.ts - RAW trace manifest
src/anonymization/trace.ts - Fixture validator
src/anonymization/validator.ts - Validation report
src/anonymization/validation-report.ts
Other components
- CLI user
- GitHub API
Connections 28
- CLI user → Command interface: runs commands
README.md - Command interface → Pipeline runner: runs pipeline
src/cli.ts - Pipeline runner → System config: loads settings
src/pipeline.ts - Pipeline runner → Component catalogue: loads catalogue
src/pipeline.ts - Pipeline runner → Fixture collector: collects fixture
src/pipeline.ts - Pipeline runner → GitHub collector: collects GitHub
src/pipeline.ts - GitHub collector → GitHub API: requests data
src/collectors/github.ts - Pipeline runner → Domain normalizer: normalizes RAW
src/pipeline.ts - Pipeline runner → Data quality rules: evaluates quality
src/pipeline.ts - Data quality rules → Metric impacts: assigns impacts
src/quality/rules.ts - Pipeline runner → KPI calculation: calculates KPIs
src/pipeline.ts - KPI calculation → Metric definitions: computes metrics
src/analytics/kpis.ts - Metric definitions → Metric catalogue: checks contracts
src/analytics/metrics.ts - Metric definitions → Metric impacts: applies impacts
src/analytics/metrics.ts - Pipeline runner → Snapshot comparison: compares snapshots
src/pipeline.ts - Pipeline runner → Snapshot builder: builds snapshot
src/pipeline.ts - Pipeline runner → Static dashboard: generates dashboard
src/pipeline.ts - Pipeline runner → File utilities: writes snapshots
src/pipeline.ts - Pipeline runner → Current snapshot: stores current
src/pipeline.ts - Static dashboard → Dashboard files: writes static pages
README.md - Pipeline runner → Snapshot flows: computes flows
src/pipeline.ts - Command interface → Dataset anonymizer: anonymizes RAW
src/cli.ts - Dataset anonymizer → Text sanitizer: sanitizes text
src/anonymization/anonymizer.ts - Command interface → RAW trace manifest: writes trace
src/cli.ts - Command interface → Fixture validator: validates fixture
src/cli.ts - Fixture validator → Text sanitizer: checks sensitive text
src/anonymization/validator.ts - Command interface → Validation report: writes report
src/cli.ts - Validation report → RAW trace manifest: uses trace
src/anonymization/validation-report.ts