Strata
マイクロサービスのコードを「層」として読むための可視化ツールです。 Go / TypeScript / JavaScript / Python / Elixir / Protocol Buffers / GraphQL を横断し、 関数レベルの呼び出しから、gRPC・HTTP・GraphQL のサービス境界越えまでを 1 枚のグラフにします。
strata serve ./my-monorepo # ブラウザで構造・API・アーキ図を見る
strata check ./my-monorepo # CI で循環依存・禁止依存・しきい値を検査する
これは何を解決するツールか
マイクロサービスで一番きついのは、「この処理、どこを通ってる?」が誰にも分からなくなることです。
- リポジトリが分かれていて、全体像を持っている人がいない
- proto を見ても、その RPC を実際に誰が呼んでいるかは分からない
- REST・GraphQL・gRPC が混在していて、追跡がプロトコルごとに途切れる
- 「この API はもう使われていない」と言い切れないので、消せないコードが増える
Strata はこれを静的解析だけで(サービスを起動せず、トレース基盤も入れず)埋めます。 設計の背景は なぜこの形なのか にまとめました。
Strata の性格
- 🔒 完全ローカル・送信ゼロ(テレメトリも更新チェックもなし。外部通信コードが存在しない)
- 📦 実行時依存ゼロ(
node_modulesを作らない) - ⚡ 速い(実測: 1,050 ファイル / 1,644 ノードのモノレポを 0.26 秒)
- 🪶 軽い(本体コード 約 530KB。バイナリは Node 同梱で 37MB)
- 🔧 言語のツールチェーン不要(Go 未インストールでも Go を解析できる)
- 🌐 オフラインで完結、📤
exportで 1 枚の自己完結 HTML
操作に迷ったら、まずカーソルを合わせてください。 画面のほぼすべての要素に、 「何が起きるか」を説明するチップが出ます。
?キーでショートカット一覧も開けます。
3 分で試す
# Node.js 22.18 以降があれば、ビルド不要でそのまま動きます
git clone https://github.com/makoto-developer/strata.git
cd strata
node src/cli.ts serve examples/demo
macOS(Apple Silicon)ならダブルクリックで使えるアプリと 単一実行ファイルもあります。
ドキュメントの歩き方
| 目的 | ページ |
|---|---|
| なぜこういう設計なのかを知りたい | なぜこの形なのか |
| とりあえず動かしたい | インストールと最初の一歩 |
| 画面の見方を知りたい | 画面の全体像 |
| ボタンの機能を知りたい | ボタンと操作の一覧(画像つき) |
| 線や色の意味を知りたい | 構造ビューの読み方(画像つき) |
| API の追い方を知りたい | API タブの読み方(画像つき) |
| gRPC 以外(REST / GraphQL)も追いたい | プロトコル横断の追跡 |
| CI に組み込みたい | CI で構造を守る |
| コマンド・設定を調べたい | CLI リファレンス / 設定リファレンス |
| 質問したい | サポート |