Newer
Older
SmTIAS-Evaluation / docs / 02_ENV / ENV_04_開発コマンド.md

開発コマンド (Development Commands)

日常の開発で使うコマンドの一覧.人間とエージェントがコマンドを推測せずに済むよう,ここを唯一の参照先とする.コマンドが確定・変更されたら本ファイルに反映する.

※ すべてプロジェクトルートで実行する.uv run 経由で実行すれば仮想環境の有効化は不要(構築手順は ENV_02).グローバルの Python には pytest 等が入っていない.

依存パッケージ (Dependencies)

# uv.lock どおりに .venv を同期(clone 直後・pull 後・依存更新 PR の検証前)
uv sync

# 依存の追加・削除(pyproject.toml と uv.lock が更新される.開発用は --dev)
uv add <パッケージ>
uv remove <パッケージ>

# ロックの更新(全体 / 特定パッケージ)
uv lock --upgrade
uv lock --upgrade-package <パッケージ>

依存更新の検証スイート (Verification Suite)

/deps-update のローカル検証など,依存を更新した後に「壊れていないか」を確かめるときはこの 2 つを実行する.

uv sync
uv run pytest

※ ruff check は既存コードに違反が残っている(主に E501 行長)ため,現時点では検証スイートに含めない.

テスト (Test)

# 全テスト(testpaths = tests は pyproject.toml で設定済み)
uv run pytest

# 特定のテストファイル・詳細出力
uv run pytest tests/analysis/test_uniformity.py
uv run pytest -v

テストの書き方は .claude/rules/testing.md を参照.

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

# lint(設定は ruff.toml)
uv run ruff check .

# 自動修正・フォーマット
uv run ruff check . --fix
uv run ruff format .

解析スクリプト (Analysis Scripts)

# PNG の照明均一性評価(単一画像 / ディレクトリ一括)
uv run python scripts/run_uniformity.py --image data/smtias/whiteboard/xxx.png
uv run python scripts/run_uniformity.py --image data/smtias/whiteboard/

# DNG の照明均一性評価
uv run python scripts/run_uniformity_dng.py --image data/smtias/quantitative/xxx.dng

# ROI の対話的選択(config/roi_config.json に保存)
uv run python scripts/select_roi.py --image data/smtias/whiteboard/xxx.png --key smtias.whiteboard

# 結果ビューア
uv run streamlit run scripts/viewer.py
  • scripts/compare_*.py・plot_radial_clean.py 等の比較・作図スクリプトは,各ファイル冒頭の docstring「使い方」を参照する(python を uv run python に読み替える)
  • 入力は data/,出力は output/(いずれも Git 管理外)

Claude Code フックのテスト (Hook Tests)

.claude/hooks/ のフックを変更した場合,またはテンプレート同期後に実行する(標準ライブラリのみで動く).

python -m unittest discover -s .claude/hooks/tests -p "test_*.py"