# 管理者用環境構築手順 (Administrator Setup)

プロジェクト作成時に **一度だけ** 行う初期設定．

## GitHub リポジトリの作成 (Repository Creation)

private リポジトリとして作成する（臨床データは含めないが，研究途中のコードを公開しないため）．

```bash
gh repo create rintoHasegawa/TIASJudgeModel --private --source=. --remote=origin \
  --description "舌画像から舌色 5 分類を推定する機械学習モデル（TIASjudge 用）"
```

## リポジトリのセキュリティ設定 (Repository Security Settings)

Dependabot alerts（脆弱性検出）と Dependabot security updates は**リポジトリごとに既定で OFF** なので，作成直後に有効化する（冪等なので再実行してよい）．

```bash
gh api -X PUT repos/rintoHasegawa/TIASJudgeModel/vulnerability-alerts
gh api -X PUT repos/rintoHasegawa/TIASJudgeModel/automated-security-fixes
```

検証:

```bash
gh api repos/rintoHasegawa/TIASJudgeModel/vulnerability-alerts       # 204 なら有効（404 なら無効）
gh api repos/rintoHasegawa/TIASJudgeModel/automated-security-fixes   # {"enabled":true,...} なら有効
```

※ 依存バージョンの定期更新は `.github/dependabot.yml` で設定する（別物．リポジトリ設定とは独立に動く）．

## Newton 側の初期設定 (Server Setup)

```bash
mkdir -p ~/work/TIASJudgeModel        # コード置き場（push で上書きされる）
mkdir -p ~/data/TIASJudgeModel        # データ置き場（push の対象外）
chmod 700 ~/data/TIASJudgeModel       # 共用サーバなので自分だけに絞る
```

コードを初回送信したあと，サーバ上で以下を確認する．

```bash
cd ~/work/TIASJudgeModel
uv sync
uv run python -c "import torch; print(torch.cuda.is_available(), torch.cuda.device_count())"
```

`uv sync` は CUDA 版 PyTorch が入るため時間がかかる．`True` と GPU 台数が出ることを確認する．`False` の場合は [ENV_01「CPU / GPU の依存差」](ENV_01_技術スタック.md)に従う．

## 臨床データの初回コピー (Initial Data Copy)

原本は研究室 PC に置き，**研究室 LAN 内で Newton へ一度だけコピーする**．手元 PC を経由させない．

1. 研究室 PC で作業する（**`hostname` で研究室 PC であることを確認してから実行する**）
2. 研究室 PC から Newton へコピーする（例: `scp -r <データ> Newton:~/data/TIASJudgeModel/`）
3. コピー後に件数を突き合わせる（両側でファイル数を数える）
4. 原本は研究室 PC に残す（Newton 側は作業用コピー）

以降は再転送しない．データセットの内容確認（枚数・クラス分布・破損チェック）はサーバ上のコマンドで行い，**集計結果のみ**を手元で見る．

## 学外アクセス用の踏み台 (Off-campus Access)

研究室 PC を ProxyJump の踏み台にする設定は SmTIAS-LightSim で構築済みのため，本プロジェクトでの追加作業は不要（未設定の場合は同プロジェクトの `docs/02_ENV/ENV_02_環境構築手順.md`「学外から接続する（研究室 PC 経由）」に従う）．

## 人間が確認すべき事項 (Human Checklist)

Claude は実施できない．着手前に確認する．

- 臨床データの倫理審査・データ利用許諾の範囲（機械学習での二次利用が含まれるか）
- データを研究室の共用計算サーバに置くことが規程上許容されるか
- 研究室 PC で SSH サーバを動かすことが研究室のルールに照らして問題ないか
