.gitignoreをClaude Codeで自動生成させた話

.gitignoreをClaude Codeで自動生成させた話

新しいプロジェクトを始めるたびに、こんなことで手が止まっていませんか。

「.gitignoreって何を書けばいいんだっけ」

「とりあえずコピペしてきたけど、これで足りてるのかわからない」

「`__pycache__`とか`.DS_Store`とか、毎回同じものを検索してる気がする」

私はこれ、Claude Codeを使い始める前は本当に毎回やっていました。プロジェクトを作るたびに検索して、テンプレートっぽいものを探して、コピペして、それでも後から「あ、これも除外すべきだった」と気づいて追記する。地味に時間を食う作業でした。

結論から言うと、.gitignoreはClaude Codeに自動生成させれば一瞬で終わります。プロジェクトの中身を見せてプロンプトを1つ投げるだけです。この記事では、実際に使っているプロンプトと、なぜこれで安心して任せられるのかを整理します。

そもそも.gitignoreに何を書けばいいのか

.gitignoreは、Gitに「このファイルは追跡しなくていい」と伝えるための設定ファイルです。書いておくべきものは、だいたい次の3種類に分かれます。

1. 自動生成されるファイル

`__pycache__`、`node_modules`、ビルド成果物など。ソースコードから再生成できるものは、そもそもGitで管理する意味がありません。

2. 環境依存のファイル

`.DS_Store`(Mac)、`Thumbs.db`(Windows)、IDEの設定フォルダ(`.vscode/`や`.idea/`)など。自分のPC環境に固有のもので、他の人と共有すべきではないものです。

3. 秘密情報を含むファイル

`.env`やAPIキーを含む設定ファイル。これは自動生成うんぬん以前に、うっかりコミットすると外部に漏れる危険があるため、必ず除外すべきものです。

調べてみると、GitHub公式が言語・フレームワークごとのテンプレート集を公開しているほか、gitignore.io(Toptal社が運営するOSSプロジェクト)というテンプレート生成サービスもあります。使用言語やエディタを指定するだけで、必要な除外パターンをまとめて生成してくれる仕組みです。

ただ、これらのテンプレートは「言語ごとの一般的なパターン」を網羅する一方で、自分のプロジェクト固有の事情(独自のログ出力先やローカル設定ファイルなど)までは反映してくれません。結局、テンプレートをベースにしつつ自分で手直しする作業が残ります。

Claude Codeに.gitignoreを自動生成させてみた

そこで試したのが、Claude Codeにプロジェクトの中身を見せて.gitignoreを生成させる方法です。実際に使っているプロンプトはこちらです。


このプロジェクトのディレクトリ構成を確認して、.gitignoreファイルを作成してください。
使用している言語・フレームワーク・ツールに応じて、以下を漏れなく含めてください。
- 自動生成されるファイル・ディレクトリ(ビルド成果物、キャッシュなど)
- OS依存ファイル(.DS_Store、Thumbs.dbなど)
- IDE・エディタの設定フォルダ
- 環境変数・秘密情報を含むファイル(.envなど)
すでに.gitignoreが存在する場合は、内容を確認したうえで不足分だけ追記してください。
既存のルールを削除する場合は、削除理由と対象行を示し、私が確認してから反映してください。

これを実行すると、Claude Codeがプロジェクト内のファイル構成を実際に見て回り、「Pythonの仮想環境がある」「Node.jsのプロジェクトだ」といった判断をした上で、必要な除外パターンを提案してくれます。

実際に、Python用の`requirements.txt`とNode.js用の`package.json`が混在するプロジェクトで試してみました。`__pycache__`や`node_modules`、`.pytest_cache`、`.env`、`.DS_Store`といったファイル・ディレクトリを検出し、それぞれに対応する除外パターンを含んだ.gitignoreが生成されました。生成後に`git add -A`してみても、これらのファイルはステージング対象に含まれず、狙いどおり無視されていることを確認できています。

なお、これは私がMac + Claude Code CLI(2026年9月時点のバージョン)で試した結果です。使用しているOSやエディタ、プロジェクトの構成によって提案されるパターンは変わるので、実行後は必ず自分の目で内容を確認してください。

既存の.gitignoreに追記させる場合

新規プロジェクトだけでなく、すでに運用中のリポジトリで「.gitignoreが手薄だった」と気づくこともあります。その場合は、いきなり上書きさせず、差分を確認してから反映するのが安全です。


現在の.gitignoreの内容と、実際にGitが追跡しているファイル一覧を比較してください。
本来除外すべきなのに追跡されてしまっているファイルがあれば、一覧で教えてください。
.gitignoreへの追記案も提示してください。実際の追記・git rm --cachedの実行は、
私が差分を確認してから行ってください。不明点があれば推測せず、確認事項として列挙してください。

ここでのポイントは、「すでにコミットされてしまっているファイル」は.gitignoreに追記するだけでは追跡が止まらないという点です。Gitは一度追跡し始めたファイルを、.gitignoreに書いただけでは無視してくれません。追跡を止めるには`git rm –cached`のような操作が必要になり、これは既存のコミット履歴に影響する操作なので、内容を確認してから実行するようにしています。

まだ試せていないこと

正直に書くと、チーム開発での運用はまだ試せていません。個人開発の範囲では「聞けば作ってくれる」で困っていませんが、複数人のプロジェクトだと「誰かが個人用の除外ルールを混ぜてしまう」といった別の問題が出てきそうな気がしています。この点は、チームでの運用機会があれば改めて記事にする予定です。

また、`.gitignore`の内容が正しいかどうかを機械的に検証する方法(例えば「本当に必要なファイルまで除外していないか」のチェック)は、まだ調査ベースの域を出ていません。使ってみる予定はありますが、現時点では「生成後に自分の目で一度確認する」運用に留めています。

まとめ

  • .gitignoreに書くべきものは「自動生成物」「環境依存ファイル」「秘密情報」の3種類
  • GitHub公式テンプレートやgitignore.ioでも土台は作れるが、プロジェクト固有の事情までは反映されない
  • Claude Codeにプロジェクト構成を見せて生成させると、自分では気づかない除外漏れも拾ってくれる
  • 既存プロジェクトへの追記は、追跡済みファイルの扱いに注意しながら差分を確認して進める
  • チーム開発での運用や自動検証は、まだ試行中の段階

「.gitignoreに何を書くか」で悩む時間は、もう手放してもいい時代なのかもしれません。まずは一度、今使っているプロジェクトで試してみてください。

この記事の元になった連載について

Gitの基本操作をアプリで手を動かしながら学びたい方向けに、Git学習アプリ(`.gitignore`の扱いは第7章で解説)を公開しています。詳しくはgit-restore-hands-onの記事もあわせてご覧ください。

学習用Webアプリの続編は`app.maahsachi.com`で公開準備中です。

maah

この記事を書いた人

maah

非エンジニア。日々の業務にClaudeを取り入れた実体験を、初心者の目線で発信しています。