Skip to content

Commit ac5e275

Browse files
committed
Update Readme.md
1 parent 88dde7c commit ac5e275

1 file changed

Lines changed: 97 additions & 142 deletions

File tree

README.md

Lines changed: 97 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -1,141 +1,104 @@
1+
<div align="center">
2+
13
# ThreadPilot ✈️
24

5+
**A free and open-source Windows process and power plan manager for deterministic performance workflows.**
6+
37
[![Build](https://github.com/PrimeBuild-pc/ThreadPilot/actions/workflows/ci-devsecops.yml/badge.svg)](https://github.com/PrimeBuild-pc/ThreadPilot/actions/workflows/ci-devsecops.yml)
48
[![Release](https://img.shields.io/github/v/release/PrimeBuild-pc/ThreadPilot?sort=semver)](https://github.com/PrimeBuild-pc/ThreadPilot/releases)
5-
[![Coverage](https://codecov.io/gh/PrimeBuild-pc/ThreadPilot/branch/main/graph/badge.svg)](https://codecov.io/gh/PrimeBuild-pc/ThreadPilot)
6-
[![winget](https://img.shields.io/winget/v/PrimeBuild.ThreadPilot)](https://github.com/microsoft/winget-pkgs)
9+
[![winget](https://img.shields.io/winget/v/PrimeBuild.ThreadPilot?label=winget)](https://github.com/microsoft/winget-pkgs/tree/master/manifests/p/PrimeBuild/ThreadPilot)
710
[![Windows](https://img.shields.io/badge/Windows-11-blue?logo=windows)](https://www.microsoft.com/windows)
811
[![.NET](https://img.shields.io/badge/.NET-8.0-512BD4?logo=dotnet&logoColor=white)](https://dotnet.microsoft.com/)
912
[![License](https://img.shields.io/badge/License-AGPLv3-blue.svg)](LICENSE)
13+
[![Issues](https://img.shields.io/github/issues/PrimeBuild-pc/ThreadPilot)](https://github.com/PrimeBuild-pc/ThreadPilot/issues)
14+
[![Discussions](https://img.shields.io/badge/Discussions-GitHub-6f42c1?logo=github)](https://github.com/PrimeBuild-pc/ThreadPilot/discussions)
1015

11-
ThreadPilot is a free and open-source Windows process and power plan manager focused on deterministic performance workflows.
16+
[Install](#-install)[Features](#-features)[Screenshots](#-screenshots)[Build](#-build-from-source)[Support](#-support-the-project)
1217

13-
The project targets users who need Process Lasso style capabilities in a modern WPF desktop application with enterprise-grade reliability, security hardening, and automation support.
14-
15-
Coverage badge tracks business/application code and excludes generated build artifacts.
18+
</div>
1619

1720
[![Thread-Pilotbanner.png](https://i.postimg.cc/sDZLXMqr/Thread-Pilotbanner.png)](https://postimg.cc/cr0hkLd9)
1821

19-
## ✨ Key Features
22+
## What is ThreadPilot?
2023

21-
- Process management with live refresh, filtering, and high-volume process handling.
22-
- CPU affinity and priority controls with topology-aware logic.
23-
- I/O and scheduling related tuning utilities.
24-
- Automation Monitoring for rule-driven power plan switching based on process start/stop events.
25-
- Conditional profiles, system tray controls, and Live Metrics.
26-
- Windows 11 first-class support.
24+
ThreadPilot is a modern Windows desktop application for users who want predictable control over process behavior, CPU affinity, priority, power plans, and rule-driven performance workflows.
2725

28-
## Screenshots
26+
It is designed as an open-source alternative for power users who need Process Lasso-style capabilities, automation support, system tray controls, and a Windows 11-first experience.
2927

30-
<img width="2470" height="1696" alt="Gemini_Generated_Image_xzgtdpxzgtdpxzgt" src="https://github.com/user-attachments/assets/e535e496-8b7d-4d38-883b-e0c7f68a610f" />
28+
## ✨ Features
3129

32-
## ⚙️ Requirements
30+
- Live process management with refresh, filtering, and high-volume process handling.
31+
- CPU affinity and priority controls with topology-aware logic.
32+
- I/O and scheduler-related tuning utilities.
33+
- Rule-based automation for power plan switching when selected processes start or stop.
34+
- Conditional profiles, tray controls, Live Metrics, and dashboard views.
35+
- Administrator-aware Windows desktop workflow.
36+
- CI-backed release artifacts and package-manager distribution.
3337

34-
- Windows 11 (Build 22000+).
35-
- .NET 8 SDK for source builds.
36-
- Administrator privileges are required to launch ThreadPilot.
38+
## 📦 Install
3739

38-
## 📦 Download
40+
### Install with WinGet
3941

40-
[![Download Latest Release](https://img.shields.io/badge/Download-Latest%20Release-2ea44f?logo=github)](https://github.com/PrimeBuild-pc/ThreadPilot/releases/latest)
41-
[![Portable ZIP Assets](https://img.shields.io/badge/Portable%20ZIP-Release%20Assets-1f6feb?logo=github)](https://github.com/PrimeBuild-pc/ThreadPilot/releases/latest)
42+
ThreadPilot is available on WinGet as `PrimeBuild.ThreadPilot`.
4243

43-
### Package Manager Status
44+
From **Command Prompt** or **PowerShell**:
4445

45-
- GitHub Release v1.1.3 is the target release.
46-
- WinGet publication for v1.1.3 follows the GitHub Release asset and checksum.
47-
- Chocolatey publication for v1.1.3 follows the GitHub Release asset and checksum.
48-
- PowerShell bootstrap (Admin): `iwr https://raw.githubusercontent.com/PrimeBuild-pc/ThreadPilot/main/build/install-threadpilot.ps1 -UseBasicParsing | iex`
46+
```cmd
47+
winget install --id PrimeBuild.ThreadPilot -e
48+
```
4949

50-
<details>
51-
<summary>Manual download files and checksum verification</summary>
50+
To refresh your local WinGet source first:
5251

53-
Latest artifacts are published on each tagged release in [GitHub Releases](https://github.com/PrimeBuild-pc/ThreadPilot/releases).
52+
```cmd
53+
winget source update
54+
winget search ThreadPilot
55+
```
5456

55-
| Package | File name | Recommended use |
56-
|---|---|---|
57-
| Installer (Recommended) | `ThreadPilot_v<version>_Setup.exe` | Standard Windows installer (Inno Setup) for most users |
58-
| Portable | `ThreadPilot_v<version>_singlefile_win-x64.zip` | No-install deployment for power users |
57+
### Download from GitHub Releases
5958

60-
Quick links:
59+
[![Download Latest Release](https://img.shields.io/badge/Download-Latest%20Release-2ea44f?logo=github)](https://github.com/PrimeBuild-pc/ThreadPilot/releases/latest)
60+
[![Portable ZIP Assets](https://img.shields.io/badge/Portable%20ZIP-Release%20Assets-1f6feb?logo=github)](https://github.com/PrimeBuild-pc/ThreadPilot/releases/latest)
6161

62-
- Release page: https://github.com/PrimeBuild-pc/ThreadPilot/releases/latest
62+
| Package | Recommended use |
63+
|---|---|
64+
| `ThreadPilot_v<version>_Setup.exe` | Standard Windows installer for most users |
65+
| `ThreadPilot_v<version>_singlefile_win-x64.zip` | Portable/no-install deployment |
6366

64-
Verification examples:
67+
Optional checksum verification:
6568

6669
```powershell
6770
Get-FileHash .\ThreadPilot_v<version>_Setup.exe -Algorithm SHA256
6871
Get-FileHash .\ThreadPilot_v<version>_singlefile_win-x64.zip -Algorithm SHA256
6972
```
7073

71-
Compare hashes with `SHA256SUMS.txt` from the same release.
74+
Compare the result with `SHA256SUMS.txt` from the same release.
7275

73-
</details>
76+
## 🖼️ Screenshots
7477

75-
<details>
76-
<summary>Expanded PowerShell installer script (auditable)</summary>
78+
<img width="2470" height="1696" alt="Gemini_Generated_Image_xzgtdpxzgtdpxzgt" src="https://github.com/user-attachments/assets/e535e496-8b7d-4d38-883b-e0c7f68a610f" />
7779

78-
```powershell
79-
# 1) Verify administrator permissions
80-
if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
81-
Write-Warning "Please run this command in a PowerShell window opened as Administrator."
82-
exit 1
83-
}
84-
85-
Write-Host "Starting ThreadPilot installation..." -ForegroundColor Cyan
86-
87-
# 2) Resolve latest installer asset from GitHub Releases
88-
$release = Invoke-RestMethod -Uri "https://api.github.com/repos/PrimeBuild-pc/ThreadPilot/releases/latest"
89-
$asset = $release.assets | Where-Object { $_.name -match '^ThreadPilot_v.*_Setup\.exe$' } | Select-Object -First 1
90-
if (-not $asset) {
91-
throw "Unable to locate the latest ThreadPilot installer asset."
92-
}
93-
94-
$url = $asset.browser_download_url
95-
$destPath = "$env:ProgramFiles\ThreadPilot"
96-
$exePath = Join-Path $destPath $asset.name
97-
98-
# 3) Ensure destination folder exists
99-
if (-not (Test-Path $destPath)) { New-Item -ItemType Directory -Force -Path $destPath | Out-Null }
100-
101-
# 4) Download installer
102-
Write-Host "Downloading installer..."
103-
Invoke-WebRequest -Uri $url -OutFile $exePath -UseBasicParsing
104-
105-
# 5) Optional: add install folder to machine PATH
106-
$currentPath = [Environment]::GetEnvironmentVariable("Path", "Machine")
107-
if ($currentPath -notmatch [regex]::Escape($destPath)) {
108-
[Environment]::SetEnvironmentVariable("Path", $currentPath + ";" + $destPath, "Machine")
109-
Write-Host "Added install folder to machine PATH."
110-
}
111-
112-
# 6) Run installer silently
113-
Start-Process -FilePath $exePath -ArgumentList "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-" -Wait
114-
115-
Write-Host "Installation completed successfully." -ForegroundColor Green
116-
```
80+
## ⚙️ Requirements
11781

118-
Notes:
82+
- Windows 11, build 22000 or newer.
83+
- Administrator privileges to launch and manage system-level process settings.
84+
- .NET 8 SDK only if you want to build from source.
11985

120-
- This installation flow is machine-wide (`Program Files`) and requires administrator rights.
121-
- The PATH update is optional but included in the script for command-line convenience.
86+
## 🚀 Usage Notes
12287

123-
</details>
88+
ThreadPilot uses an administrator-required manifest and requests elevation at startup. If UAC elevation is declined, the application exits instead of continuing in a limited mode.
12489

125-
<details>
126-
<summary>Channel availability and install notes</summary>
90+
Useful startup arguments:
12791

128-
- Winget visibility depends on microsoft/winget-pkgs publication and client source refresh.
129-
- Chocolatey visibility depends on moderation and verification approval state.
130-
- The release workflow can auto-submit winget and Chocolatey publication jobs when repository secrets are configured.
131-
- ThreadPilot uses an administrator-required manifest (`requireAdministrator`) and requests elevation at startup.
132-
- If UAC elevation is declined at startup, the application exits and does not continue in limited mode.
133-
- In `Power Plans > Custom Power Plans`, use `Add .pow File` to add new custom plans directly from the app.
134-
- Performance uses Live Metrics for dashboard refresh; Rules & Automation uses Automation Monitoring for process-driven rules.
92+
```text
93+
--start-minimized
94+
--autostart
95+
--test
96+
--smoke-test
97+
```
13598

136-
</details>
99+
In `Power Plans > Custom Power Plans`, use `Add .pow File` to import custom power plans directly from the app.
137100

138-
### Build from Source
101+
## 🧱 Build from Source
139102

140103
```powershell
141104
git clone https://github.com/PrimeBuild-pc/ThreadPilot.git
@@ -145,79 +108,71 @@ dotnet build ThreadPilot_1.sln --configuration Release
145108
dotnet run --project ThreadPilot.csproj --configuration Release
146109
```
147110

148-
Useful startup arguments:
149-
150-
- --start-minimized
151-
- --autostart
152-
- --test
153-
- --smoke-test
154-
155-
## Usage Examples
156-
157111
Run integrated runtime tests:
158112

159113
```powershell
160114
dotnet run --project ThreadPilot.csproj --configuration Release -- --test
161115
```
162116

163-
Publish a self-contained build:
117+
Publish a self-contained Windows build:
164118

165119
```powershell
166120
dotnet publish ThreadPilot.csproj --configuration Release --runtime win-x64 --self-contained true
167121
```
168122

169-
Build release artifacts via script:
123+
Build release artifacts with the project script:
170124

171125
```powershell
172126
./build/build-release.ps1
173127
```
174128

175-
## Quality and Security
129+
## 🔐 Quality and Security
176130

177131
- CI validates build, formatting, analyzers, vulnerability checks, and secret scanning.
178-
- Security disclosures are handled through private GitHub advisories. See docs/SECURITY.md.
179-
- Change history is tracked in docs/CHANGELOG.md.
180-
181-
## Comparison with Process Lasso
132+
- Security disclosures are handled through private GitHub advisories. See [`docs/SECURITY.md`](docs/SECURITY.md).
133+
- Change history is tracked in [`docs/CHANGELOG.md`](docs/CHANGELOG.md).
134+
- Coverage focuses on business/application code and excludes generated build artifacts.
135+
136+
## 🧭 Project Documentation
137+
138+
- [`docs/README.md`](docs/README.md)
139+
- [`docs/CONTRIBUTING.md`](docs/CONTRIBUTING.md)
140+
- [`docs/CODE_OF_CONDUCT.md`](docs/CODE_OF_CONDUCT.md)
141+
- [`docs/RELEASE_SIGNING.md`](docs/RELEASE_SIGNING.md)
142+
- [`docs/release/PACKAGING.md`](docs/release/PACKAGING.md)
143+
- [`docs/reference/ARCHITECTURE_GUIDE.md`](docs/reference/ARCHITECTURE_GUIDE.md)
144+
- [`docs/reference/DEVELOPER_GUIDE.md`](docs/reference/DEVELOPER_GUIDE.md)
145+
- [`docs/reference/API_REFERENCE.md`](docs/reference/API_REFERENCE.md)
146+
- [`docs/reference/PROJECT_STRUCTURE.md`](docs/reference/PROJECT_STRUCTURE.md)
147+
- [`docs/reference/UI_STYLE_GUIDE.md`](docs/reference/UI_STYLE_GUIDE.md)
148+
149+
## 🗺️ Roadmap
150+
151+
- Expand unit and integration coverage for core services.
152+
- Continue async reliability refactoring for long-running monitoring paths.
153+
- Improve accessibility and localization readiness across major views.
154+
- Formalize release signing and distribution hardening.
182155

183-
| Capability | ThreadPilot | Process Lasso |
184-
|---|---|---|
185-
| Open source | Yes (AGPL v3) | No |
186-
| Rule-based power plan switching | Yes | Yes |
187-
| CPU affinity and priority controls | Yes | Yes |
188-
| Modern Windows 11 Fluent UI | Yes | Partial |
189-
| Scriptable CI release artifacts | Yes | Not applicable |
190-
| Package manager distribution | winget + Chocolatey | Varies by edition |
156+
## 🤝 Contributing
191157

192-
## Repository Docs
158+
Contributions are welcome. Before opening a pull request, please read [`docs/CONTRIBUTING.md`](docs/CONTRIBUTING.md) and [`docs/CODE_OF_CONDUCT.md`](docs/CODE_OF_CONDUCT.md).
193159

194-
- docs/README.md
195-
- docs/RELEASE_SIGNING.md
196-
- docs/reference/ARCHITECTURE_GUIDE.md
197-
- docs/reference/API_REFERENCE.md
198-
- docs/reference/DEVELOPER_GUIDE.md
199-
- docs/reference/PROJECT_STRUCTURE.md
200-
- docs/reference/UI_STYLE_GUIDE.md
201-
- docs/release/PACKAGING.md
160+
For bugs, feature requests, or packaging issues, open a GitHub issue with reproduction steps and your Windows version.
202161

203-
## Contributing
162+
## 📄 License
204163

205-
See docs/CONTRIBUTING.md and docs/CODE_OF_CONDUCT.md before opening pull requests.
164+
ThreadPilot is licensed under the **GNU Affero General Public License v3.0**. See [`LICENSE`](LICENSE).
206165

207-
## 🛠️ Roadmap
166+
## 💬 Support the Project
208167

209-
- Expand dedicated unit and integration coverage for core services.
210-
- Continue async reliability refactoring for long-running monitoring paths.
211-
- Improve accessibility and localization readiness in all major views.
212-
- Formalize release signing and distribution hardening.
213-
214-
## 📄 License
168+
<div align="center">
215169

216-
Licensed under GNU Affero General Public License v3.0. See LICENSE.
170+
**Built with care for Windows power users.**
217171

218-
## 📞 Support
172+
[![GitHub Issues](https://img.shields.io/badge/Report%20a%20Bug-GitHub%20Issues-d73a49?logo=github)](https://github.com/PrimeBuild-pc/ThreadPilot/issues)
173+
[![GitHub Discussions](https://img.shields.io/badge/Ask%20a%20Question-Discussions-6f42c1?logo=github)](https://github.com/PrimeBuild-pc/ThreadPilot/discussions)
174+
[![PayPal](https://img.shields.io/badge/Support%20Development-PayPal-00457C?logo=paypal&logoColor=white)](https://paypal.me/PrimeBuildOfficial?country.x=IT&locale.x=it_IT)
219175

220-
**Made with love for Windows power users☕** [PayPal.me](https://paypal.me/PrimeBuildOfficial?country.x=IT&locale.x=it_IT)
176+
If ThreadPilot is useful to you, consider starring the repository, opening thoughtful issues, sharing feedback, or supporting development with a small donation.
221177

222-
* **Issues**: [https://github.com/PrimeBuild-pc/ThreadPilot/issues](https://github.com/PrimeBuild-pc/ThreadPilot/issues)
223-
* **Discussions**: [https://github.com/PrimeBuild-pc/ThreadPilot/discussions](https://github.com/PrimeBuild-pc/ThreadPilot/discussions)
178+
</div>

0 commit comments

Comments
 (0)