03b2dd8363
D12 "build first" wrapper: `rigdoctor wrap %command%` (Steam launch option / Lutris/Heroic wrapper field) auto-brackets a focused diagnostic around a game — start a game-tagged capture on launch, clean stop on exit; a hard freeze leaves it unterminated → flagged as a crash next launch. - core/wrap.py: game name from SteamAppId, PATH-proof launch_option(), run() that doesn't disturb an existing capture and returns the game's exit code. - diagnostic.start() preserves an unanalyzed crash to diagnostic-crash.jsonl before clearing, so auto-relaunch can't wipe an unseen crash; pending_crash/ analyze_crash check the archive first. - GUI: "Auto-capture…" helper dialog (copyable launch-option string). - Tests for wrap (name resolution, exit-code passthrough, no-double-start). - docs: fix stale MODULES.md status column (M1/M3/M4/M5/M8/M10/M13 → done), update ROADMAP/MODULES for the wrapper + crash detection. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
27 lines
677 B
TOML
27 lines
677 B
TOML
[build-system]
|
|
requires = ["setuptools>=61"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "rigdoctor"
|
|
version = "0.16.0"
|
|
description = "Modular hardware monitoring & crash diagnostics for Linux gamers."
|
|
readme = "README.md"
|
|
requires-python = ">=3.11"
|
|
# Core/CLI/daemon are stdlib-only by design (D2). The GUI/tray modules will add
|
|
# PySide6 via an optional extra when those land.
|
|
dependencies = []
|
|
|
|
[project.optional-dependencies]
|
|
gui = ["PySide6", "pyte"]
|
|
|
|
[project.scripts]
|
|
rigdoctor = "rigdoctor.cli:main"
|
|
rigdoctor-gui = "rigdoctor.gui.app:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.setuptools.package-data]
|
|
rigdoctor = ["gui/assets/*.svg"]
|