7f0ab9a635
One `logging_enabled` toggle (default off) gates everything (D25): - core/applog.py: rotating app.log (no-op unless enabled); setup() at GUI/CLI start. - core/diagstore.py: each diagnostic stored in DATA_DIR/diagnostics/<id>/ (capture, result.json, report.txt, scoped gamelogs, ai/ records of exactly what was sent to the model + which model + the reply). make_report() zips a diagnostic (+ app.log) into DATA_DIR/reports/. - diagnostic.finish()/analyze_crash() store when enabled; DiagnosticResult.dir. - GUI: Settings → Logging toggle; "Report" button on the diagnostic dialog; AI interactions recorded into the diagnostic dir on "Explain with AI". - CLI: `rigdoctor bundle` (report is taken by the M4 health report). - Tests for store/record_ai/make_report + applog gating; docs (D25, M15, Phase 8). 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.30.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"]
|