← スキル一覧に戻る

netninja-qt-compat
by aztr0nutzs
⭐ 0🍴 0📅 2025年12月29日
SKILL.md
name: netninja-qt-compat description: Implement and maintain NET-NiNJA's Qt compatibility logic: auto-select PyQt6 vs PyQt5 based on CPU features (SSE4.1/4.2), add and honor --gui=auto|qt6|qt5, and prevent premature PyQt6 imports that crash on legacy CPUs. Use when touching GUI startup, requirements, or hardware gating.
Netninja Qt Compat
Goal
Select the correct GUI backend at runtime (auto/Qt6/Qt5), guard imports to avoid crashes, and keep requirements consistent with the selected backend.
Read First
cpu_features.pyfor SSE4.1/4.2 detectionmain.pyandnetreaper_gui.pyfor startup flownetreaper_gui_legacy.pyfor legacy GUI entrylaunch_gui.bat,launch_gui.ps1for CLI surfacesrequirements.txt,requirements_legacy.txt,requirements_windows.txt
Workflow
- Decide backend selection rules:
--gui=qt6forces Qt6.--gui=qt5forces Qt5.--gui=autousescpu_features.pyand forces Qt5 if SSE4.1 or SSE4.2 is missing.
- Centralize selection logic in one function (e.g.,
select_gui_backend) that returns backend + reason. - Enforce import order: never import PyQt6 before the selection decision. Use conditional or local imports after selecting backend.
- Log the decision clearly (backend + reason) before GUI startup.
- Keep requirements aligned: Qt6 in modern requirements, Qt5 in legacy requirements. Ensure launcher docs reflect the CLI flag.
- Add a simple diagnostic command or log line that shows the detected CPU features and selected backend.
Output Expectations
- Runtime decision is deterministic and logged.
- Legacy CPUs never attempt PyQt6 import.
- CLI flag override works on all launch surfaces.
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です