Newer
Older
TIASjudge / docs / 02_ENV / ENV_04_開発コマンド.md

開発コマンド (Development Commands)

日常の開発で使うコマンド一覧.コマンドを実行する前に必ず本ファイルを参照する(推測でコマンドを試さない). コマンドが新しく確定・変更されたときは本ファイルを更新する.

前提: ENV_02_環境構築手順.md のセットアップが済んでいること. すべてリポジトリ直下(pyproject.toml のある場所)で実行する.OS(Windows / macOS)による差は無い.

環境 (Environment)

目的コマンド
依存パッケージを同期(初回・uv.lock 更新時)uv sync
依存パッケージを追加uv add <パッケージ>
開発用(テスト・lint 等)の依存を追加uv add --dev <パッケージ>
依存パッケージを削除uv remove <パッケージ>
インストール済みパッケージを確認uv pip list

※ pip install は使わない(ENV_02「環境再現性のルール」).

起動 (Run)

目的コマンド
アプリを起動(メイン画面)uv run python -m tiasjudge
コンソールスクリプトで起動uv run tiasjudge
起動可能性のみ確認(画面を出さずに終了)uv run python -m tiasjudge --check
同梱学習データと診断の動作のみ確認(画面を出さない)uv run python -m tiasjudge --verify-data

※ 診断を実行すると結果画面(モードレス)が開く.結果画面は表示専用で,言語切替と「閉じる」はメイン画面の「結果画面の操作」から行う. ※ ヘッドレス環境(画面の無い CI 等)では QT_QPA_PLATFORM=offscreen を付けて --check を実行する.

デバッグ用 (Debug)

結果画面の見た目を確認するためのデバッグ専用オプション.舌画像の読み込みや診断(SVM 学習)は行わず,ダミーの診断結果とダミー画像で結果画面だけを開く.

目的コマンド
結果画面をダミー結果で開く(成功パターン)uv run tiasjudge --preview-result
結果画面をダミー結果で開く(診断失敗パターン)uv run tiasjudge --preview-result --failed
結果画面を英語表示で開くuv run tiasjudge --preview-result --english
プレビュー画面の構築のみ確認(即終了)uv run tiasjudge --preview-result --check

※ 既定は日本語表示.結果画面は表示専用(言語切替ボタンを持たない)ため,英語表示の確認には --english を使う. ※ プライマリ以外のモニタがあればそこに最大化して開く(2 画面運用の確認.SPEC_01「表示先モニタ」参照).モニタ 1 台なら通常サイズで開く. ※ 結果画面を閉じるとアプリが終了する. ※ ダミー値は成功パターンが淡紅 55% / 紅 25% / 暗赤 10% / 紫 5% / 淡白 5%(上位 2 色は淡紅・紅),失敗パターンが旧実装の失敗時スコア組(紫 42 / 暗赤 0 / 紅 5 / 淡紅 11 / 淡白 3). ※ オプションを付けなければ通常起動・--check の挙動は変わらない.

テスト (Test)

目的コマンド
全テストを実行uv run pytest
特定ファイルを実行uv run pytest tests/core/test_color.py
特定テストを実行uv run pytest tests/core/test_color.py::test_xyz_to_lab
失敗時に詳細を表示uv run pytest -vv
最初の失敗で中断uv run pytest -x

※ テストが 1 件も収集されない場合,pytest は終了コード 5 で終わる.テスト対象の指定ミスを疑うこと.

lint・フォーマット (Lint & Format)

目的コマンド
lint チェックuv run ruff check .
lint の自動修正uv run ruff check --fix .
フォーマット実行uv run ruff format .
フォーマット差分の確認のみuv run ruff format --check .

コミット前の確認 (Pre-commit Checks)

以下の 3 つがすべて通ることを確認してからコミットする.

uv run ruff check .
uv run ruff format --check .
uv run pytest

配布用ビルド (Packaging)

Windows 単体 exe(onefile・コンソール非表示)を PyInstaller で作る(PLAN_02 ステップ 8).

目的コマンド
exe をビルドuv run pyinstaller TIASjudge.spec --noconfirm
ビルドした exe の起動確認(画面を出さない)dist/TIASjudge.exe --check
ビルドした exe の同梱データ・診断確認dist/TIASjudge.exe --verify-data
ビルド成果物を削除rm -r build dist(PowerShell: Remove-Item -Recurse build, dist)

※ 成果物は dist/TIASjudge.exe(約 93 MB).build/・dist/ は Git 管理外. ※ ビルド設定は リポジトリ直下の TIASjudge.spec,エントリスクリプトは packaging/entry.py. ※ data/data.csv は exe に同梱され,実行時に sys._MEIPASS/data/data.csv へ展開される.差し替えたい場合は環境変数 TIASJUDGE_DATA_CSV にパスを指定する. ※ ビルドは実行環境の OS 向けの成果物のみ作られる(Windows で Mac 用 app は作れない).

同梱データ (Bundled Data)

ファイル内容
data/data.csvSVM 学習データ(旧実装の data.csv を UTF-8 に変換して同梱.SPEC_02 参照)

※ 変換行列 CSV・舌画像は実行時にユーザーが選択するためリポジトリに含めない.