# 開発コマンド (Development Commands)

日常の開発で使うコマンドの一覧．**コマンドを推測せず必ず本ファイルを参照する**（新しく確定・変更された時は本ファイルに反映する）．

※ 学習・評価・リモート実行のコマンドは未実装のため本ファイルには未記載（実装時に追記する）．

## 環境 (Environment)

| 目的 | コマンド | 備考 |
| --- | --- | --- |
| 依存の同期 | `uv sync` | 初回・`pyproject.toml` 変更後．手元には CPU 版 PyTorch が入る |
| 依存の追加 | `uv add <パッケージ>` | `uv.lock` が更新されるのでコミットする |
| 開発用依存の追加 | `uv add --dev <パッケージ>` | pytest・ruff 等 |
| Python の実行 | `uv run python <スクリプト>` | 仮想環境を明示的に有効化しなくてよい |

## テスト (Test)

| 目的 | コマンド |
| --- | --- |
| 全テスト | `uv run pytest` |
| 特定ファイル | `uv run pytest tests/test_package.py` |
| 詳細表示 | `uv run pytest -v` |

臨床データに依存するテストは書かない（合成データで動くテストのみ）．

## Lint / Format

| 目的 | コマンド |
| --- | --- |
| Lint | `uv run ruff check .` |
| Lint（自動修正） | `uv run ruff check --fix .` |
| Format | `uv run ruff format .` |

※ `.claude/` はテンプレート所有のため ruff の対象外（`pyproject.toml` の `extend-exclude`）．テンプレート由来のフックのテストは `uv run pytest .claude/hooks/tests` で実行する．

## フック (Hooks)

| 目的 | コマンド | 備考 |
| --- | --- | --- |
| フックのテスト | `bash .claude/hooks/tests/test_hooks.py` 相当を `uv run pytest .claude/hooks/tests` | テンプレート由来．`.claude/` の変更時に確認する |

## 未実装のコマンド (Planned)

実装した時点で本ファイルに追記する．

- データセットの集計（サーバ上で実行．枚数・患者数・クラス分布・破損チェック）
- 学習・評価
- リモート実行（コード送信・ジョブ実行・結果回収・GPU 空き確認）
