GitHubのREADME用にファイルツリーを作る方法

ファイルツリー(プロジェクトのフォルダとファイルを示す小さなASCII図)があると、READMEは一気に読みやすくなります。このガイドでは、作成する信頼できる3つの方法と、GitHub上で枝が正しく揃うように貼り付ける方法を紹介します。

最速の方法:オンラインASCIIツリー生成ツール

コマンドラインもインストールも不要。フォルダ構成を視覚的に作成し、UnicodeとプレーンASCIIのコネクタを切り替え、整った図をワンクリックでコピーできます。

ASCIIツリー生成ツールを開く

方法1 — treeコマンド

主要なOSには、ディレクトリ構成をテキストで出力するtreeコマンドが標準搭載されている(またはインストールできる)。

macOSやLinuxでは必要に応じてインストールし(brew install tree または sudo apt install tree)、プロジェクトのフォルダで実行します。不要なフォルダを除外するには -I を使います:

Windowsではコマンドが標準搭載されています。ドキュメント化したいフォルダで実行してください:

ターミナルの出力をコピーし、下の「GitHubで正しく表示させる」セクションに進んでください。

macOS / Linux
tree -I 'node_modules|.git|dist'

方法2 — オンラインASCIIツリー生成ツール

コマンドラインを使いたくない場合や、まだディスク上に存在しない構成をドキュメント化する場合は、オンライン生成ツールが最も簡単です。

ビジュアルエディタでフォルダやファイルを追加し、ドラッグ&ドロップで並べ替え、Unicode(├──)またはプレーンASCII(|--)のコネクタを選んで結果をコピーします。何もアップロードされず、すべてブラウザ内で完結します。

方法3 — VS Code拡張機能

いくつかのVS Code拡張機能(「file tree to text」で検索)は、任意のフォルダを右クリックして「ファイルツリーを生成」するアクションを追加し、Markdownで出力します。

エディタ内で作業する人には便利ですが、除外するフォルダの指定は、treeコマンドや専用の生成ツールほど細かく制御できません。

GitHubで正しく表示させる

どの方法でツリーを作っても、GitHubは等幅フォントを使うときだけ枝を揃えて表示します。ツリーをコードブロックで囲みましょう。前後にそれぞれ独立した行でバッククォート3つを置きます:

コードフェンスがないと、GitHubはプロポーショナルフォントでテキストを表示し、│ や ├── の文字がずれてしまいます。

README.md 内で
```
my-project
├── src
│   └── index.ts
└── README.md
```

UnicodeとASCIIのコネクタ

Unicodeコネクタ(├──、│、└──)は見た目がきれいで、GitHubや最近のエディタでそのまま表示されます。基本的にはこちらを使いましょう。

プレーンASCIIコネクタ(|--、|、\--)は基本文字のみを使います。古い端末やプレーンテキストのメール、Unicodeを確実に表示できない環境ではこちらを選びます。

出力例
my-project
├── src
│   ├── index.ts
│   └── utils.ts
├── tests
│   └── index.test.ts
├── package.json
└── README.md

よくある質問

ツリーからnode_modulesを除外するには?
treeコマンドでは -I でパターンを無視します。例:tree -I "node_modules|.git|dist"。オンライン生成ツールでは、単にそれらのフォルダを追加しなければOKです。
GitHubでファイルツリーがずれるのはなぜ?
ほとんどの場合、ツリーがコードブロック内に入っていないためです。バッククォート3つで囲み、GitHubに等幅フォントを使わせましょう。
何もインストールせずにファイルツリーを作れますか?
はい。ブラウザだけで動く無料のオンラインASCIIツリー生成ツールを使えば、構成を視覚的に作って結果をコピーできます。