00:00:00Claude Codeに驚くほど大量の
00:00:02アップデートが最近届きました。Claude DesktopのSSH対応や
00:00:05アプリのプレビュー、GitHubとの連携、
00:00:07そしてターミナルの「シンプルモード」まで。
00:00:09シンプルモードではスキルやプラグイン、カスタムツールが除外され、
00:00:11基本的なタスクを簡単にこなせます。
00:00:13しかし、最大のアップデートは何と言っても「ネイティブ・ワークツリー対応」です。
00:00:16これにより、AIエージェントが複数の機能開発や
00:00:18バグ修正を、それぞれ独立して進められるようになります。
00:00:20手動での設定は一切必要ありません。
00:00:23ですが、リリースを急ぎすぎたのでしょうか?
00:00:25すでに多くの開発者が基本的な問題に直面しています。
00:00:28チャンネル登録をして、詳しく見ていきましょう。
00:00:30コーディング・エージェントでGitのワークツリーを使うのは、目新しいことではありません。
00:00:33実際、Claude Desktopには以前から搭載されていましたし、
00:00:35対応するプラグインやツールも数多く存在します。
00:00:37以前動画で紹介した「Claude Squad」などがその一例です。
00:00:41しかし、私が個人的にあまり使ってこなかった理由は、
00:00:43手動での管理が思考の負荷(メンタルロード)を増やすからです。
00:00:46Claude Codeのこの新機能が、
00:00:49その作業を大幅に楽にしてくれることを期待しています。
00:00:50さっそく試してみましょう。
00:00:51ここにClaudeがReactで作成した、シンプルなToDoアプリがあります。
00:00:54テスト目的以外では、わざわざ
00:00:56このようなアプリを作ることはないでしょうが。
00:00:58ともかく、眩しくて目が痛いので
00:01:01ダークモードの切り替え機能を追加したいと思います。
00:01:02それから、リフレッシュすると消えてしまうので、
00:01:04ローカルストレージに保存する機能も欲しいですね。
00:01:07さらに、ToDoを編集できる機能も追加しましょう。
00:01:10通常なら、これらすべての機能を一つのプロンプトにまとめます。
00:01:12「ダークモード、保存機能、
00:01:14編集機能を追加して」という具合に。
00:01:16その際の問題点は、どれか一つの機能にバグがあった場合、
00:01:20全体を修正しなければならないことです。
00:01:22すべての機能が同じPR(プルリクエスト)やブランチにあるため、
00:01:25他の機能のリリースまで遅れてしまいます。
00:01:28しかし、ワークツリーを使えば、
00:01:28これらの機能を別々のブランチで、
00:01:31ローカル環境で同時に開発することができます。
00:01:33面倒な手動設定は必要ありません。
00:01:35もし一つの機能に問題が見つかっても、
00:01:37他の二つは先にプッシュしてしまい、
00:01:39問題のある機能だけを専用のブランチで修正し続けられます。
00:01:41その方法をお見せしましょう。
00:01:42Claude Codeを「-w」フラグを付けて実行すると、
00:01:45Claudeがランダムに名前を付けた
00:01:47ワークツリーが作成されます。
00:01:49おや、「Lacan」?
00:01:50まあいいでしょう。
00:01:52ワークツリーに特定の名前を付けたい場合は、
00:01:54「-w」フラグの後に名前を指定します。
00:01:56ここに表示されるように入力します。
00:01:58すると、新しいワークツリーがこちらに作成され、
00:02:00新しいブランチも同時に作成されます。
00:02:02ただし、以前作成したワークツリーは削除されません。
00:02:05一時的なワークツリーを大量に作る場合は、
00:02:06この点に注意してください。
00:02:08プロジェクト内の「.claud」ディレクトリの「worktrees」フォルダを見れば、
00:02:11作成されたワークツリーを確認でき、
00:02:13関連するすべてのコードファイルが表示されます。
00:02:15なお、ワークツリー機能を利用するには、
00:02:16プロジェクトでGitが初期化されており、
00:02:18少なくとも一度はコミットされている必要があります。
00:02:20これで、それぞれのワークツリーを使って
00:02:22各機能を実装していく準備が整いました。
00:02:243つの機能すべての実装が完了しました。
00:02:26こちらではダークモードの切り替えが機能しています。
00:02:29こちらにはダークモードはありませんが、
00:02:31ToDoの編集が可能です。
00:02:32新しく追加して、ここで変更できますね。
00:02:35ローカルストレージの保存機能には問題があるようですが、
00:02:38これこそがワークツリーのメリットです。
00:02:40他の二つが正常であることを確認できるからです。
00:02:43正常な方はコミットしたりPRを作成したりして、
00:02:44問題のあるものだけに集中できます。
00:02:46専用のClaude Codeセッションを立ち上げて、
00:02:48この問題を修正すればいいのです。
00:02:49ワークツリーでの作業が終わったら、
00:02:51後で戻れるように保持しておくことも、
00:02:53システムから削除することも可能です。
00:02:54保持することを選んだ場合は、
00:02:55このように名前を指定すれば、
00:02:58まったく同じワークツリーに復帰できます。
00:03:00現在のワークツリーからセッションを再開したり、
00:03:03Ctrl + Wを押して、このプロジェクトの全セッションを表示したりもできます。
00:03:06ただ、現在メインブランチにいるので、
00:03:07今のセッションがどのように判別されているのかは、
00:03:08少し分かりにくい部分もあります。
00:03:11セッションの話のついでですが、
00:03:12ワークツリーのディレクトリで作業したい場合は、
00:03:15直接「cd .claud/worktrees/...」と移動するか、
00:03:19あるいは「--tmux」フラグを付けて実行すれば、
00:03:21そのディレクトリに直接移動できます。
00:03:23新しくペインを分割して開くと、
00:03:26そこがワークツリー内であることが分かります。
00:03:27ワークツリー特有のファイルを操作できます。
00:03:30しかし、ワークツリーの最も素晴らしい点は、
00:03:31「サブエージェント」をサポートしていることです。
00:03:33つまり、一つのClaude Codeセッションの中で、
00:03:35異なるサブエージェントを使い、別々のブランチで
00:03:38複数の機能を同時並行で開発させることができるのです。
00:03:40カスタム・サブエージェントでワークツリーを使いたい場合、
00:03:42つまりエージェント起動時に自動でワークツリーを作成させるには、
00:03:45フロントマターに「isolation: worktree」を追加するだけで、
00:03:48あとはClaudeがすべて処理してくれます。
00:03:50全体として、この機能には非常に感銘を受けました。
00:03:52間違いなくこれから
00:03:54活用していくことになるでしょう。
00:03:55特に新しいワークツリー・フックを使えば、
00:03:57Git以外のSVNやJujutsuなどでも利用でき、
00:04:02新しいワークツリー作成時にスクリプトを
00:04:04自動実行することも可能です。
00:04:05残念ながら、最新のClaude Codeアップデート以降、
00:04:08ワークツリーで問題が発生しているという報告が
00:04:09多くのユーザーから寄せられています。
00:04:11機能フラグの不具合が原因のようです。
00:04:13幸い、一時的な措置として、Claude Code自身に
00:04:17自身のバイナリを修正させることもできますが、
00:04:18開発チームが正式な修正をリリースし、より多くの人が
00:04:21この素晴らしい機能を体験できるようになることを願っています。
00:04:24素晴らしい機能といえば、
00:04:25もしあなたがReact開発者で、Reactのアンチパターンを
00:04:28自動検知するCLIツールを探しているなら、
00:04:31Andrisによる「React Doctor」の
00:04:33紹介動画をぜひチェックしてみてください。