Complexity CLI — プロジェクト複雑性トラッキングツール

Tool

概要

complexity-cli は、プロジェクトの「どれだけ概念が複雑か」「どの知識が必要か」を継続的に記録し可視化することを目的とした CLI ツールです。Markdown テンプレートを使って知識項目や依存関係、責任範囲などを整理でき、チームが「何を知らなければならないか」を明文化します。npm でグローバルにインストールして使えるため、CI やプルリクエストのレビュープロセスに組み込みやすく、AI(LLM)を使ったドキュメント生成・要約との相性も良い設計が意図されています。小規模なリポジトリで始められ、徐々にプロジェクト全体の知識マップ構築に寄与します。

GitHub

リポジトリの統計情報

  • スター数: 3
  • フォーク数: 0
  • ウォッチャー数: 3
  • コミット数: 6
  • ファイル数: 8
  • メインの言語: TypeScript

主な特徴

  • 知識マップと概念的複雑性を Markdown テンプレートで記録・管理できる。
  • npm グローバルインストール可能な軽量 CLI(開発者フレンドリーな導入)。
  • AI フレンドリーな出力(構造化 Markdown)により LLM を使った要約や生成と相性が良い。
  • シンプルなワークフローでチーム内のオンボーディングや保守性評価に活用可能。

技術的なポイント

complexity-cli は TypeScript で実装された CLI ツールで、npm パッケージとして配布されています。CLI の主な利点は、軽量かつファイルベース(Markdown)で知識を扱う点にあり、特別なデータベースを必要とせずリポジトリ自体にドキュメントを保持できるため Git と自然に連携します。テンプレート(Complexity.template.md)を用意しておくことで、プロジェクトごとに統一されたフォーマットで「何を知っておくべきか」を記録でき、時間経過での変化や担当者の明確化にも使えます。

「AI フレンドリー」という設計指針は、構造化された Markdown 出力が LLM にとって扱いやすく、要約や補完、質問応答のプロンプト作成に流用しやすい点を指します。例えば、テンプレートに沿って項目を追加・更新することで、CI で自動要約を生成したり、プルリクエスト時に新たに増えた概念を検出してレビュアーに通知するといった応用が可能です。

実装面では、TypeScript の型安全性によりコマンド実行時の引数やテンプレートパースの検証が行いやすく、将来的な拡張(新しいテンプレート、エクスポート形式、外部 API 連携)に強い土台を提供します。現状はファイル数・コミット数が少ない小さなプロジェクトですが、この構成はOSSとしての貢献や社内ツール化に適しており、ドキュメント主導で複雑性を測るというアプローチは特に分散チームや頻繁に人が入れ替わるプロジェクトで効果を発揮します。

また、リポジトリに含まれる package-lock.json や npm バッジからパッケージ配布が想定されるため、グローバルインストール後のエンドユーザー体験(コマンドラインでのテンプレート生成や README への埋め込みなど)も設計されています。今後の発展としては、可視化(グラフ生成)、CI 統合、既存ドキュメントの自動解析による初期知識マップ生成、さらにはメトリクスの時系列保存といった機能追加が考えられます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: Git 無視設定ファイル。ビルド成果物や node_modules 等を除外するための基本ファイル。
  • Complexity.template.md: シンプルな知識マップ/複雑性記述用の Markdown テンプレート。プロジェクトで統一的に記録するための雛形。
  • LICENSE: ライセンス情報。OSS 利用時の利用条件が記載されている。
  • README.md: プロジェクトの使い方や導入手順、開発向けの案内がまとめられた主要ドキュメント。npm バッジやインストール例が記載。
  • package-lock.json: 現在の依存関係ロックファイル。再現可能なインストールを補助する。 …他 3 ファイル

まとめ

シンプルな設計で導入が容易、チームの知識管理と複雑性可視化に有用な TypeScript 製 CLI ツール。

リポジトリ情報:

READMEの抜粋:

complexity-cli

npm package

A CLI tool for managing project complexity and knowledge maps. Perfect for tracking what developers need to know to work on your project, with AI-friendly workflows.

Installation

npm install -g complexity-cli

Local Development

If you want to contribute or develop locally:

git clone https://github.com/SamBWagner/complexity-cli.git
cd co...