コンテンツにスキップ
youtube-automation ドキュメント
Esc
navigateopen⌘Jpreview

v6.0.0 アップグレードガイド

1 チャンネル = 1 リポジトリで運用するための削除リリースです。このページは v6.0.0 公開後の追従手順です。タグが公開されるまでは実行せず、現在のバージョンを維持してください。

あなたのチャンネルへの影響

  • 独立したチャンネルリポジトリを使っている場合、制作データの移動は不要です。実行対象は cwd または CHANNEL_DIR で指定します。
  • 複数チャンネルを channels/<slug>/ に同居させている場合、v6.0.0 へ更新する前に、旧版の export CLI で独立リポジトリへ戻してください。手順の要点は後述します。
  • 共通の --channel / CHANNEL によるチャンネル切替は廃止します。独自スクリプトは対象リポジトリへ cd するか、CHANNEL_DIR に絶対パスを渡してください。分析対象の --competitor は継続します。
  • 旧構造専用の選択・import・状態表示・guard・export CLI は削除します。複数リポジトリの一覧・更新には yt-channels list / yt-channels update を使います。
  • OAuth client の共有ルート探索は廃止します。<channel>/auth/client_secrets.json、互換用の <channel>/automation/auth/client_secrets.json、linked worktree の main checkout の auth/client_secrets.json の順に探索します。CLIENT_SECRETS_DIR の明示指定、secret fallback、トークンとバックアップの扱いは変わりません。

SessionStart 自動追従と無効化

配布される settings の SessionStart hook は既定で更新確認を行います。main などのブランチ追従では、通常 checkout・デフォルトブランチ・追跡ファイルが clean・upstream ありの条件が揃うと yt-automation-update apply --commit --accept-hooks を実行します。更新差分は自動 commit されますが、push はしません。

tag pin は新しい版の通知のみ、SHA pin は対象外です。linked worktree、CI、dirty な作業ツリー、別セッションが追従中の場合は自動更新しません。local fix がある場合は上書きせず、対応方法を表示します。自動追従の失敗でセッション起動を止めません。

自動追従を無効にしたい場合は、Claude Code を起動するシェルで次を設定してください。継続して無効化する場合はシェルの設定へ保存します。

export YOUTUBE_AUTOMATION_DISABLE_SESSION_UPDATE=1

hook は起動プロセスの環境変数を読みます。この指定を .env に書くだけでは無効化されません。手動の yt-automation-update は引き続き使えます。

独立リポジトリへの戻し方(更新前)

export を含む v5.8.0 を使って、チャンネルごとに実施します。v6.0.0 では export CLI と専用の逆移行ページがなくなるため、この手順を更新前に完了してください。

  1. 対象チャンネルの制作・自動収集を停止し、channels/<slug>/ の追跡変更と未追跡ファイルを確認して必要な物を commit します。戻し先は旧リポジトリの外の、存在しないか空のディレクトリにします。

  2. 旧リポジトリの cwd で、以下を実行します。

    uv run yt-channel-export <slug> <destination> --dry-run
    uv run yt-channel-export <slug> <destination>

    メディアとチャンネル配下の auth/ もコピーします。元データは変更しません。外部 symlink は拒否し、.env はコピーしません。元と先のファイル数・サイズおよび config 読込を検証します。共有ルートにだけ置いていた OAuth client は、安全な経路で戻し先の auth/ へ用意してください。

  3. コピー完了後は旧チャンネルを凍結し、制作と自動収集を再開しないようにします。registry は旧パスを同じ位置で戻し先へ置換します。書込だけ失敗した場合は戻し先が残るため、CLI が表示した内容で registry を修正し、コピーを繰り返さないでください。

  4. 戻し先で git init -b main し、export 分を初回 commit にします。元の git ls-files -- channels/<slug> から接頭辞を除いた集合と、戻し先の git ls-files を比較します。差分が追加テンプレートの .gitignore / auth/client_secrets.template.json のみであること、秘密情報とメディアを stage していないことを確認します。旧 Git 履歴は引き継ぎません。

  5. /setup --tool で bootstrap し、export 分とは別 commit にします。必要なチャンネル固有の指示・権限設定・文書だけ手で移します。cloud の資格情報と設定は自動移行されないため、利用するチャンネルで /wf-new --schedule を設定し直します。

  6. 独立リポジトリを push し、yt-doctor/wf-statusyt-analytics --status と dashboard の表示先を確認します。最初のチャンネルで planning → upload、公開後処理、analytics、metadata audit を一周し、移行に起因する失敗がないことを確かめてから残りを移します。

  7. 全チャンネルのコピー・push・動作確認と registry の独立パスへの置換が完了してから、旧リポジトリを archive します。旧ディレクトリを削除する場合はメディアのコピーとバックアップを確認してください。検証中の切り戻しは新側の変更を保全してから、registry の .bak を確認して手で戻し、旧側の凍結を解除します。両側で制作しないでください。

実行手順(v6.0.0 公開後)

追跡ファイルを commit して clean にしてから、チャンネルリポジトリで実行します。local fix が検出されたら、差分を確認して解消してから進んでください。

tag pin

cd <your-channel-repo>
uv run yt-automation-update check
uv run yt-automation-update apply --tag v6.0.0 --commit --accept-hooks

main などのブランチ追従

cd <your-channel-repo>
uv run yt-automation-update check
uv run yt-automation-update apply --commit --accept-hooks

ブランチ追従は実行時点の最新 commit を取り込みます。v6.0.0 に固定する場合は tag pin を選んでください。SHA pin は自動更新されないため、pyproject.toml の参照を意図する tag または SHA に変更してから lock と配布資産を同期します。

--accept-hooks は配布 hook の反映を承認する指定です。手動確認したい場合は省略し、表示された差分と指示を確認してください。旧 guard hook の除去は settings 同期が行います。

追従後の確認

uv run yt-doctor --json
uv run yt-channel-status
uv run yt-skills diff
git status --short
git log -1 --oneline

診断と対象チャンネルが正しく、更新 commit の差分に問題がなければ git push します。registry を使う場合は uv run yt-channels list で独立リポジトリの一覧も確認します。

トラブルシューティング

  • 旧チャンネル選択引数がエラーになる: 呼出元の --channel を除き、対象リポジトリの cwd または CHANNEL_DIR を使ってください。
  • OAuth client が見つからない: OAuth セットアップ の探索順に沿ってチャンネルの auth/ を確認してください。トークンを削除して解決しようとしないでください。
  • local fix がある: yt-skills diff で確認し、必要な変更を保全してください。--force-sync は上書きするため、判断なしで追加しないでください。
  • 更新途中で失敗した: 残った更新差分を確認し、CLI の復旧案内に従ってください。再実行の --allow-dirty --commit は既存差分を commit 対象にしません。

関連: ADR-0029ツールのセットアップ

このページは役に立ちましたか?