Repository Structure & Directory Map
An overview of the folder structure and codebase organization of LocalTelemetry.
Directory Tree Map
LocalTelemetry/
├── .github/ # GitHub Actions workflows, issue templates & security policies
│ ├── release/ # Release configuration & pipeline scripts (run.ts, build.ps1, publish.ps1, github-commit-plugin.ts)
│ ├── workflows/ # CI/CD (ci.yml, release.yml, docs.yml, sync.yml, project.yml, codeql.yml, sonar.yml, scorecard.yml)
│ ├── ISSUE_TEMPLATE/ # Bug report and feature request templates
│ ├── CODEOWNERS # Repository code ownership declarations
│ ├── CODE_OF_CONDUCT.md # Contributor code of conduct
│ ├── CONTRIBUTING.md # Contribution guidelines
│ ├── FUNDING.yml # GitHub sponsorship configuration
│ ├── pull_request_template.md # PR submission checklist
│ ├── SECURITY.md # Vulnerability reporting policy
│ ├── SUPPORT.md # Community support & troubleshooting hub
│ └── dependabot.yml # Automated dependency update configuration
├── bucket/ # Scoop package bucket
│ └── localtelemetry.json # Scoop application installation manifest
├── docs/ # VitePress documentation site
│ ├── .vitepress/ # VitePress theme, Lucide markdown plugins & config
│ ├── latest/ # Versioned documentation source
│ │ ├── user-guide/ # 9 End-user guide documents (8 topics + index)
│ │ ├── developer-guide/ # 11 Developer architecture & deep-dives (10 topics + index)
│ │ │ └── reference/ # 3 Technical reference specifications (Core API, IPC, Settings)
│ │ └── index.md # Documentation portal landing page
│ ├── public/ # Static assets (images, app.ico, banner.jpg)
│ ├── scripts/ # Documentation snapshot & versioning build scripts
│ ├── package.json # Documentation dependencies (Bun runtime)
│ └── tsconfig.json # Documentation TypeScript compiler configuration
├── packaging/ # Third-party distribution manifests
│ └── winget/ # Windows Package Manager manifest
├── src/ # Production source code (.NET 10 + Svelte 5)
│ ├── LocalTelemetry.Core/ # Hardware polling engine, PawnIO, SystemInfo, Config
│ │ ├── Config/ # AppSettings.cs, schema migration & atomic persistence
│ │ ├── Diagnostics/ # Log.cs structured logger & TestEnvironment.cs testing flags
│ │ ├── Hardware/ # Sensor pollers (NVML, ADL, ControlLib, WDDM, PDH, DiskQuery, HardwareInventory, HardwareLifecycleManager)
│ │ │ └── PawnIo/ # Kernel driver transport, Intel MSR & AMD Ryzen SMU readers
│ │ └── Models/ # Metrics.cs, TelemetrySnapshot, OverlayDeploymentState, UpdateCheckResult
│ ├── LocalTelemetry.App/ # WPF Desktop host & Win32 taskbar integration
│ │ ├── Overlay/ # TaskbarOverlay.cs (GDI+ rendering, DPI scaling, watchdog)
│ │ ├── Services/ # AlertService.cs, NotificationClient.cs, UpdateCheckService.cs
│ │ ├── Settings/ # SettingsShell.xaml & Svelte 5 WebView2 frontend
│ │ │ └── wwwroot/ # Svelte 5 (Vite + Bun + TypeScript) settings single-page app
│ │ │ ├── src/ # Svelte components (App, Sidebar, 10 Pages, UI primitives, types, utils)
│ │ │ └── package.json # Frontend dependencies
│ │ ├── Tray/ # TrayIconManager.cs (WinForms NotifyIcon & custom dark context menus)
│ │ ├── Win32/ # TaskbarEmbedder.cs (SetParent reparenting & floating fallback)
│ │ ├── App.xaml.cs # WPF application entry point, UAC elevation & DI container
│ │ └── Uninstall.bat # Portable mode driver, service & registry cleanup script
│ └── LocalTelemetry.Notifier/ # Standalone toast notification helper executable
│ ├── NotifierLog.cs # Notifier diagnostic logging
│ ├── Program.cs # Entry point, parent PID watchdog, Named Pipe server
│ └── ToastForm.cs # Non-focus-stealing toast window with slide-in animation
├── tests/ # Automated test suites (.NET 10 xUnit + Vitest)
│ ├── LocalTelemetry.Core.Tests/ # Granular xUnit tests (Hardware, DiskQuery, Lifecycle, Inventory, Models, Config)
│ ├── LocalTelemetry.App.Tests/ # Granular xUnit tests (Alerts, NotificationClient, UpdateCheck, Win32, Settings)
│ │ └── Settings/wwwroot/ # Vitest component & store unit tests
│ └── LocalTelemetry.Notifier.Tests/ # xUnit tests for Notifier IPC contracts & Program logic
├── CHANGELOG.md # Project release changelog (generated by semantic-release)
├── codecov.yml # Codecov coverage threshold rules
├── commitlint.config.mjs # Conventional Commits commitlint rules
├── Directory.Build.props # Global C# build properties (.NET 10, C# 13, nullable)
├── global.json # .NET SDK version pinning
├── LICENSE # GNU General Public License v3.0
├── LocalTelemetry.sln # Visual Studio solution file
├── setup.iss # Inno Setup 7 installer compilation script
└── README.md # GitHub repository main READMEProject Responsibilities & Module Breakdown
Host Application & UI (LocalTelemetry.App)
Located in src/LocalTelemetry.App, this is the main execution target. Responsible for Win32 taskbar window reparenting (TaskbarOverlay), system tray management (TrayIconManager), threshold alerting (AlertService), update checking against GitHub Releases (UpdateCheckService), and hosting the Microsoft WebView2 control for settings management.
Hardware Engine & Telemetry (LocalTelemetry.Core)
Located in src/LocalTelemetry.Core, this is the domain layer. Houses low-level hardware sensor readers, PawnIO kernel transport wrappers, WMI and Win32 storage IOCTL query interfaces (DiskQuery), hardware fingerprinting (HardwareInventory), lifecycle management (HardwareLifecycleManager), network bandwidth monitoring (WindowsNetworkUsageProvider), and configuration persistence (AppSettings).
Toast Notification Helper (LocalTelemetry.Notifier)
Located in src/LocalTelemetry.Notifier, this is a dedicated out-of-process toast notification executable. Runs in isolation to ensure hardware polling loops and full-screen games are never interrupted or de-focused when warnings trigger. Communicates exclusively over Windows Named Pipes (LocalTelemetryNotifier).
Automated Testing Suites
Located in tests/, three distinct xUnit and Vitest test projects ensure regressions are prevented across hardware query logic, IPC messaging contracts, UI components, and settings serialization.
Documentation Portal
Located in docs/, the official VitePress documentation site extends standard markdown with automatic Lucide icon rendering, semantic alert callouts, and multi-version dropdown navigation. Includes a dedicated Reference & Specifications section for low-level contracts.
Continuous Integration & GitHub Automation
Located in .github/, automation workflows build, format, test, package, sign, and release LocalTelemetry in adherence with OpenSSF Scorecard supply-chain security standards.