Newer
Older
SmTIAS-LightSim / docs / 02_ENV / ENV_03_管理者用環境構築手順.md

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

プロジェクト立ち上げ時に 一度だけ 実施する作業をまとめる.既に完了した項目もチェック付きで記録しておく.

1. GitHub リポジトリ作成(完了済み)

  •  rintoHasegawa/SmTIAS-LightSim を Private で作成
  •  main ブランチを作成・初期コミット
  •  programming-template から初回同期(/sync-template)
  •  SmTIAS/ と SmTIAS-Evaluation/ を .gitignore に追加(参照用ローカルコピーのため)

2. uv の動作確認(完了済み)

ローカル環境で uv をインストール済みであれば次へ.未導入であれば ENV_02_環境構築手順.md の手順 1 を実施.

3. プロジェクト初期化(完了済み)

3.1 pyproject.toml の生成

  •  以下を実行して pyproject.toml と src/sm_tias_lightsim/ を生成
    uv init --package --no-readme --no-workspace --vcs none --name sm-tias-lightsim --python 3.12 --no-description
    

3.2 LLVM の導入(Mitsuba 3 の必須ランタイム)

  •  winget install LLVM.LLVM を管理者権限で実行(C:\Program Files\LLVM\bin\LLVM-C.dll が配置される)

3.3 主要依存ライブラリの追加

  •  実行時依存
    uv add mitsuba numpy trimesh pillow matplotlib pandas
    
  •  開発時依存
    uv add --dev pytest ruff
    

3.4 Python バージョン固定

  •  uv init が .python-version を 3.12 で生成済み

3.5 ロックファイル

  •  uv add が uv.lock を自動生成・更新.コミット対象に含める

3.6 動作確認(実装フェーズ前にここまで)

  •  uv run python -c "import mitsuba as mi; mi.set_variant('llvm_ad_rgb'); print(mi.__version__, mi.variant())" でバージョン表示
  •  簡易レンダリング(球体 + 環境光)が (64, 64, 3) の輝度配列を返すことを確認

4. リポジトリ運用設定

4.1 デフォルトブランチの確認

  •  GitHub の Settings → Branches → Default branch が main になっていること

4.2 ブランチ保護(任意)

1 人運用のため必須ではないが,誤プッシュ防止に以下を推奨:

  • Settings → Branches → Add rule
  • Branch name pattern: main
  • Require a pull request before merging(チェック)
  • Require approvals は無効でよい(1 人運用のため)

未設定でも開発に支障はない.

4.3 Dependabot(完了済み)

依存パッケージの脆弱性検出と定期更新 PR.リポジトリ設定は既定で OFF のため,gh CLI で有効化済み(2026-08-29).

  •  Dependabot alerts(既知脆弱性の検出.依存グラフも同時に有効化される)
  •  Dependabot security updates(脆弱性を直す PR の自動作成)
# 有効化(冪等なので再実行してよい.admin 権限が必要)
gh api -X PUT repos/rintoHasegawa/SmTIAS-LightSim/vulnerability-alerts
gh api -X PUT repos/rintoHasegawa/SmTIAS-LightSim/automated-security-fixes

# 検証(前者は 204 で有効・404 で無効,後者は {"enabled":true} で有効)
gh api repos/rintoHasegawa/SmTIAS-LightSim/vulnerability-alerts
gh api repos/rintoHasegawa/SmTIAS-LightSim/automated-security-fixes

定期更新 PR の設定は .github/dependabot.yml(uv と github-actions の週次.マイナー/パッチは 1 PR にまとめる).上記の脆弱性検出とは独立に動く.

作られた PR の処理は /deps-update で行う(ゲート: メジャー更新でない・競合なし・CI 緑またはローカル検証緑).本リポジトリは CI 未導入のため,当面はローカル検証(uv run pytest)で判断する.

5. 外部サービス(任意・将来)

現時点では外部サービス連携は不要.以下は将来検討事項として残しておく:

  • CI / CD(GitHub Actions): pytest と ruff の自動実行.運用が安定してから導入する
  • GitHub Pages: シミュレーション結果のレポート公開用.現状は不要

これらは管理者がコンソール操作で設定する作業のため,AI からは実施しない.

6. メンバー追加時の手続き

  1. 新規参加者を GitHub リポジトリの Collaborator に追加(管理者の手動操作)
  2. 参加者は ENV_02_環境構築手順.md に従って自分の環境を構築