Skip to content

Commit 7b8c5cb

Browse files
author
FaulMit
committed
Sync docs and demo from product manifest
1 parent 0f986ee commit 7b8c5cb

13 files changed

Lines changed: 600 additions & 99 deletions

File tree

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: rigscope-maintenance
3+
description: Maintain RigScope feature, release, README, and GitHub Pages demo consistency. Use when changing RigScope UI, telemetry, benchmarks, stress tests, community sync, release/version metadata, demo behavior, README content, changelog entries, or GitHub Actions so public docs and the static demo stay synchronized with the desktop app.
4+
---
5+
6+
# RigScope Maintenance
7+
8+
## Workflow
9+
10+
1. Inspect the feature change and identify whether it affects public behavior, screenshots/demo behavior, README claims, changelog notes, release packaging, or scoreboard/community behavior.
11+
2. Update `docs/product-manifest.json` for public highlights, demo hardware fixtures, demo community profiles, native demo profiles, or demo copy. Treat this file as the source of truth for README generated blocks and the GitHub Pages demo fixtures.
12+
3. Run `npm run sync:docs` after manifest edits. This updates `README.md` generated sections and `public/demo-fixtures.js`.
13+
4. Keep generated README sections inside their markers:
14+
- `RIGSCOPE:CURRENT_HIGHLIGHTS`
15+
- `RIGSCOPE:DEMO_NOTE`
16+
5. Do not edit `public/demo-fixtures.js` by hand. Edit `docs/product-manifest.json`, then run the sync command.
17+
6. If changing app behavior, update `CHANGELOG.md` manually with user-facing changes.
18+
7. Validate with `npm test`, `npm run check:docs`, and `npm run verify`. For frontend or demo changes, also open the local app/demo in the browser and click the affected sections.
19+
20+
## Release Checks
21+
22+
- Ensure `package.json`, `package-lock.json`, `docs/product-manifest.json`, README release badge, and changelog version all describe the same release when preparing a release.
23+
- Ensure the GitHub Pages demo still loads `public/demo-fixtures.js` before `public/demo-api.js`.
24+
- Ensure GitHub Actions still runs generated-doc checks before Pages deploy and release packaging.
25+
26+
## Common Commands
27+
28+
```powershell
29+
npm run sync:docs
30+
npm run check:docs
31+
npm test
32+
npm run verify
33+
```
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
interface:
2+
display_name: "RigScope Maintenance"
3+
short_description: "Keep RigScope docs, demo, and releases in sync"
4+
default_prompt: "Use $rigscope-maintenance when changing RigScope features so README, demo fixtures, checks, and release notes stay synchronized."

.github/workflows/pages.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ jobs:
2828
- name: Checkout
2929
uses: actions/checkout@v5
3030

31+
- name: Check generated docs and demo fixtures
32+
run: node scripts/sync-docs-demo.js --check
33+
3134
- name: Check Pages configuration
3235
id: pages
3336
env:

.github/workflows/release.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@ jobs:
8989
shell: pwsh
9090
run: npm test
9191

92+
- name: Run preflight
93+
shell: pwsh
94+
run: npm run verify
95+
9296
- name: Decode Windows signing certificate
9397
if: runner.os == 'Windows' && env.WINDOWS_CERTIFICATE_BASE64 != ''
9498
shell: pwsh

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,15 @@ It gives you one place to inspect a PC, watch live telemetry, run quick benchmar
4747

4848
## Current Highlights
4949

50+
<!-- RIGSCOPE:CURRENT_HIGHLIGHTS:start -->
5051
- Hosted Community scoreboard powered by Cloudflare Workers + D1.
5152
- Static GitHub Pages demo with simulated hardware data and fake stress-test workflows.
5253
- Successful Community sync is stored online only; local storage is used as an offline fallback.
5354
- Faster live telemetry polling with user settings for theme and polling speed.
5455
- Improved Lab UX, stress-test visuals, loading/status states, and native-runner logs.
5556
- Fixed RAM/GPU stress behavior, benchmark formatting, RigScore undefined values, and scoreboard race conditions.
5657
- Release workflow now runs tests and can generate GitHub release notes from the changelog.
58+
<!-- RIGSCOPE:CURRENT_HIGHLIGHTS:end -->
5759

