はじめに
CodeWeaverは、コード・ベースを単一の見やすいMarkdownドキュメントに編むために設計されたコマンドライン・ツールです。ディレクトリを再帰的にスキャンし、各ファイルの内容をコードブロックに埋め込むことで、プロジェクトのファイル階層を構造化した表現を生成します。このツールは、コードベースの共有と情報抽出を簡素化することを目標に設計されており、特にAI/MLコード解析ツールがコードベース情報を処理できるようにするのに適しています。

https://github.com/tesserato/CodeWeaver/blob/main/codebase.md。
機能一覧
- 包括的なコードベースのドキュメント生成プロジェクトのディレクトリとファイル構造をわかりやすいツリー形式で記述したMarkdownファイルを生成します。
- コード・コンテンツの埋め込み生成されたMarkdownドキュメントに各ファイルの全内容を埋め込み、ファイル拡張子に基づいたシンタックスハイライトを表示します。
- 柔軟なパスフィルタリング正規表現を使って無視パターンを定義し、特定のファイルやディレクトリ(例:.git、ビルド製品、特定のファイルタイプ)を除外することができます。
- オプションのルートロギング無視ルールの詳細な追跡とデバッグのために、含まれるファイルパスと除外されるファイルパスの個別のリストをファイルに保存するオプション。
- シンプルなコマンドラインインターフェイス直感的なコマンドラインインターフェイスと、わかりやすいカスタマイズオプションを提供します。
ヘルプの使用
設置プロセス
Goを使ったインストール
Go言語環境がインストールされている場合、以下のコマンドを実行することで最新版のCodeWeaverをインストールすることができます:
go install github.com/tesserato/CodeWeaver@latest
または、指定されたバージョンをインストールする:
go install github.com/tesserato/CodeWeaver@vX.Y.Z
コンパイル済みの実行ファイルをダウンロードする
リリースページから適切なコンパイル済み実行ファイルをダウンロードしてください。
必要であればchmod
コマンドで実行ファイルに実行権限を与える:
chmod +x codeweaver
使用プロセス
ヘルプを得る
以下のコマンドを実行すると、ヘルプ情報が表示されます:
codeweaver -h
実用
以下のコマンドを実行して文書を生成する:
codeweaver [options]
オプションの説明
オプション | 説明 | デフォルト値 |
---|---|---|
-ディレクトリ | スキャンされログに記録されるルートディレクトリ。 | 現在のディレクトリ(...) |
-出力 | Markdownファイルの名前を出力します。 | コードベース.md |
-無視 "" | 特定のパスを除外するためのパスの正規表現パターンをカンマで区切ったリスト。 | .git.* |
-インクルード・パスファイル | 文書内のパスのリストを含むファイルを保存する。 | ない |
-除外パスファイル | 無視ルールにより除外されるパスのリストを保持するファイル。 | ない |
-ヘルプ | このヘルプメッセージを表示して終了する。 | ない |
使用例
現在のディレクトリのドキュメントを生成する
./codeweaver
このコマンドは、カレント・ディレクトリにcodebase.md
これは、カレントディレクトリとそのサブディレクトリの構造と内容を記録するファイルである(excludeはデフォルトの無視パターンにマッチする)。\.git.*
(道)。
異なる入力ディレクトリと出力ファイルを指定する
./codeweaver -dir=my_project -output=project_docs.md
このコマンドはmy_project
ディレクトリに保存しproject_docs.md
.
特定のファイルタイプやディレクトリを無視する
./codeweaver -ignore="\.log,temp,build" -output=detailed_docs.md
この例ではdetailed_docs.md
を含む名前を除く。.log
そしてtemp
もしかしたらbuild
ファイルまたはディレクトリの正規表現パターンはカンマで区切られる。
含まれるパスと除外されるパスのリストを保持する
./codeweaver -ignore="node_modules" -included-paths-file=included.txt -excluded-paths-file=excluded.txt -output=code_overview.md
このコマンドはcode_overview.md
に含まれるパスのリストを保存する。included.txt
これは以下の理由による。node_modules
無視パターンによって除外されるパスのリストはexcluded.txt
.