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

プロジェクト作成時に一度だけ行う初期設定．管理者が実施する．

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

```bash
gh repo create MiniTIAS --private
```

※ GitHub CLI（`gh`）が未認証の場合は `gh auth login` を先に実行する．

## セットアップスクリプトの作成 (Create Setup Script)

メンバーが環境を構築する際に使用するスクリプトを作成し，リポジトリに含める．

### ディレクトリ構成

```text
MiniTIAS/
├── scripts/
│   └── setup.ps1
```

### `scripts/setup.ps1` の内容

```powershell
# MiniTIAS 開発環境セットアップスクリプト
# 使用方法: .\scripts\setup.ps1

Write-Host "=== MiniTIAS Setup ===" -ForegroundColor Cyan

# Scoop の確認
if (-not (Get-Command scoop -ErrorAction SilentlyContinue)) {
    Write-Host "[ERROR] Scoop がインストールされていません．" -ForegroundColor Red
    Write-Host "以下を実行してください:" -ForegroundColor Yellow
    Write-Host "  Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser"
    Write-Host "  Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression"
    exit 1
}

# extras バケットの追加
Write-Host "[1/4] Scoop extras バケットを追加..." -ForegroundColor Green
scoop bucket add extras 2>$null

# Flutter SDK
Write-Host "[2/4] Flutter SDK をインストール..." -ForegroundColor Green
scoop install flutter

# Android Studio
Write-Host "[3/4] Android Studio をインストール..." -ForegroundColor Green
scoop install extras/android-studio

# GitHub CLI
Write-Host "[4/4] GitHub CLI をインストール..." -ForegroundColor Green
scoop install gh

Write-Host ""
Write-Host "=== インストール完了 ===" -ForegroundColor Cyan
Write-Host ""
Write-Host "次の手順:" -ForegroundColor Yellow
Write-Host "  1. Android Studio を起動してセットアップウィザードを完了する"
Write-Host "  2. flutter doctor --android-licenses を実行する"
Write-Host "  3. flutter doctor で環境を確認する"
Write-Host "  4. gh auth login で GitHub にログインする"
Write-Host ""
Write-Host "詳細は docs/02_ENV/ENV_02_環境構築手順.md を参照してください．"
```

## VS Code 設定ファイルの作成 (Create VS Code Config)

### `.vscode/extensions.json`

推奨拡張機能を定義する．

```json
{
  "recommendations": [
    "Dart-Code.flutter",
    "Dart-Code.dart-code"
  ]
}
```

### `.vscode/settings.json`

プロジェクト固有の設定を定義する．

```json
{
  "editor.formatOnSave": true,
  "dart.flutterSdkPath": null,
  "[dart]": {
    "editor.defaultFormatter": "Dart-Code.dart-code",
    "editor.rulers": [80]
  }
}
```

## `.gitignore` の作成 (Create .gitignore)

Flutter プロジェクト作成時（`flutter create`）に自動生成されるが，必要に応じて以下を追加する．

- `.env` — 環境変数（機密情報）
- `*.jks` — Android 署名キー

## Flutter プロジェクトの作成 (Create Flutter Project)

```bash
flutter create --org com.example mini_tias
```

※ パッケージ名・組織名は正式に決定してから実行する．

## チェックリスト (Checklist)

管理者は以下をすべて完了させてからメンバーに展開する．

- [ ] GitHub リポジトリの作成（private）
- [ ] `scripts/setup.ps1` の作成・動作確認
- [ ] `.vscode/extensions.json` の作成
- [ ] `.vscode/settings.json` の作成
- [ ] `.gitignore` の確認
- [ ] Flutter プロジェクトの作成（`flutter create`）
- [ ] 初回コミット・プッシュ
- [ ] メンバーにリポジトリへのアクセス権を付与