5860
## Features
5961

@@ -201,9 +203,11 @@ npm run verify # preflight checks
201203
npm run pack # unpacked desktop build
202204
```
203205

206+
<!-- RIGSCOPE:DEMO_NOTE:start -->
204207
The GitHub Pages demo publishes the `public/` folder and enables `demo-api.js` automatically outside localhost. It is useful for clicking through the interface, but all hardware data, benchmarks, stress tests, native runners, updates, and community sync are simulated.
205208

206209
If the Demo Site workflow says GitHub Pages is not enabled, open repository Settings > Pages and set Build and deployment Source to GitHub Actions, then rerun the workflow.
210+
<!-- RIGSCOPE:DEMO_NOTE:end -->
207211

208212
Release docs: [docs/RELEASE.md](docs/RELEASE.md).
209213

docs/product-manifest.json

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
{
2+
"app": {
3+
"name": "RigScope",
4+
"tagline": "One clean cockpit for your whole PC.",
5+
"version": "1.1.0",
6+
"repository": "https://github.com/FaulMit/rigscope",
7+
"liveDemo": "https://faulmit.github.io/rigscope/",
8+
"scoreboardUrl": "https://rigscope-scoreboard.faulmit.workers.dev"
9+
},
10+
"readme": {
11+
"currentHighlights": [
12+
"Hosted Community scoreboard powered by Cloudflare Workers + D1.",
13+
"Static GitHub Pages demo with simulated hardware data and fake stress-test workflows.",
14+
"Successful Community sync is stored online only; local storage is used as an offline fallback.",
15+
"Faster live telemetry polling with user settings for theme and polling speed.",
16+
"Improved Lab UX, stress-test visuals, loading/status states, and native-runner logs.",
17+
"Fixed RAM/GPU stress behavior, benchmark formatting, RigScore undefined values, and scoreboard race conditions.",
18+
"Release workflow now runs tests and can generate GitHub release notes from the changelog."
19+
],
20+
"demoNote": [
21+
"The GitHub Pages demo publishes the `public/` folder and enables `demo-api.js` automatically outside localhost. It is useful for clicking through the interface, but all hardware data, benchmarks, stress tests, native runners, updates, and community sync are simulated.",
22+
"If the Demo Site workflow says GitHub Pages is not enabled, open repository Settings > Pages and set Build and deployment Source to GitHub Actions, then rerun the workflow."
23+
]
24+
},
25+
"demo": {
26+
"banner": "Live demo: all hardware data and stress tests are simulated",
27+
"uptimeHours": 9.4,
28+
"system": {
29+
"machineName": "DEMO-RIG",
30+
"hostname": "demo-rig",
31+
"platform": "win32",
32+
"arch": "x64",
33+
"os": "Microsoft Windows 11 Pro",
34+
"build": "26200",
35+
"cpu": "AMD Ryzen 9 5900X 12-Core Processor",
36+
"cpuManufacturer": "AuthenticAMD",
37+
"cpuSocket": "AM4",
38+
"cpuArchitecture": "x64",
39+
"cpuFamily": "25",
40+
"cores": 12,
41+
"threads": 24,
42+
"maxClockMhz": 4950,
43+
"l2Kb": 6144,
44+
"l3Kb": 65536,
45+
"gpu": "NVIDIA GeForce RTX 3060 Ti",
46+
"gpuVideoProcessor": "GA104",
47+
"gpuDriverVersion": "32.0.15.7652",
48+
"gpuDriverDate": "2026-03-18T00:00:00.000Z",
49+
"vramMb": 8192,
50+
"memoryTotalMb": 32768,
51+
"memoryTotalGb": 32,
52+
"memorySticksMb": [8192, 8192, 8192, 8192],
53+
"memorySlots": ["A1", "A2", "B1", "B2"],
54+
"memoryManufacturer": "G.Skill",
55+
"memoryPart": "F4-3600C16-8GTZNC",
56+
"memorySpeedMhz": 3600,
57+
"boardManufacturer": "ASUSTeK COMPUTER INC.",
58+
"boardProduct": "PRIME X470-PRO",
59+
"biosVendor": "American Megatrends Inc.",
60+
"biosVersion": "6202",
61+
"biosReleaseDate": "2025-09-18T00:00:00.000Z",
62+
"installDate": "2025-11-15T10:12:00.000Z"
63+
},
64+
"displays": [
65+
{ "name": "DELL S2721DGF", "manufacturer": "Dell", "serial": "DEMO-MON-01", "width": 2560, "height": 1440, "refreshRate": 165, "primary": true },
66+
{ "name": "LG 27GL850", "manufacturer": "LG", "serial": "DEMO-MON-02", "width": 2560, "height": 1440, "refreshRate": 144, "primary": false }
67+
],
68+
"disks": [
69+
{ "name": "C:", "label": "System", "model": "Samsung SSD 980 PRO 1TB", "totalGb": 930, "freeGb": 412, "usedPct": 56, "busType": "NVMe", "interface": "PCIe 4.0", "mediaType": "SSD", "firmware": "5B2QGXA7" },
70+
{ "name": "D:", "label": "Projects", "model": "Crucial MX500 2TB", "totalGb": 1860, "freeGb": 1280, "usedPct": 31, "busType": "SATA", "interface": "SATA", "mediaType": "SSD", "firmware": "M3CR046" },
71+
{ "name": "E:", "label": "Archive", "model": "Seagate BarraCuda 4TB", "totalGb": 3720, "freeGb": 2215, "usedPct": 40, "busType": "SATA", "interface": "SATA", "mediaType": "HDD", "firmware": "0001" }
72+
],
73+
"communityProfiles": [
74+
{
75+
"id": "demo-7800x3d-4080",
76+
"source": "scoreboard",
77+
"name": "Aurora 4080 Desk Rig",
78+
"owner": "demo_creator",
79+
"score": 8840,
80+
"scoreLabel": "High-end desktop",
81+
"scoreConfidence": 92,
82+
"cpu": "AMD Ryzen 7 7800X3D",
83+
"gpu": "NVIDIA GeForce RTX 4080 SUPER",
84+
"memory": "32 GB DDR5",
85+
"storage": "2 TB NVMe",
86+
"board": "ROG STRIX B650E-F",
87+
"os": "Windows 11 Pro",
88+
"bench": { "cpu": "742,000 ops/sec", "memory": "4096/4096 MB", "gpu": "188 fps", "sensors": "CPU 41% - RAM 49% - GPU 62C 71%" }
89+
},
90+
{
91+
"id": "demo-5900x-3060ti",
92+
"source": "scoreboard",
93+
"name": "Creator 3060 Ti Workstation",
94+
"owner": "faulmit_demo",
95+
"score": 6395,
96+
"scoreLabel": "Strong gaming PC",
97+
"scoreConfidence": 74,
98+
"cpu": "AMD Ryzen 9 5900X",
99+
"gpu": "NVIDIA GeForce RTX 3060 Ti",
100+
"memory": "32 GB DDR4",
101+
"storage": "2 NVMe + 2 SSD",
102+
"board": "PRIME X470-PRO",
103+
"os": "Windows 11 Pro",
104+
"bench": { "cpu": "614,000 ops/sec", "memory": "4096/4096 MB", "gpu": "112 fps", "sensors": "CPU 28% - RAM 43% - GPU 54C 39%" }
105+
}
106+
],
107+
"toolkit": [
108+
{ "id": "nvidia-smi", "name": "NVIDIA SMI", "category": "Sensors", "available": true, "version": "555.85" },
109+
{ "id": "hwinfo", "name": "HWiNFO", "category": "Sensors", "available": false, "version": "" },
110+
{ "id": "prime95", "name": "Prime95 / mprime", "category": "CPU stress", "available": true, "version": "demo" },
111+
{ "id": "furmark", "name": "FurMark", "category": "GPU stress", "available": true, "version": "demo" },
112+
{ "id": "occt", "name": "OCCT", "category": "Stability suite", "available": false, "version": "" },
113+
{ "id": "y-cruncher", "name": "y-cruncher", "category": "CPU / memory stress", "available": false, "version": "" },
114+
{ "id": "smartctl", "name": "smartctl", "category": "Storage", "available": true, "version": "7.4" }
115+
],
116+
"nativeProfiles": [
117+
{
118+
"id": "prime95-small-fft",
119+
"toolId": "prime95",
120+
"label": "Prime95 Small FFT (demo)",
121+
"available": true,
122+
"executable": "demo://prime95",
123+
"risk": "high",
124+
"durationDefaultSec": 300,
125+
"durationMaxSec": 600,
126+
"notes": "Demo mode simulates the launch only. No external process is started.",
127+
"safety": { "maxDurationSec": 600, "recommendedMonitor": "In the real app, watch CPU package temperature and VRM temperature." }
128+
},
129+
{
130+
"id": "furmark-1080p",
131+
"toolId": "furmark",
132+
"label": "FurMark Burn-in 1080p (demo)",
133+
"available": true,
134+
"executable": "demo://furmark",
135+
"risk": "high",
136+
"durationDefaultSec": 300,
137+
"durationMaxSec": 600,
138+
"notes": "Demo mode shows the workflow without launching FurMark.",
139+
"safety": { "maxDurationSec": 600, "recommendedMonitor": "In the real app, watch GPU temperature, hotspot, fan speed, and power draw." }
140+
}
141+
]
142+
}
143+
}

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
"scoreboard:cf:migrate": "npx wrangler@latest d1 execute rigscope-scoreboard --remote --file scoreboard/cloudflare/schema.sql --config scoreboard/cloudflare/wrangler.toml",
2424
"scoreboard:cf:deploy": "npx wrangler@latest deploy --config scoreboard/cloudflare/wrangler.toml",
2525
"verify": "node scripts/preflight.js",
26+
"sync:docs": "node scripts/sync-docs-demo.js",
27+
"check:docs": "node scripts/sync-docs-demo.js --check",
2628
"test": "node scripts/run-tests.js",
2729
"release:notes": "node scripts/release-notes.js",
2830
"desktop": "electron .",

public/app.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1662,9 +1662,9 @@ function renderNetwork(inv) {
16621662
<span>Description</span><strong>${esc(n.description)}</strong>
16631663
<span>Link speed</span><strong>${esc(n.linkSpeed)}</strong>
16641664
<span>MAC</span><strong>${esc(n.mac)}</strong>
1665-
<span>IPv4</span><strong>${esc((n.ipv4 || []).join(", "))}</strong>
1666-
<span>Gateway</span><strong>${esc((n.gateway || []).join(", "))}</strong>
1667-
<span>DNS</span><strong>${esc((n.dns || []).join(", "))}</strong>
1665+
<span>IPv4</span><strong>${esc(prettyValue(n.ipv4))}</strong>
1666+
<span>Gateway</span><strong>${esc(prettyValue(n.gateway))}</strong>
1667+
<span>DNS</span><strong>${esc(prettyValue(n.dns))}</strong>
16681668
</div>
16691669
</div>
16701670
`), "No network adapter data");

0 commit comments

Comments
 (0)