はじめに
自分でログ分析を行うために開発しているオープンソースのCLIログ分析ツールTWSLA
のコマンドが増えて、コマンド体系を手動で描くのが大変になってきたので、AI(Gemini CLIさん)とMarkMapを使って簡単かつ正確に可視化する方法を思いついたので紹介します。
AIを使う以前
この方法で作成する以前は、MacのSimpleMind
というマインドマップを作成するソフトを使って人力で描いていました。
画像としドキュメントに挿入していました。
開発していくうちにコマンドが増えて、描く場所がなくなってきました。上や下に伸ばしても人力でメンテナンスするのは限界です。
AIに相談
Geminiさんに相談すると
Mermaid.js
を使う方法とMarkmap
でマインドマップ化する方法を教えてくれました。
マインドマップのほうが見やすいと思うので2つ目の方法を詳しく教えてもらいました。
作成する手順
Gemini CLIでコマンド体系をマークダウン化
TWSLAは、Cobra
で開発しているのでコマンドは/cmdフォルダーに保存されているます。そこでGemini CLIさんに
cmd/ ディレクトリ内のソースコードを読み、twsla コマンドのCLIコマンド体系を Markmap 形式で cli-map.md ファイルに出力してください。
のようにお願いするとファイルを作ってくれました。
# twsla CLI
## Global Flags
- `--config`: config file (default $HOME/.twsla.yaml)
- `-d, --datastore`: Bblot log db (default "./twsla.db")
- `-t, --timeRange`: Time range
- `-f, --filter`: Simple filter
- `-r, --regex`: Regexp filter
- `-v, --not`: Invert regexp filter
- `--sixel`: show chart by sixel
## Commands
### ai
- `ai <filter>...`: AI-powered log analysis
- Flags
markmap-cliでHTMLに変換
次のコマンドで
$npx markmap-cli cli-map.md -o cli-map.html
を実行します。
エラーがなければ、ブラウザーが開いて
のようなインタラクティブに操作可能なマインドマップが表示されます。
実際のサイト
ログ分析ツールTWSLAのマニュアル
の中にリンクを配置しています。
元のマークダウンは、
マインドマップは、
です。
15分ぐらいで簡単にできました。CI/CDに組み込んで自動化とかしたいところですが、AIの料金とか心配なので、手動で更新にしておきます。
他のCLIツールも同じ方法で対応しようと思います。

