This document reflects the repository as it exists today. It intentionally distinguishes:
- production application code
- xUnit coverage-driving tests
- legacy runtime smoke harnesses under
Tests/
ThreadPilot/
βββ .github/ # CI, release, and security workflows
βββ assets/ # Static assets bundled into releases
βββ build/ # Release/package automation scripts
βββ chocolatey/ # Chocolatey package template and install scripts
βββ Converters/ # WPF binding converters
βββ docs/ # Reference, release, audit, and contributor docs
βββ Helpers/ # Shared helper utilities
βββ Installer/ # Inno Setup installer definition
βββ Models/ # Domain/data models
βββ Platforms/ # Windows-specific interop helpers
βββ Properties/ # Publish profiles and app properties
βββ Services/ # Application and OS-integration services
βββ Tests/
β βββ ThreadPilot.Core.Tests/ # Real xUnit suite used by CI and Codecov
β βββ *.cs # Legacy runtime smoke/integration harnesses
βββ Themes/ # WPF theme resources
βββ ViewModels/ # MVVM presentation logic
βββ Views/ # XAML views and code-behind
βββ winget/ # Submission scripts/reference manifests
βββ App.xaml / App.xaml.cs # Application bootstrap and DI entry
βββ ThreadPilot.csproj # Main WPF application project
βββ ThreadPilot_1.sln # Solution file
Services/ contains the highest-value business and orchestration logic in the repo.
Key areas:
Abstractions/: injectable seams such as settings storage, GitHub release client, and process runnerCore/,ProcessManagement/: older organizational subfolders still present in the repo- application services such as
ApplicationSettingsService,AutostartService,PowerPlanService,ProcessMonitorService,ProcessMonitorManagerService - infrastructure services such as
ServiceConfiguration,ServiceFactory,ServiceDisposalCoordinator
Tests/ThreadPilot.Core.Tests/ is the real automated test project.
- This is the suite executed by CI.
- This is the suite used for Cobertura/Codecov reporting.
- Coverage runsettings live in
Tests/ThreadPilot.Core.Tests/coverlet.runsettings.
The other files directly under Tests/ are not the xUnit suite.
They are retained as ad-hoc runtime smoke/integration harnesses used by debug-only --test mode in App.xaml.cs.
Current examples:
CpuTopologyServiceTests.csProcessSelectionTest.csExecutableBrowseTest.csGameBoostIntegrationTest.csActiveApplicationsTest.csTestRunner.cs
These harnesses are useful for exploratory/manual checks, but they are not part of CI coverage expectations.
Release automation is split across:
.github/workflows/release.ymlbuild/Installer/chocolatey/winget/
Generated release artifacts are expected under artifacts/release/ during packaging runs.
bin/,obj/, andTestResults*directories are local/generated outputs and not part of the intended source structure.docs/superpowers/plans/contains implementation plans and is intentionally excluded from normal source-control expectations for GitHub publication.