1. スマートセットアップスクリプトのプラクティス
| プラクティス | 重要な理由 | 実行方法 |
|---|---|---|
| 依存関係順にコマンドを配置 | 後のコマンドは前のインストールに依存する可能性がある。 | パッケージインストールを最初に実行:npm ci && npm run build または pip install -r requirements.txt && pytest -q |
| 正確なパッケージマネージャーを使用 | 一貫したロックファイルがバージョンドリフトを防ぐ。 | 再現可能なビルドのために npm ci(npm install ではない)、pnpm -w i、または pip install -r requirements.txt を使用 |
| エラーハンドリングを追加 | 最初の失敗でビルドを停止し、デバッグ時間を節約する。 | 適切なエラーハンドリングのためにスクリプトを #!/usr/bin/env bash と set -euo pipefail で開始 |
| スクリプトを早期に実行可能にする | ビルド中の権限エラーを回避する。 | chmod +x ./scripts/setup.sh && bash ./scripts/setup.sh を追加するか、bash ./scripts/setup.sh を直接使用 |
| スクリプトをべき等に保つ | セットアップの再実行で問題が発生しないようにする。 | pip install --no-deps のようなフラグを使用するか、ファイルを作成する前に既存ファイルをチェック |
| 重い処理を最小限に抑える | 長いビルドはテンプレート作成を遅くする。 | 必要最小限のセットアップに集中し、オプションのツールは後で手動インストールに委ねる |
ヒント: セットアップスクリプトをまずローカルでテストしましょう。スクリプトはリポジトリルートでbashで実行され、厳密なエラーハンドリングのためにset -euo pipefailを追加できます。
2. スケールするワークフローパターン
Spin-Up-Per-Task
Spin-Up-Per-Task
Treat remote sessions as disposable: create one per ticket or PR, then archive when merged.
Benefits: perfect isolation, zero “works on my machine” drift.
Benefits: perfect isolation, zero “works on my machine” drift.
Parallel Environments
Parallel Environments
Need to test multiple branches? Launch two separate sessions; switch context without killing processes.
3. チームコラボレーションのヒント
| ヒント | 詳細 |
|---|---|
| テンプレートを明確に命名 | 追跡するリポジトリに従ってテンプレートに名前を付ける。例:factory-mono GitHub リポで作業するための factory-mono |
| エントリーコマンドを文書化 | 一般的なタスク(npm run dev、pytest)を含む AGENTS.md ファイルを追加。Droid がこのファイルを自動的に読み取ります |
5. トラブルシューティング一覧
| 症状 | 解決方法 |
|---|---|
| リビルドが遅い | .dockerignore を確認し、重いインストールをイメージにキャッシュし、軽量なベースを使用 |
| Git が認証情報を要求 | 統合 → リポジトリでリポジトリ統合が有効になっていることを確認 |
| ディスク容量不足エラー | パッケージキャッシュをプルーン(npm cache clean --force)するかテンプレートを再ビルド |
