【完全ガイド】AI用コードTXT出力ツールを自作してみた!フォルダ構成&HTML/JSファイルを一括TXT化

未分類

最近は ChatGPT や Copilot を使ったプログラミングが増え、ファイルの中身をひとつひとつコピー&ペーストする手間が意外と大きいことに気づきました。

そこで、ディレクトリ以下の構成とファイル内容をまとめて TXT 出力できる Python3 製ツール txt_exporter.py を作成しました。

1. できること

  • フォルダ構成をツリー形式で表示
  • 指定拡張子のファイルを再帰的に収集(指定がなければすべてのファイル)
  • ファイル名に続けて各ファイルの中身を TXT に書き出し

レポート作成やコードレビュー、AI へのプレ入力データ作成などに便利です。

最新のサンプルコード全文はこちらの Gistをご覧ください。

2. ツールの特徴

2.1 フォルダ構成をツリー表示

-t または --tree を指定すると、ディレクトリ以下をツリー形式で先頭に出力します。

project-root/
    index.html
    src/
        app.js
        utils.js

2.2 対象拡張子を自由に指定可能

新たに -x/--extensions オプションを追加しました。拡張子フィルタを柔軟に指定できます。

  • 指定なし
    すべてのファイルを対象に再帰探索
  • 指定あり
    引数で列挙した拡張子のみを対象(例:js html py)。ドット.の有無は問わず、大/小文字を区別しません。

使い方例

# カレント以下のすべてのファイルを出力
$ python3 txt_exporter.py -o all.txt

# .js と .html ファイルだけを出力
$ python3 txt_exporter.py -x js html -o web.txt

# .py ファイルだけを出力(ドット付きでも可)
$ python3 txt_exporter.py --extensions .py -o scripts.txt

2.3 除外ディレクトリの指定

-e または --exclude を複数回指定すると、再帰的にスキップしたいフォルダを除外できます。

例:-e node_modules -e .git

2.4 簡単なCLI操作

$ python3 txt_exporter.py -d myproject -t -e node_modules -x js html -o report.txt

上記コマンドで myproject 以下を解析し、report.txt にまとめて出力します。

3. インストール&セットアップ

  1. Python3 を用意
    macOS/Linux では標準インストール済みが多く、Windows は公式サイトからダウンロード、インストールしてください。
  2. Gist からコードを取得
    Gist.GitHubからクローンします。
    $ git clone https://gist.github.com/nanosize/aa2cbb7cd9a5c09bb4b3a71f98853870.git
    $ cd aa2cbb7cd9a5c09bb4b3a71f98853870
  3. 実行権限を付与(UNIX 系のみ)
    $ chmod +x txt_exporter.py

4. 使い方詳細

usage: txt_exporter.py [-h] [-d DIRECTORY] [-t] [-e EXCLUDE] [-x EXTENSIONS [EXTENSIONS ...]] [-o OUTPUT]
  • -d, --directory 対象フォルダ(デフォルトはカレントディレクトリ)
  • -t, --tree フォルダ構成を先頭にツリー表示
  • -e, --exclude 除外フォルダ名(複数指定可)
  • -x, --extensions 対象拡張子(例:js html py)。省略時はすべてのファイルを対象
  • -o, --output 出力ファイル名(デフォルト:output.txt

4.1 ツリーをテキストの先頭に表示

$ python3 txt_exporter.py -t

4.2 ファイル内容のみ出力

$ python3 txt_exporter.py -o files.txt

4.3 拡張子と除外フォルダを組み合わせ

$ python3 txt_exporter.py -t -e node_modules -x js html -o project_report.txt

5. 出力例

myproject/
    index.html
    src/
        main.js
        helper.js

index.html

…

src/helper.js
export function add(a, b) {
    return a + b;
}

6. まとめ

「txt_exporter.py」はドキュメント生成やコードレビュー、AI へのプレ入力データ作成などの用途で使用できるツールです。ぜひ試してみてください!

タイトルとURLをコピーしました