ファイル操作
Claude Codeでの安全で効率的なファイル操作。ファイルの作成、編集、管理をリスクなく行う。
プレミアムコースコンテンツ
このレッスンはプレミアムコースの一部です。Proにアップグレードすると、すべてのプレミアムコースとコンテンツを利用できます。
- すべてのプレミアムコースを利用
- 1,000以上のAIスキルテンプレート付き
- 毎週新しいコンテンツを追加
🔄 前回のおさらい: レッスン4でタスクオーケストレーション——タスクの分解、計画→実装のパターン、反復改善を学びました。ここではClaudeが実際にファイルを変更する時の安全で効率的な方法を学びます。
Claudeはファイルを変更できる
これは強力です。同時に責任も伴います。
Claude Codeはファイルの作成、編集、削除ができます。うまく使えば生産性が大幅に向上します。不注意に使えば混乱を招きます。
このレッスンでは、ファイル操作を安全かつ効率的に行う方法を学びます。
セーフティネット:Git
Claudeに重要な作業をさせる前に、確認すべきこと:
クリーンなワーキングディレクトリ
git status # クリーンまたはコミット済みであるべき現在のブランチを把握
git branch # 自分がどこにいるか確認こまめにコミット 良い変更の後はコミット。問題が起きても常に戻れます。
Gitがセーフティネットです。 Gitがあれば、Claudeのどんなミスも復元可能です。
ファイル操作パターン
新しいファイルの作成
> src/utils/string-helpers.jsに新しいユーティリティファイルを作成して
> 関数:capitalize、truncate、slugify
Claudeがコンテンツ付きでファイルを作成。先に進む前にレビュー。
関連する複数ファイルの場合:
> 新しい「コメント」機能の以下のファイルを作成して:
> - src/models/comment.js(データモデル)
> - src/services/comment-service.js(ビジネスロジック)
> - src/routes/comments.js(APIルート)
> - tests/comments.test.js(テストスケルトン)
関連ファイルをまとめて作成すると整合性が保たれやすい。
既存ファイルの編集
必ず先にファイルを追加:
/add src/auth/login.js
> ログイン関数にレートリミットを追加して。1分あたり最大5回まで。
Claudeがファイルを見て、コンテキストを理解し、的確な変更を行います。
変更箇所を具体的に:
> handleSubmit関数で、API呼び出しの前にバリデーションを追加して。
> emailの形式が正しいこと、パスワードが8文字以上であることを確認。
具体的な指示→正確な変更。
マルチファイル編集
ファイル間で整合性のある変更が必要な場合:
/add src/types/user.ts src/services/user-service.ts src/routes/users.ts
> User型にオプショナルの"phoneNumber"フィールドを追加して。
> サービスとルートも対応するよう更新して。
関連ファイルをすべてコンテキストに→整合性のある変更。
✅ 確認クイズ: Claudeにファイル変更を指示する前に
/addで対象ファイルを追加すべき理由は?→Claudeがファイルの既存コード、構造、パターンを理解した上で変更できるからです。ファイルが見えていないと、推測に基づく変更になり、既存のコードとの整合性が取れない可能性があります。
レビュー戦略
インラインレビュー
各変更の後、続ける前にレビュー:
> createUser関数にバリデーションを追加して
# Claudeが変更
> diffを見せて
# 変更を確認
> いいね。次にバリデーションのテストを追加して。
Git Diffレビュー
Claudeが変更した後:
git diff src/auth/login.js # 何が変わったか正確に確認
複雑な変更にはインラインレビューよりgit diffのほうが明確なことが多い。
段階的レビュー
大きな変更の場合:
> 機能Xを実装して
# Claudeが多数の変更を行う
git add -p # インタラクティブにステージング
git commit -m "Part 1: モデル変更"
# ステージングを続ける
git add -p
git commit -m "Part 2: サービス層"
論理的なチャンクでレビューしてコミット。
リカバリー手順
/undo
Claudeの最後の変更を即座に取り消し:
/undo
望まない変更を見つけたらすぐに使う。さらに作業を進める前が最も効果的。
Git Reset
まだコミットしていない場合:
git checkout -- src/file-that-got-messed-up.js
ファイルを最後のコミット状態に復元。
Stashしてやり直し
散らかってしまったら:
git stash # 現在の変更を退避
# Claudeでやり直し
git stash pop # 必要なら変更を戻す
効率化テクニック
関連する変更をバッチ処理
遅い:
> Userモデルに"createdAt"フィールドを追加して
> 次に"updatedAt"フィールドを追加して
> 次に"lastLoginAt"フィールドを追加して
速い:
> Userモデルにタイムスタンプフィールドを追加して:
> - createdAt:ユーザー作成日時
> - updatedAt:最終更新日時
> - lastLoginAt:最終ログイン日時
関連する変更は1リクエストで。
テンプレートベースの作成
> src/routes/users.jsのパターンに従って、新しいAPIルートファイルを5つ作成して:
> - products.js
> - orders.js
> - inventory.js
> - categories.js
> - suppliers.js
Claudeはパターンを効率的に複製します。
まとめ
- Gitがセーフティネット——こまめにコミット、簡単に巻き戻し
- 変更をリクエストする前にファイルを常にコンテキストに追加
- 何をどこで変えるか具体的に指示
- 先に進む前に変更をレビュー
- リカバリーに
/undoとgitを活用 - 関連する変更はバッチ処理で効率化
次のレッスン: Bashコマンドの統合による強力な自動化を学びます。
理解度チェック
まず上のクイズを完了してください
レッスン完了!